Перевести PROJ в WKT

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
konst555
Активный участник
Сообщения: 210
Зарегистрирован: 11 авг 2015, 16:13
Репутация: 45

Перевести PROJ в WKT

Сообщение konst555 » 27 окт 2021, 10:03

Пользовательские проекции в QGIS задаются (рекомендовано) в WKT.

1) Как записать в этом формате следующую проекцию:
+proj=longlat +datum=WGS84 +pm=-360 +lon_wrap=-180 +no_defs

К сожалению не могу понять, что соответствует в WKT параметру +lon_wrap=-180 ?

2) Вторую проекцию в термины WKT перевел, но при формировании отчета начинает давать ошибки при оформлении. Может кто-нибудь записать правильно в WKT:
+proj=merc +lat_ts=13 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs

Конечно, хотелось бы с параметром BBOX, если это возможно ( область Тихого океана).

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: Перевести PROJ в WKT

Сообщение freeExec » 27 окт 2021, 10:25

Вот есть такая статья, там конечно нет про lon_wrap
https://gis-lab.info/qa/msk-wkt2.html

konst555
Активный участник
Сообщения: 210
Зарегистрирован: 11 авг 2015, 16:13
Репутация: 45

Re: Перевести PROJ в WKT

Сообщение konst555 » 27 окт 2021, 15:56

Спасибо. Я видел эту статью, но она не особо помогла. Очень хотелось бы пример от тех, кто разобрался в этой теме.
Не желаете попробовать?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

Re: Перевести PROJ в WKT

Сообщение Игорь Белов » 27 окт 2021, 18:53

konst555 писал(а):
27 окт 2021, 10:03
Как записать в этом формате следующую проекцию:
+proj=longlat +datum=WGS84 +pm=-360 +lon_wrap=-180 +no_defs
Начнём с того, что это не проекция, а географическая система координат. Не надо корёжить географическую СК. Заведите себе равнопромежуточную цилиндрическую проекцию (визуально это то, что нужно) и издевайтесь над ней, как вздумается.
konst555 писал(а):
27 окт 2021, 10:03
что соответствует в WKT параметру +lon_wrap=-180 ?
Ничто не соответствует.
konst555 писал(а):
27 окт 2021, 10:03
записать правильно в WKT:
+proj=merc +lat_ts=13 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
Возьмём за основу EPSG:3832 WGS 84 / PDC Mercator
Поменяем метод "Mercator (variant A)" на "Mercator (variant B)" по типу проекции EPSG:3388 "Pulkovo 1942 / Caspian Sea Mercator"
Вот что получается:
Спойлер

Код: Выделить всё

PROJCRS["WGS 84 / Pacific Konst555 Mercator",
    BASEGEOGCRS["WGS 84",
        DATUM["World Geodetic System 1984",
            ELLIPSOID["WGS 84",6378137,298.257223563,
                LENGTHUNIT["metre",1]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["EPSG",4326]],
    CONVERSION["Pacific Konst555 Mercator",
        METHOD["Mercator (variant B)",
            ID["EPSG",9805]],
        PARAMETER["Latitude of 1st standard parallel",13,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8823]],
        PARAMETER["Longitude of natural origin",150,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        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]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    USAGE[
        SCOPE["Not known."],
        AREA["Pacific Ocean."],
        BBOX[-60,98.69,66.67,-68]]]
Правда, непонятно, зачем делать стандартную параллель 13 градусов. Масштаб изображения на ней практически такой же, как на экваторе, так что какое-либо преимущество перед EPSG:3832 не просматривается.
The purpose of computing is insight, not numbers

konst555
Активный участник
Сообщения: 210
Зарегистрирован: 11 авг 2015, 16:13
Репутация: 45

Re: Перевести PROJ в WKT

Сообщение konst555 » 28 окт 2021, 11:17

Игорь Белов писал(а):
27 окт 2021, 18:53
Начнём с того, что это не проекция, а географическая система координат.
Не совсем согласен. Если в двух словах, то географическая система координат определена в пространстве (на эллипсоиде, сфере, астероиде как сечение некоторых плоскостей). Но если вы на плоскости по каким-то правилам изображаете эту поверхность и проводите линии координатной сетки географической системы координат, то это уже проекция географической системы координат вашей объемной фигуры на плоскость. Не вижу тут противоречий.
Часто приносят географические координаты и возмущаются: "Какая разница какой эллипсоид! Я же в географической системе принес! В градусах!". Ну и с отображением на плоскости такая же ерунда.
Надеюсь, что снял эти разногласия.
Игорь Белов писал(а):
27 окт 2021, 18:53
Правда, непонятно, зачем делать стандартную параллель 13 градусов. Масштаб изображения на ней практически такой же, как на экваторе, так что какое-либо преимущество перед EPSG:3832 не просматривается
Спасибо за присланное описание проекции. У меня получилась такая же.
Такие проекции применяются, как я понял, если по-простому, то для того, чтобы можно было на бумажной карте пользоваться линейкой. Т.е. широта выбирается в середине района работ и можно работать в проективных метрах с минимальными ошибками.

К сожалению, при оформлении карт в QGIS возникла ошибка. Причем проявилась она только на этих пользовательских проекциях. Масштабная линейка работает неправильно! Если двигать поле карты, то она меняется при постоянном масштабе. Поэтому я думал, что ошибаюсь в описании. Но оказалось, что в числовом виде масштаб остается постоянным. Вот теперь думаю что делать?
Screenshot_20211028_132410.png
Screenshot_20211028_132410.png (6.59 КБ) 2438 просмотров
Screenshot_20211028_132247.png
Screenshot_20211028_132247.png (6.93 КБ) 2438 просмотров

konst555
Активный участник
Сообщения: 210
Зарегистрирован: 11 авг 2015, 16:13
Репутация: 45

Re: Перевести PROJ в WKT

Сообщение konst555 » 28 окт 2021, 15:56

Спасибо за обсуждение. Решение с масштабной линейкой оказалось простое. Для пользовательских проекций нужно было выставить "единицы карты" со всеми вытекающими последствиями. Для стандартных проекций достаточно метры, км и т.д. Почему? Пока не знаю.
Всем Спасибо.
2021-10-28_154426.png
2021-10-28_154426.png (15.63 КБ) 2409 просмотров

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей