Перевод координат из одних единиц измерения в другие

Не знаете, где задать вопрос? Задавайте здесь.
giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Перевод координат из одних единиц измерения в другие

Сообщение giser » 18 май 2018, 12:59

Никогда не пользовался данным инструментом, поэтому решил поэкспериментировать.

Версия ArcGIS - 10.4.
1. Конечно, проще всего решить поставленную задачу, используя инструмент "Вычислить геометрию" по вновь созданным полям с типом "Text". В таком случае активизируются необходимые форматы координат. При этом, можно не проводить перепроецирование слоя в географическую СК (ГСК), достаточно будет поменять СК фрейма, а в инструменте "Вычислить геометрию" поставить соответствующую галочку.
2. Если мы имеем перепроецированный в ГСК слой и желание использовать инструмент "Convert coordinate notation", то в таком случае в формате входных координат можно указать "SHAPE" (данные берутся из геометрии). Инструмент работает нормально.
3. Если мы хотим явно переводить DD_2 в DMS_2 (например, табличные данные в Excel), используя инструмент "Convert coordinate notation", то нужно учесть несколько нюансов. Во-первых, инструмент почему-то не работает, если таблица добавлена в ArcMap (если брать файл с диска, то работает). Во-вторых, прочитав мануалы и форумы, я сделал, видимо, правильный вывод, что входные координаты в виде десятичных градусов должны храниться в текстовом поле, причем, разделителем целой и дробной частей должна быть точка. Наверное, так подразумевает текстовый формат. В-третьих (это самое интересное и загадочное), если использовать в качестве входных данных точечный слой в Pulkovo_1942, то точки выходного слоя "отлетают" от точек в исходном слое на 100+ метров. Я попробовал провести аналогичные операции на слое в WGS_1984 - инструмент работает без подобных ошибок.
Вложения
Pulkovo_1942.jpg
Pulkovo_1942.jpg (65.02 КБ) 3250 просмотров
WGS_1984.jpg
WGS_1984.jpg (65.17 КБ) 3250 просмотров

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Перевод координат из одних единиц измерения в другие

Сообщение Boris » 18 май 2018, 22:22

giser писал(а):
18 май 2018, 12:59
Pulkovo_1942, то точки выходного слоя "отлетают" от точек в исходном слое на 100+ метров. Я попробовал провести аналогичные операции на слое в WGS_1984 - инструмент работает без подобных ошибок.
Такое поведение расчетов, в чем бы они не выполнялись, означает с 99% вероятностью только одно - одна из сторон путает Pulkovo_1942 и WGS84, либо на входе, либо на выходе, либо что самое неприятное, где то внутри. На пример, GDAL, что лежит невидимо внутри ArcGIS, 100% путал в определенных версиях эти два эллипсоида. В частности при пересечете таблиц Mapinfo MIF ( в них можно увидеть проекцию и эллипсоид, на котором она создана) в выходную таблицу записывались 100% верные расчеты с верными параметрами проекции, вот только вместо эллипсоида Pulkovo_1942 писался эллипсоид WGS84. Благо, в MIF это руками (или скриптом) исправляется без всяких проблем - все таки текстовый файл. После замены датума 104 на датум 1001, все контура попадали в эталонные данные с точность сотые доли миллиметра.

trir
Гуру
Сообщения: 5287
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Перевод координат из одних единиц измерения в другие

Сообщение trir » 18 май 2018, 22:27

После замены датума 104 на датум 1001
так это не GDAL перепутал...

giser
Завсегдатай
Сообщения: 388
Зарегистрирован: 09 ноя 2012, 09:25
Репутация: 113
Откуда: Москва

Re: Перевод координат из одних единиц измерения в другие

Сообщение giser » 19 май 2018, 00:01

Boris писал(а):
18 май 2018, 22:22
Такое поведение расчетов, в чем бы они не выполнялись, означает с 99% вероятностью только одно - одна из сторон путает Pulkovo_1942 и WGS84, либо на входе, либо на выходе, либо что самое неприятное, где то внутри.
Вообще инструмент по умолчанию использует СК WGS_1984, если на входе не класс пространственных объектов (КПО), для которого по умолчанию используется координатная система входных объектов. Причем, если на входе и выходе указываются СК с разными датумами, то трансформация происходит с помощью каких-то параметров по умолчанию (явно задать нельзя). В моем случае КПО имеет СК Pulkovo_1942. На выходе аналогичная. Я продолжил свои эксперименты. Я назначил исходному КПО СК WGS_1984 (просто назначил, без проецирований), выходную оставил прежней. В итоге мне удалось совместить на карте исходный и выходной слои (которые теперь имеют разные СК) с использованием трансформации Pulkovo_1942_To_WGS_1984_16, которую я подобрал перебором. Погрешность меньше 0,1 мм, думаю, можно опустить. Получается, что в данных случаях инструмент принимает, что на вход подается не КПО (хотя это не так), и, соответственно, по умолчанию использует СК WGS_1984, ведь в ситуации, когда задействуется геометрия объектов (в формате входных координат используется "Shape"), инструмент работает правильно.
Резюме: данный инструмент будет адекватно работать с КПО в СК Pulkovo_1942 при условии использования геометрии объектов (выбор "Shape" в формате входных координат).
Последний раз редактировалось giser 19 май 2018, 11:11, всего редактировалось 1 раз.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Перевод координат из одних единиц измерения в другие

Сообщение Boris » 19 май 2018, 02:47

trir писал(а):
18 май 2018, 22:27
так это не GDAL перепутал...
А кто?

trir
Гуру
Сообщения: 5287
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Перевод координат из одних единиц измерения в другие

Сообщение trir » 19 май 2018, 08:47

del

Ответить

Вернуться в «Я новичок!»

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

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