Неправильно измеряются расстояния. В чём проблема?

0 голосов
спросил 25 Янв, 08 от Lesnoy_Inok (820 баллов) в категории Программные продукты Esri

Собрали «снимок» с помощью gindexer_v37.rar и gstitch_v32_1.rar (по инструкции http://rock-et-al.webhost.ru/gdown/). Создали проект в ArcMap 9.2, добавили в него полученный снимок в формате ECW.

Файл привязки такой:

9.554628536701200

0.000000000000000

0.000000000000000

-9.532498598635240

4481044.346684570000000

7332266.108526160000000

  При попытке расчета площадей полигонов, обнаружили, что площади «завышены». Оказалось, что измеряемые расстояния увеличены почти в 2 раза.

При этом, тот же файл, загнанный в OziExplorer (привязка выполнена одновременно и для OziExplorer и для ArcMap 9.2) имеет правильный масштаб.

Как добиться правильного масштаба в ArcMap?

 

Одновременно, столкнулись с такой проблемой:

У полученного снимка в ArcMap координатная система выглядит так:

Mercator

false_easting: 0,000000

false_northing: 0,000000

central_meridian: 0,000000

standard_parallel_1: 0,000000

scale_factor: 1,000000

Linear Unit: Meter

 

GCS_WGS_1984

Datum: D_WGS_1984

 

При этом, в полигональной теме координатная система (мы её не изменяли) выглядит так:

Geographic Coordinate System: GCS_WGS_1984

Datum: D_WGS_1984

Prime Meridian: Greenwich

Angular Unit: Degree

 

Когда начинаем редактировать эту тему, выдаётся сообщение о несоответствии координатных систем:

«The layers below are in a different coordinate system than the current map's coordinate system. You can edit data in a different coordinate system than the map; however, some editing tasks may give you unexpected alignment or accuracy problems.»

 

Что с этим делать?

34 Ответы

0 голосов
ответил 25 Янв, 08 от rromeo (9,780 баллов)
Вы можете более подробно рассказать как вы собирали снимок в аркмапе и какую систему координат вы ему задавали? Настройка проэкций в аркгисе довольно прикольная штука и не всегда даёт ожидаемые результаты. В вашем случае может возможен такой вариант: если вы точно знаете координаты некоторых точек вашего снимка, попробуйте перепривязать его через пространственную привязку 
0 голосов
ответил 28 Янв, 08 от Stvan (7,620 баллов)
Что-то у меня с меркатором тоже было в два раза, не помню точно. Но снимок ложился точно, я его потом просто перегнал в другую КС и стало все норм.
0 голосов
ответил 28 Янв, 08 от Lesnoy_Inok (820 баллов)

Снимок собрали с помощью gstitcher_v32_1. В АркМап загрузили уже собранный снимок в формате ECW. Система координат, указанная выше - считалась именно из файла снимка. Т.е. отдельно - систему координат я не указывал. Но, попробовал и указывать систему координат до/после добавления снимка в проект. Если указывать систему координат на сфере - разницы не ощущается. Если не на сфере - разница есть, но действительности - всё равно не соответствует (а изображение - и искажается).

Если в проект добавлять тот же снимок в тифе (с той же привязкой) - то в измерении расстояний разницы нет, а вот как "проект" - он не воспринимается. (АркМап говорит, дескать рисовать можно, но не более того)
0 голосов
ответил 28 Янв, 08 от Vadim (28,120 баллов)

Ваша проблема увеличения измеряемых расстояний в два раза понятна. Тут все дело в параметрах системы координат и проекции снимка. Снимок ваш хранится в системе координат WGS-84, проекции Меркатора. И наибольшая "беда" заключается конечно же в проекции. Как известно проекция Меркатора - это равноугольная проекциия, используемая для карт мира. Равноугольность проекциии означает то, что на карте сохраняется подобие форм (т.е частный масштаб углов направлений не изменяется), а вот длины и площади существенно искажаются. Из этого следует, что когда вы добавляете снимок в ArcMap в новый проект, то виду автоматически присваиваеются параметры СК и проекции снимка. Затем вы пытаетесь измерить расстояние или площадь и у вас получаются неверные результаты и это правильно. По файлу привязки видно, что снимок сделан на небольшую территорию, чуть ли не Спас-Клепики в Рязанской области. Поэтому для получения адекватных результатов вы должны использовать проекции для топографических карт.

В данном случае для получения точных результатов необходимо использовать проекцию Гаусса-Крюгера, с центральным меридианом проходящим либо через центр снимка, либо через конкретный участок снимка, либо наиболее близко к  маршруту. Это можно осуществить двумя способами:
1. либо осуществить перепроецирование вида
2. либо осуществить перепроецирование снимка
Измерять геометрические характеристики можно либо инструментами измерения или создать файлы или классы базы геоданных в вышеописанной проекции.
0 голосов
ответил 28 Янв, 08 от Lesnoy_Inok (820 баллов)

Снимок сделан на территорию Окского заповедника и его окрестностей - примерно 80 х 50 км.

Снимок использован как основа ГИС заповедника (к сожалению, нам не удалось найти ничего более приличного). Соответственно, практически на всей территории снимка будут использваться как измерения площадей, так и использование связи с GPS.

Соответственно, можно ли в таком случае использовать описанное перепроецирование?
 
Я попробовал задать:
Pulkovo_1942_3_Degree_GK_CM_39E
Projection: Gauss_Kruger
False_Easting: 500000,000000
False_Northing: 0,000000
Central_Meridian: 39,000000
Scale_Factor: 1,000000
Latitude_Of_Origin: 0,000000
Linear Unit: Meter
GCS_Pulkovo_1942
Datum: D_Pulkovo_1942
 
Расстояние - действительно, похоже на правду, но первая же точка - не совпала в координатах более, чем на 10 мин.
0 голосов
ответил 28 Янв, 08 от geologic (39,860 баллов)
Робко напомню коллегам, что вопрос привязки гугла в ГИС рассматривался во всех тонкостях на этом форуме, в том числе вопрос проекций прошел доскональный ликбез общими усильями. Краткое резюме с упором на тему:

- все выше по течению вроде бы правильно высказались, и насчет проекции, и насчет измерений;

- привязывать с помощью GDown не вполне корректно, потому что растр совершенно зазря "сжимается" по широте (это легко заметить по разрешению) и большая мозаика от этого корежится. Об этом говорили не раз. Гугл ведь задуман был и исполнен в проекции "меркатор на сфере", через неё и надо привязывать для серьезных ГИС-работ. Примерно вот по такой методике. Почему GDown так делает? Он рассчитан на ОЗИ, а там нет проекций на сфере, увы.

- однако на несколько минут это не должно давать ошибок. Проекция, для которой GDown выдает world-файл - "меркатор на эллипсоиде WGS-84" и она указана вроде бы верно. Несколько минут это обычно ошибка в настройке проекции, проверьте. Если ваши данные улетают по широте на 20-25 км, то у вас там явно путаница с эллипсоидами.

- Если растр у вас уже есть, то на кой вам вообще геопривязка от GDown? Её несложно составить вручную - по крайней мере разберетесь, что к чему. Для привязки ведь главное задать нужное разрешение в нужной проекции, дальше уже несложно.

1. Проекцию вы поняли, меркатор на сфере (радиус сферы стандартный для ESRI 6371000 м). Если не мсможете установить ее сами, то файл правильной проекции можно скачать здесь.

2. Разрешение для нужного уровня гугла (небось 17 или 18), можно взять из статьи по ссылке или вот отсюда. Для 18-го уровня, например, оно равно 1.19299213862542 метра на пиксель.

3. Впишите это разрешение в первую и 4-ую строки world-файла, как в вашем примере вторая и третья строка - нули. Далее просто подвигайте растр лапой по любым ориентирам в проекции Меркатор на сфере Должен сесть как вкопанный. Масштабирование и привязка по точкам категорически не рекомендуются, разве что по одной-единственной. Просто сдвиг, просто подобрать положение в пространстве.

После скачки через MapBuilder я обычно и сам так делаю :)
    
    
0 голосов
ответил 28 Янв, 08 от Vadim (28,120 баллов)

