Ошибка пересчета координат из Pulokovo 1942 в WGS84.
Как известно, в польском формате используется система координат WGS84 Latitude/Longitude.
При создании карт мы используем различные данные, как растровые так и векторные, которые иногда привязаны в других системах координат, в том числе Pulkovo 1942. Вот здесь выложил архив со всеми исходными данными и результатами экспериментов, демонстрирующих проблему:
http://www.sendspace.com/file/bn5uiq
Ниже по тексту я буду ссылаться на файлы и папки из этого архива.
Исходные данные:
1. Shape файл с номенклатурными полигонами в системе Pulkovo 1942: \src-shape\topo1km-rus.shp
2. Растровые карты генштаб и госгисцентр: \raster\K-53-004-C-c.png, \raster\K-53-004.jpg
3. Треки: \Tracks\*.gpx
Программы:
1. Global Mapper v13.1 и v14.0 – далее по тексу GM
2. MicroGisEditor – далее по тексту MGE.
Эксперимент:
1. Открываем shape файл с номенклатурными полигонами в Global Mapper. Датум и систему координат GM подхватывает автоматом из идущего в комплекте с шейпом файла *.prj, вручную указывать нет необходимости
(см. \screens\screen0.jpg). Кстати было бы не плохо сделать так же и в MGE.
2. Для дальнейших экспериментов нам не нужны полигоны на весь земной шар, поэтому оставим только несколько полигонов и сохраним шейп-файл как:
\result\100k-test.shp
3. Экспортируем получившийся шейп в польский формат как:
\result\100k-test2.MP
4. Закрываем Globla Mapper и запускаем заново – для чистоты эксперимента.
5. Открываем в GM файл:
\result\100k-test2.MP
6. Затем добавляем шейп:
\result\100k-test.shp
7. Затем открываем один из растров:
\raster\K-53-004-C-c.png
8. Смотрим границы обоих файлов и границы растра – все прекрасно совпадает – так и должно быть
(см. \screens\screen1.jpg).
При этом система координат в которой привязан шейп: S-42 (PULKOVO 1942), Geographic Latitude/Longitude
(см. \screens\screen2.jpg)
Система координат в которой отображаются данные: WGS-84, Geographic Latitude/Longitude
(см. \screens\screen3.jpg)
9. Теперь открываем в MGE файл:
\result\100k-test2.MP тип полигонов – 0x1.
10. Затем импортируем в MGE шейп:
\result\100k-test.shp. Указываем датум Pulkovo 1942 (GOST R…..) и систему координат Latitude/Longitude. Указываем тип 0x6. Сохраняем результат как
\result\bug.mp.
Смотрим стыки полигонов – видим что стыки полигонов 0x1 и стыки полигонов 0x6 не совпадают, имеется сдвиг примерно на 20-25 м.
(см. \screens\screen4.jpg)
11. Подгружаем в MGE растр:
\raster\K-53-004-C-c.png
В результате видим, что границы растра прекрасно совпадают с границами импортированными из шейпа, что логично, шейп и растр в одной системе координат и в WGS84 MGE их пересчитал одинаково. Но не совпадают с границами из GM (полигоны 0x1), хотя в GM все совпадало.
(см. \screens\screen5.jpg)
12. Отсюда вывод: GM и MGE выполняют пересчет из Pulkovo1942 в WGS84 по разному.
Вопрос какая из программ делает это правильно, а какая нет? Ответить на него нам помогут треки. Это могут быть например треки какой-нибудь дороги, желательно, чтобы их было несколько. В папке \Tracks\*.gpx хранится как раз такой набор из четырех треков одной и той же дороги, записанных двумя навигаторами.
13. Подгружаем в MGE треки, и видим что они смещены относительно растра примерно на те же 20-25 метров.
(см. \screens\screen6.jpg)
14. Открываем тот же растр и те же треки в GM – треки идеально ложатся на растр.
(см. \screens\screen7.jpg)
Такая же проблема наблюдается не только на данном участке, но и на других картах и с другими треками. Здесь я просто привел один из примеров.
Из всего сказанного делаем вывод: пересчет координат из Пулково в WGS84 выполняется не корректно.
Такая систематическая погрешность в 20-25 метров не критична и не заметна при работе двухкиломтеровками и более мелкими масштабами. При работе с километровками эта погрешность уже заметна, но не сильно критична. При работе с 500-метровками, и тем более с 250-метровками данная погрешность уже слишком значительна.
P.S. Сделайте что-нибудь с аттачами на форуме, то размер не тот, то расширение, то количество файлов - пользоваться не возможно, все время какие-то проблемы с прикреплением файлов.