Страница 1 из 1

Добавление ГСК-2011 в QGIS 3

Добавлено: 12 мар 2021, 18:32
Игорь Белов
Пока в QGIS поддержка ГСК-2011 чисто номинальная, в качестве временной меры я заморочился с системами координат для QGIS на ГСК-2011 с трансформацией по ГОСТу из ГСК-2011 в WGS 84 (G1150). Помимо геодезической системы координат "GSK-2011 / Geodetic" и проекции Меркатора "GSK-2011 / World Mercator", создана куча проекций Гаусса-Крюгера пяти разновидностей:
• Gauss-Kruger zone 4
• Gauss-Kruger 4N
• Gauss-Kruger CM 21E
• 3-degree Gauss-Kruger zone 7
• 3-degree Gauss-Kruger CM 21E

Архив gsk2011.zip содержит три сущности.

В папке wkt находятся файлы СК в формате WKT 2. Для чего они нужны:
• ввод пользовательских СК в QGIS по одной через Copy/Paste;
• подстановка при запуске утилит GDAL в опциях -a_srs, -s_srs, -t_srs.

Файл tbl_srs.sql состоит из команд SQL для вставки в БД пользовательских СК QGIS. Кто в теме, может использовать целиком или выборочно.

Наконец, файлы qgis-full.db и qgis-lite.db — готовые БД пользовательских проекций. Если вы не знакомы с SQLite и вас не смущает обилие лишних проекций, это неплохой выбор.

Файл qgis-full.db содержит tbl_srs.sql целиком, с проекциями Гаусса-Крюгера всех видов. В файл qgis-lite.sql вошли только классические шестиградусные проекции вида "Gauss-Kruger zone 4".

Один из этих двух файлов должен заменить qgis.db в файлах конфигурации. Одно но — у вас уже могут быть пользовательские проекции, которые не хочется терять. К счастью, это решаемая проблема. Нужно завести новый профиль пользователя и скопировать новый qgis.db туда.

Итак, заводим новый профиль:

[Settings] → [User Profiles] → [New Profile…]

В диалоге введём новое имя. Пусть это будет gsk2011. Запустится новое окно QGIS с именем профиля в заголовке окна "QGIS [gsk2011]". Закроем QGIS. Заменим файл

~\AppData\Roaming\QGIS\QGIS3\profiles\gsk2011\qgis.db ,

перезаписав его файлом qgis-full.db или qgis-lite.db. После повторного запуска QGIS в новом профиле будут проекции ГСК-2011. В профиле default они, разумеется, не появятся. Правда, и прежние пользовательские проекции не попадут в новый профиль…

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 14 мар 2021, 01:32
Игорь Белов
Заменил архив gzk2011.zip на gsk2011v1.zip

Прошу прощения, поторопился. В таблице "tbl_srs" для всех проекций Гаусса-Крюгера в поле "ellipsoid_acronym" были параметры эллипсоида Красовского. Исправил. Файлы "tbl_srs.sql" и "qgis.db" изменились.

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 15 мар 2021, 08:23
Игорь Белов
Залил новую версию архива. Изменения:
* файл qgis.db переименован в qgis-full.db
* добавлен файл qgis-lite.db

Файл qgis-full.db содержит полную таблицу tbl_srs со всеми видами проекций Гаусса-Крюгера.
Файл qgis-lite.db содержит только классические шестиградусные проекции вида "Gauss-Kruger zone 4".

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 21 май 2021, 04:32
Institor
Спасибо!
В файле sql последнее поле не лишнее? Или может разные версии qgis имеют разный формат БД?
на 3.4.14 ругается, что передано 11 полей, а в таблице 10...

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 21 май 2021, 12:33
Игорь Белов
Выложите для сравнения файл qgis.db версии QGIS 3.4

В версии 3.16 таблица tbl_srs содержит 11 полей:

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 21 май 2021, 13:15
Institor
Похоже WKT добавили.
Не добавляется файл ("неверное расширение")...

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 21 май 2021, 13:31
Игорь Белов
Упакуйте и выложите архив

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 24 май 2021, 04:41
Institor
Приложил
qgis.zip
(7.44 КБ) 375 скачиваний

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 24 май 2021, 07:09
Игорь Белов
Вы правы, добавили WKT.

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 11 май 2022, 16:18
GeorgGrebenyuk
Игорь Белов писал(а):
12 мар 2021, 18:32
Наконец, файлы qgis-full.db и qgis-lite.db — готовые БД пользовательских проекций.
День добрый! Прошу прощения что поднимаю немного старую тему, но меня интересует логика внесения информации в базовую библиотеку proj.db из-под sqlite. Если прочесть заголовки таблиц - то там не будет указанной в запросе "tbl_srs", только "projected_crs" и как корректно сделать миграцию?
Вопрос по большей части связан именно с пониманием автоматизированного внесения в базу группы определений, а тут удобно подвернулось как раз групповой импорт :)

P.S. Рассматриваю вопрос не в контексте qgis, а в целом при работе с этой библиотекой PROJ (и БД конечно proj.db в ее составе).

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 11 май 2022, 23:20
Игорь Белов
GeorgGrebenyuk писал(а):
11 май 2022, 16:18
интересует логика внесения информации в базовую библиотеку proj.db из-под sqlite
Структура proj.db воспроизводит реляционную БД EPSG в соответствии с моделью ISO 19111:2007 или ISO 19111:2019. Внесение информации требует изменения нескольких связанных таблиц.

Re: Добавление ГСК-2011 в QGIS 3

Добавлено: 12 май 2022, 09:32
Игорь Белов
Тему можно закрыть. Актуальная БД PROJ, которую использует QGIS, содержит три геодезические GSK-2011 и 174 проекции.

Правда, мой QGIS 3.16 почему-то не видит проекцию EPSG:20904 "GSK-2011 / Gauss-Kruger zone 4". Возможно, этот глюк исправлен в современных версиях программы. Что, впрочем, не критично, поскольку на область действия (Калининградская область) имеются другие версии данной проекции: EPSG:21004 "GSK-2011 / Gauss-Kruger CM 21E", EPSG:21207 "GSK-2011 / GSK 3GK zone 7" и EPSG:21307 "GSK-2011 / GSK 3GK CM 21E".

По трансформациям.

Для геодезических задач к геоцентрической ГСК-2011 EPSG:7681 прилагается трансформация EPSG:7705 "GSK-2011 to PZ-90.11 (1)".

Для целей картографии к географической ГСК-2011 EPSG:7683 идёт трансформация EPSG:9773 "GSK-2011 to WGS 84 (1)", приравнивающая ГСК-2011 к WGS 84. Текст описания:
For many purposes GSK-2011 can be considered to be coincident with WGS 84. This approximation ignores the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.
На картинке линейное расхождение в метрах между одинаковыми парами координат ГСК-2011 и WGS 84 (G1150):