Квикберда в открытом доступе на эту территорию нет, есть только ландсат. Сам в прошлом году  ходил на байдах по Пре и прокладывал маршрут.  Если сильно не хочется заморачиваться с выкладками geologiсa, да и в данном случае это не требуется, то скачайте уже привязанный многозональный ландсат.

А с чем у вас расхождение с точками жепс?
Я бы для вашей территории использовал Central_Meridian: 40,750000
0 голосов
ответил 28 Янв, 08 от Lesnoy_Inok (820 баллов)
Если сильно не хочется заморачиваться с выкладками geologiсa, да и в данном случае это не требуется, то скачайте уже привязанный многозональный ландсат.
А с чем у вас расхождение с точками жепс?
 
С выкладками geologiсa разбираюсь уже не первую неделю. Вроде всё делал по его "рецепту". Буду сейчас всё перечитывать и смотреть новые ссылки.
Ландсат - скачать не удалось из-за его размера. У нас интернет - слабенький совсем.
 
Расхождение - с Гуглом.
0 голосов
ответил 28 Янв, 08 от Lesnoy_Inok (820 баллов)
- привязывать с помощью GDown не вполне корректно, потому что растр совершенно зазря "сжимается" по широте (это легко заметить по разрешению) и большая мозаика от этого корежится. Об этом говорили не раз. Гугл ведь задуман был и исполнен в проекции "меркатор на сфере", через неё и надо привязывать для серьезных ГИС-работ. Примерно вот по такой методике.
 
