Местные системы координат в WKT 2: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 8 промежуточных версий этого же участника)
Строка 6: Строка 6:
Во времена QGIS 2 системы координат представляли в формате PROJ4. По возможностям он практически эквивалентен формату OGC WKT 1. Следует отметить общее в обоих форматах задание трансформации датума через элемент TOWGS84. Также общим является отсутствие дополнительных преобразований, что ставило под вопрос возможность определения городских и строительных систем координат, такие преобразования использующих.
Во времена QGIS 2 системы координат представляли в формате PROJ4. По возможностям он практически эквивалентен формату OGC WKT 1. Следует отметить общее в обоих форматах задание трансформации датума через элемент TOWGS84. Также общим является отсутствие дополнительных преобразований, что ставило под вопрос возможность определения городских и строительных систем координат, такие преобразования использующих.


В QGIS 3 стандартом описания систем координат стал формат WKT 2. Важным его отличием от предшественника стало использование преобразований. Помимо прочего, это сделало ненужным элемент TOWGS84 и сняло затруднения с определением городских систем координат.
В QGIS 3 стандартом описания систем координат стал формат WKT 2. Важное его отличие от предшественника использование преобразований. Помимо прочего, это сделало ненужным элемент TOWGS84 и сняло затруднения с определением городских систем координат.


