Расчёт длин линий в ArcGIS

Arcview GIS 3.x, Arcinfo Workstation, Mapobjects
Ответить
panidi
Новоприбывший
Сообщения: 4
Зарегистрирован: 15 мар 2005, 12:12
Репутация: 0
Откуда: Санкт-Петербург
Контактная информация:

Расчёт длин линий в ArcGIS

Сообщение panidi » 15 мар 2005, 13:27

Добрый день.
Знает ли кто-нибудь, можно ли в ArcGIS вычислить длину геодезической линии.
Проблема в том, что ArcMap расчитывает длины в единицах в которых хранятся данные (т. е. в геодезических системах координат получаем длины в градусах, а в системах координат проекции - длины с искажениями вызваными искажениями проекции), а нужно вычислить длину линии на поверхности эллипсоида. Какой-то намёк на подобные вычисления есть в ArcToolbox->COGO, но как и для чего конкретно этим девайсом пользоваться я пока, к сожалению, разобраться не успел.
Если назовёте какой-либо другой софт (кроме Mapinfo :wink: ) который "умеет так делать", буду только рад.
Зарание спасибо всем кто откликнется.
С уважением. Евгений

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 18 мар 2005, 01:12

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

panidi
Новоприбывший
Сообщения: 4
Зарегистрирован: 15 мар 2005, 12:12
Репутация: 0
Откуда: Санкт-Петербург
Контактная информация:

Сообщение panidi » 18 мар 2005, 12:08

Спасибо за проявленное внимание.

В целом, именно это я и делаю. Разница в том, что длины требуется не померить напрямую инструментом ‘Measure’ (как я понял, вы предлагаете именно это), а именно вычислить длины программно. Сделать это можно в таблице базы данных шейпа (‘Calculate values…’), с помощью следующего кода (цитирую ArcMap):

Dim Output as Double
Dim pCurve as ICurve
Set pCurve = [Shape]
Output = pCurve.Length

Но (опять же цитирую ArcMap):

The units of the calculated values will be the units that your features are stored in. So if your data is stored in feet, the calculated values will be in feet. If you want the calculated data to be in different units than the data’s units, you could either add a conversion into the calculation expression, or (more simply) project your data into a coordinate system that uses the units you want the values to be in, and then perform the calculation.

А ‘Geographic coordinate systems’ координаты хранят естественно в градусах, а следовательно и длины вычисляют в градусах (как это ни странно). Для этих систем координат на метры можно изменить только единицы отображения, но не единицы хранения данных (или я не прав?). А перепроецирование влечёт за собой влияние искажений проекции при вычислениях, и длины соответственно получаются искажёнными.

Собственно использование ArcGIS для вычисления не принципиально, интересует хоть какой-нибудь продукт, который “умеет” вычислять длины геодезических линий на эллипсоидах. Просто по опыту общения с различными системами, ArcGIS внушает наибольшее уважение.

Вот такая весёлая задачка. Буду очень признателен за помощь.
С уважением. Евгений

yumakaev
Активный участник
Сообщения: 143
Зарегистрирован: 10 мар 2004, 08:07
Репутация: 10
Откуда: Redlands
Контактная информация:

Re: Расчёт длин линий в ArcGIS

Сообщение yumakaev » 19 мар 2005, 01:32

panidi писал(а):нужно вычислить длину линии на поверхности эллипсоида.
Можно воспользоваться популярной методикой Great Circle Calculation. Можно погуглить по этим ключевым словам, и найдёте множество сайтов и ссылок. Например:
http://mathforum.org/library/drmath/view/54680.html
http://216.147.18.102/dist/formula.html

Слабое место этой методики в том, что она расчитана на сферическую форму Земли. Но наверняка можно нарыть что-то и для эллипсоидальной.

Гость

Re: Расчёт длин линий в ArcGIS

Сообщение Гость » 21 мар 2005, 18:34

Из другого софта:
Geographic Calculator (http://www.bluemarblegeo.com/products/calculator.php). Выдержка из аннотации: "...you can transform between coordinate systems, calculate the distance and azimuth between coordinates, and calculate coordinates at a known distance and azimuth from known coordinates. The Geographic Calculator also computes grid convergence, point scale factor, datum shifts, and grid shifts. Of course, the Geographic Calculator is professionally documented and supported."
Также, вполне поддается лечению...

panidi
Новоприбывший
Сообщения: 4
Зарегистрирован: 15 мар 2005, 12:12
Репутация: 0
Откуда: Санкт-Петербург
Контактная информация:

Сообщение panidi » 22 мар 2005, 17:57

2yumakaev
Спасибо за подсказку. Без шуток, по непонятным причинам спросить у Яндекса приходит в голову в последнюю очередь. А по поводу слабого места методики согласен. Собственно поэтому была написана своя программка, которая этот расчёт и производит. Считать, она вроде бы считает, но хочется с чем-нибудь сравнить результат. Да и вообще, интересно, кто как производит подобные расчёты. В Google вроде бы что-то нарылось, буду разбираться дальше.

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

2All
Что ж, видимо на этом вопрос исчерпан. За внимание, ещё раз спасибо. Если кому-то данная тема интересна, обращайтесь, поделюсь тем что знаю.
С уважением. Евгений

Гость

Сообщение Гость » 22 мар 2005, 23:37

В смысле, не умеет? Там написано на чистом английском, что умеет, я сам считал как-то раз, причем в одной из первых версий программы, точно не помню, но винды95 уже появились. Может у тебя прога не "той системы"? К одной из последних версий была криво сделанная пилюля, помоему как раз к 6, она не работала ни хрена...
Вот здесь про эту прогу кое-что есть
а так в принципе любая рабочая версия это умеет, только справку придется прочесть:)

panidi
Новоприбывший
Сообщения: 4
Зарегистрирован: 15 мар 2005, 12:12
Репутация: 0
Откуда: Санкт-Петербург
Контактная информация:

Сообщение panidi » 23 мар 2005, 09:39

Ну тот Geographic Calculator которым довелось пользоваться мне, не умеет, не нашёл я в нём таких возможностей, хотя честно искал. Всё может быть. Опять же буду разбираться. Ещё раз thanks.
С уважением. Евгений

Ответить

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

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

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