Именно этой "методикой" я и пользовался. Именно там и указано: "Склейку  блоков можно делать программой Google Map
Stitch  (из  комплекта  Google  Down,  по ссылке
[1])". Что я и сделал.
 
- однако на несколько минут это не должно давать ошибок. Проекция, для которой GDown выдает world-файл - "меркатор на эллипсоиде WGS-84" и она указана вроде бы верно. Несколько минут это обычно ошибка в настройке проекции, проверьте. Если ваши данные улетают по широте на 20-25 км, то у вас там явно путаница с эллипсоидами.
 
Ошибка - возникает если указать другую систему координат (Pulkovo_1942_3_Degree_GK_CM_39E...).
 
- Если растр у вас уже есть, то на кой вам вообще геопривязка от GDown?

Растр - я собрал при помощи gstitcher_v32_1. Уже "пересобрал", используя для привязки строку, выданную Googeo.exe для моего верхнего левого "кусочка" - trtqsrrqqststqq.
(10024,5180,4476030.1526260376,9.543937109003309,7359062.6745147705,-9.543937109003309,005180_010024,trtqsrrqqststqq)
 
1. Проекцию вы поняли, меркатор на сфере (радиус сферы стандартный для ESRI 6371000 м). 
 
Про проекцию - давно понял, но не знал, что у меня - проекция была не на сфере. По ходу сборки снимка, я решил, что она именно на сфере.
Но, я уже пробовал вручную выставлять и сферу:
GCS_Sphere
Datum: D_Sphere
 
Никаких ощутимых результатов - то же савое завышение расстояния почти вдвое.
(Кстати, я не понял, как собственно, пользоваться файлом *.prj. В диалоге Импорта координатной системы он эти файлы не видит.  Может их надо из какого-то другого места импортировать...)
 
2. Разрешение для нужного уровня гугла (небось 17 или 18), можно взять из статьи по ссылке или вот отсюда
Уровень гугла - 15.
Разрешение - из Googeo
9.543937109003309
-9.543937109003309
3. Впишите это разрешение в первую и 4-ую строки world-файла, как в вашем примере вторая и третья строка - нули. Далее просто подвигайте растр лапой по любым ориентирам в проекции Меркатор на сфере Должен сесть как вкопанный. Масштабирование и привязка по точкам категорически не рекомендуются, разве что по одной-единственной. Просто сдвиг, просто подобрать положение в пространстве. 
Всё уже давно вписано:
9.543937109003309
0.0
0.0
-9.543937109003309
4473586.9047241211
7359062.6745147705
А куда и зачем двигать растр - я не понял. По координатом - всё и так совпадает "тип-топ"...
 
Остаётся всё та же проблема - при измерении расстояния - примероно 13,5 км вместо 6,5.
0 голосов
ответил 28 Янв, 08 от Vadim (28,120 баллов)

Т.е. вы так и не поняли почему, проводя измерения на Меркаторе получаете неверный результат?

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...