На момент написания статьи действуют спецификации OGC ''Well-known text representation of coordinate reference systems''.<ref>[https://www.opengeospatial.org/standards/wkt-crs Geographic information – Well-known text representation of coordinate reference systems] — Open Geospatial Consortium</ref> Они зафиксированы в стандарте ISO 19162:2019.<ref>[https://www.iso.org/standard/76496.html ISO 19162:2019 Geographic information – Well-known text representation of coordinate reference systems] — International Organization for Standardization</ref>
На момент написания статьи действуют спецификации OGC ''Well-known text representation of coordinate reference systems''.<ref>[https://www.opengeospatial.org/standards/wkt-crs Geographic information – Well-known text representation of coordinate reference systems] — Open Geospatial Consortium</ref> Они зафиксированы в стандарте ISO 19162:2019.<ref>[https://www.iso.org/standard/76496.html ISO 19162:2019 Geographic information – Well-known text representation of coordinate reference systems] — International Organization for Standardization</ref>
Строка 59: Строка 59:


Обратите внимание на элемент BBOX. Благодаря ему программы могут при выборе системы координат показать пользователю на карте прямоугольник, охватывающий область действия системы координат. Он содержит величины ''Широта минимальная'', ''Долгота минимальная'', ''Широта максимальная'', ''Долгота максимальная'' в системе координат WGS 84.
Обратите внимание на элемент BBOX. Благодаря ему программы могут при выборе системы координат показать пользователю на карте прямоугольник, охватывающий область действия системы координат. Он содержит величины ''Широта минимальная'', ''Долгота минимальная'', ''Широта максимальная'', ''Долгота максимальная'' в системе координат WGS 84.
Также BBOX определяет выбор подходящих трансформаций.


=== Системы координат с особым датумом ===
=== Системы координат с особым датумом ===
Строка 67: Строка 69:
* трансформация из датума в WGS 84 имеется в EPSG, но относится к другому датуму.
* трансформация из датума в WGS 84 имеется в EPSG, но относится к другому датуму.


Известен пример МСК-33<ref>[https://docplayer.ru/37031042-Postanovlenie-gubernatora-vladimirskoy-obl-ot-n-876-ob-utverzhdenii-polozheniya-o-mestnoy-sisteme-koordinat-vladimirskoy-oblasti-msk-33.html Постановление Губернатора Владимирской обл. от N 876 «Об утверждении Положения о местной системе координат Владимирской области (МСК-33)»]</ref>, построенной на датуме СК-95 с выведенными для территории Владимирской области значениями семи параметров.
Известен пример МСК-33<ref>[https://docs.cntd.ru/document/965012231 Постановление Губернатора Владимирской обл. от 26.10.2009 N 876 «Об утверждении Положения о местной системе координат Владимирской области (МСК-33)»]</ref>, построенной на датуме СК-95 с выведенными для территории Владимирской области значениями семи параметров.


Самый интересный пример в этом классе — МСК Москвы на эллипсоиде Бесселя.<ref>[http://sngo.mggt.ru/documents/sngo/PMSK_Moscow.pdf Положение о ПМСК Москвы]</ref>
Самый интересный пример в этом классе — МСК Москвы на эллипсоиде Бесселя.<ref>[http://sngo.mggt.ru/documents/sngo/PMSK_Moscow.pdf Положение о ПМСК Москвы]</ref>
Строка 76: Строка 78:
BOUNDCRS[
BOUNDCRS[
     SOURCECRS[
     SOURCECRS[
         PROJCRS["Moscow",
         PROJCRS["PMSK Moscow",
             BASEGEOGCRS["Unknown datum based upon the Bessel 1841 ellipsoid",
             BASEGEOGCRS["Unknown datum based upon the Bessel 1841 ellipsoid",
                 DATUM["Not specified (based on Bessel 1841 ellipsoid)",
                 DATUM["Not specified (based on Bessel 1841 ellipsoid)",
Строка 111: Строка 113:
                     ORDER[2],
                     ORDER[2],
                     LENGTHUNIT["metre",1,
                     LENGTHUNIT["metre",1,
                         ID["EPSG",9001]]]]],
                         ID["EPSG",9001]]],
            USAGE[
                SCOPE["Engineering surveying and land cadastre."],
                AREA["Moscow and adjacent districts of the Moscow Region."],
                BBOX[55.13,36.78,56.23,38.49]]]],
     TARGETCRS[
     TARGETCRS[
         GEOGCRS["WGS 84",
         GEOGCRS["WGS 84",
Строка 147: Строка 153:


В данном случае применена трансформация EPSG:9607 ''Coordinate Frame rotation (geog2D domain)'', но могут быть использованы и другие.<ref>[https://gis-lab.info/qa/datum-transform-methods.html Переход от одной системы координат к другой - методы трансформации]</ref>
В данном случае применена трансформация EPSG:9607 ''Coordinate Frame rotation (geog2D domain)'', но могут быть использованы и другие.<ref>[https://gis-lab.info/qa/datum-transform-methods.html Переход от одной системы координат к другой - методы трансформации]</ref>
N. B.: Мне не удалось подставить элемент BBOX так, чтобы мой QGIS 3.10 его воспринял.


=== Системы координат с дополнительным преобразованием ===
=== Системы координат с дополнительным преобразованием ===


Это системы координат городов и прочих населённых пунктов. Они основаны на охватывающей зоне СК-42 или СК-63 с дополнительным преобразованием. Обычно это конформное преобразование на плоскости, которое является частным случаем аффинного.
Это системы координат городов и прочих населённых пунктов, основанные на охватывающей зоне государственной системы координат с дополнительным преобразованием. Обычно это конформное преобразование на плоскости, которое является частным случаем аффинного.


В WKT 2 коэффициенты аффинного преобразования участвуют в формулах перехода от исходной проекции к целевой (местной) системе следующим образом:
В WKT 2 коэффициенты аффинного преобразования участвуют в формулах перехода от исходной проекции к целевой (местной) системе следующим образом:
Строка 161: Строка 165:
</syntaxhighlight>
</syntaxhighlight>


Для примера возьмём случайное определение с просторов Интернета:<ref>[https://geodesist.ru/threads/pomogite-pereschitat-koordinaty-iz-msk-66-v-sk-g-ekaterinburga.38181/page-2#post-874390 Местная система координат г. Екатеринбург]</ref>
Для примера возьмём случайное определение с просторов Интернета:<ref>[https://geodesist.ru/threads/pomogite-pereschitat-koordinaty-iz-msk-66-v-sk-g-ekaterinburga.38181/#post-450897 г. Екатеринбург]</ref>


<syntaxhighlight lang="text">
<syntaxhighlight lang="text">

Текущая версия от 07:12, 16 апреля 2023

Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/msk-wkt2.html


Статья на примерах даёт представление о том, как следует конструировать описание местных систем координат в формате WKT 2.

Введение

Во времена QGIS 2 системы координат представляли в формате PROJ4. По возможностям он практически эквивалентен формату OGC WKT 1. Следует отметить общее в обоих форматах задание трансформации датума через элемент TOWGS84. Также общим является отсутствие дополнительных преобразований, что ставило под вопрос возможность определения городских и строительных систем координат, такие преобразования использующих.

В QGIS 3 стандартом описания систем координат стал формат WKT 2. Важное его отличие от предшественника – использование преобразований. Помимо прочего, это сделало ненужным элемент TOWGS84 и сняло затруднения с определением городских систем координат.

На момент написания статьи действуют спецификации OGC Well-known text representation of coordinate reference systems.[1] Они зафиксированы в стандарте ISO 19162:2019.[2]

Типы местных систем координат

Классические проекции

Бо́льшая часть местных систем координат в Российской Федерации построена на географически подходящей зоне СК-42 или СК-63 и отличается от неё лишь параметрами сдвига EPSG:8806 False easting и EPSG:8807 False northing. Определение таких систем в WKT 2 не отличается от WKT 1.

В качестве примера приведём МСК-47 зона 2, основанную на СК-63 зона C3. Параметры можно найти на сайте MapBasic[3] или получить аддитивно от второй зоны EPSG:3352 Pulkovo 1942 / CS63 zone C2[4] с учётом параметров сдвига.

PROJCRS["Pulkovo 1942 / MSK47 zone 2",
    BASEGEOGCRS["Pulkovo 1942",
        DATUM["Pulkovo 1942",
            ELLIPSOID["Krassowsky 1940",6378245,298.3,
                LENGTHUNIT["metre",1]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["EPSG",4284]],
    CONVERSION["MSK47 zone 2",
        METHOD["Transverse Mercator",
            ID["EPSG",9807]],
        PARAMETER["Latitude of natural origin",0.1,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8801]],
        PARAMETER["Longitude of natural origin",30.95,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        PARAMETER["Scale factor at natural origin",1,
            SCALEUNIT["unity",1],
            ID["EPSG",8805]],
        PARAMETER["False easting",2250000,
            LENGTHUNIT["metre",1],
            ID["EPSG",8806]],
        PARAMETER["False northing",-6200000,
            LENGTHUNIT["metre",1],
            ID["EPSG",8807]]],
    CS[Cartesian,2],
        AXIS["northing (X)",north,
            ORDER[1],
            LENGTHUNIT["metre",1]],
        AXIS["easting (Y)",east,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    USAGE[
        SCOPE["unknown"],
        AREA["Europe - Russia - MSK47 zone 2"],
        BBOX[58.41,28.67,61.19,33.74]]]

Обратите внимание на элемент BBOX. Благодаря ему программы могут при выборе системы координат показать пользователю на карте прямоугольник, охватывающий область действия системы координат. Он содержит величины Широта минимальная, Долгота минимальная, Широта максимальная, Долгота максимальная в системе координат WGS 84.

Также BBOX определяет выбор подходящих трансформаций.

Системы координат с особым датумом

Сюда отнесём разные ситуации:

  • датум отсутствует в EPSG;
  • трансформация из датума в WGS 84 отсутствует в EPSG;
  • трансформация из датума в WGS 84 имеется в EPSG, но относится к другому датуму.

Известен пример МСК-33[5], построенной на датуме СК-95 с выведенными для территории Владимирской области значениями семи параметров.

Самый интересный пример в этом классе — МСК Москвы на эллипсоиде Бесселя.[6]

Используем конструкцию BOUNDCRS, которая связывает исходную систему координат SOURCECRS, в роли которой выступает проекция, с конечной TARGETCRS, в роли которой выступает WGS 84, через трансформацию ABRIDGEDTRANSFORMATION:

BOUNDCRS[
    SOURCECRS[
        PROJCRS["PMSK Moscow",
            BASEGEOGCRS["Unknown datum based upon the Bessel 1841 ellipsoid",
                DATUM["Not specified (based on Bessel 1841 ellipsoid)",
                    ELLIPSOID["Bessel 1841",6377397.155,299.1528128,
                        LENGTHUNIT["metre",1,
                            ID["EPSG",9001]]]],
                PRIMEM["Greenwich",0,
                    ANGLEUNIT["degree",0.0174532925199433],
                    ID["EPSG",8901]]],
            CONVERSION["Moscow",
                METHOD["Transverse Mercator",
                    ID["EPSG",9807]],
                PARAMETER["Latitude of natural origin",55.6666666666667,
                    ANGLEUNIT["degree",0.0174532925199433],
                    ID["EPSG",8801]],
                PARAMETER["Longitude of natural origin",37.5,
                    ANGLEUNIT["degree",0.0174532925199433],
                    ID["EPSG",8802]],
                PARAMETER["Scale factor at natural origin",1,
                    SCALEUNIT["unity",1],
                    ID["EPSG",8805]],
                PARAMETER["False easting",0,
                    LENGTHUNIT["metre",1],
                    ID["EPSG",8806]],
                PARAMETER["False northing",0,
                    LENGTHUNIT["metre",1],
                    ID["EPSG",8807]]],
            CS[Cartesian,2],
                AXIS["(E)",east,
                    ORDER[1],
                    LENGTHUNIT["metre",1,
                        ID["EPSG",9001]]],
                AXIS["(N)",north,
                    ORDER[2],
                    LENGTHUNIT["metre",1,
                        ID["EPSG",9001]]],
            USAGE[
                SCOPE["Engineering surveying and land cadastre."],
                AREA["Moscow and adjacent districts of the Moscow Region."],
                BBOX[55.13,36.78,56.23,38.49]]]],
    TARGETCRS[
        GEOGCRS["WGS 84",
            DATUM["World Geodetic System 1984",
                ELLIPSOID["WGS 84",6378137,298.257223563,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[ellipsoidal,2],
                AXIS["geodetic latitude (Lat)",north,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["geodetic longitude (Lon)",east,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433]],
            ID["EPSG",4326]]],
    ABRIDGEDTRANSFORMATION["Transformation from Moscow to WGS84",
        METHOD["Coordinate Frame rotation (geog2D domain)",
            ID["EPSG",9607]],
        PARAMETER["X-axis translation",316.151,
            ID["EPSG",8605]],
        PARAMETER["Y-axis translation",78.924,
            ID["EPSG",8606]],
        PARAMETER["Z-axis translation",589.650,
            ID["EPSG",8607]],
        PARAMETER["X-axis rotation",1.57273,
            ID["EPSG",8608]],
        PARAMETER["Y-axis rotation",-2.69209,
            ID["EPSG",8609]],
        PARAMETER["Z-axis rotation",-2.34693,
            ID["EPSG",8610]],
        PARAMETER["Scale difference",1.0000084507,
            ID["EPSG",8611]]]]

В данном случае применена трансформация EPSG:9607 Coordinate Frame rotation (geog2D domain), но могут быть использованы и другие.[7]

Системы координат с дополнительным преобразованием

Это системы координат городов и прочих населённых пунктов, основанные на охватывающей зоне государственной системы координат с дополнительным преобразованием. Обычно это конформное преобразование на плоскости, которое является частным случаем аффинного.

В WKT 2 коэффициенты аффинного преобразования участвуют в формулах перехода от исходной проекции к целевой (местной) системе следующим образом:

X2 = A0 + A1 * X1 + A2 * Y1
Y2 = B0 + B1 * X1 + B2 * Y1

Для примера возьмём случайное определение с просторов Интернета:[8]

"--- Местная система координат г. Екатеринбург ---"
"уточненная",3008,1001,7,60.05,0,1,1500000,-11057.63,7,0.9999960304,0.0077980643,-1541421.56859,-0.0077980643,0.9999960304,-6238537.78326,-150000,-150000,150000,150000

В этой строке MAPINFOW.PRJ мы видим систему координат на основе базовой проекции СК-63 зона W1 с дополнительным аффинным преобразованием, порядок параметров которого A1, A2, A0, B1, B2, B0.

Также дан охват Bounds, только он слишком широк, чтобы быть правдой.

Применим конструкцию DERIVEDPROJCRS, которая дополняет базовую проекцию СК-63 зона W1 аффинным преобразованием:

DERIVEDPROJCRS["Yekaterinburg",
    BASEPROJCRS["Pulkovo 1942 / CS63 zone W1",
        BASEGEOGCRS["Pulkovo 1942",
            DATUM["Pulkovo 1942",
                ELLIPSOID["Krassowsky 1940",6378245,298.3,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["Degree",0.0174532925199433]]],
        CONVERSION["CS63 zone W1",
            METHOD["Transverse Mercator",
                ID["EPSG",9807]],
            PARAMETER["Latitude of natural origin",0.1,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8801]],
            PARAMETER["Longitude of natural origin",60.05,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8802]],
            PARAMETER["Scale factor at natural origin",1,
                SCALEUNIT["unity",1],
                ID["EPSG",8805]],
            PARAMETER["False easting",1500000,
                LENGTHUNIT["metre",1],
                ID["EPSG",8806]],
            PARAMETER["False northing",0,
                LENGTHUNIT["metre",1],
                ID["EPSG",8807]]]],
    DERIVINGCONVERSION["Affine",
        METHOD["Affine parametric transformation",
            ID["EPSG",9624]],
        PARAMETER["A0",-1541421.56859,
            LENGTHUNIT["metre",1],
            ID["EPSG",8623]],
        PARAMETER["A1",0.9999960304,
            SCALEUNIT["coefficient",1],
            ID["EPSG",8624]],
        PARAMETER["A2",0.0077980643,
            SCALEUNIT["coefficient",1],
            ID["EPSG",8625]],
        PARAMETER["B0",-6238537.78326,
            LENGTHUNIT["metre",1],
            ID["EPSG",8639]],
        PARAMETER["B1",-0.0077980643,
            SCALEUNIT["coefficient",1],
            ID["EPSG",8640]],
        PARAMETER["B2",0.9999960304,
            SCALEUNIT["coefficient",1],
            ID["EPSG",8641]]],
    CS[Cartesian,2],
        AXIS["easting (X)",east,
            ORDER[1],
            LENGTHUNIT["metre",1]],
        AXIS["northing (Y)",north,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    USAGE[
        SCOPE["unknown"],
        AREA["Asia - Russia - Yekaterinburg"],
        BBOX[56.6,60.3,57,60.9]]]

Выводы

Даны примеры описания WKT 2 для трёх типов МСК, а именно:

  • классическая проекция;
  • проекция на особом датуме;
  • проекция с дополнительным аффинным преобразованием.

Как может выглядеть проекция на особом датуме с дополнительным преобразованием, пока не представляю.

Ссылки