Расстояние

0 голосов
спросил 16 Май, 10 от Swallow (2,740 баллов) в категории Программные продукты Esri
Можно как нибудь программно вычислить расстояние между двумя объектами? Ну либо вообще как нибудь. В ArcMap'е. Подскажите пожалуйста, либо ссылочку где можно почитать как это сделать. А то что то искал и ничего не нашел на эту тему.    

28 Ответы

0 голосов
ответил 16 Май, 10 от Zatoichy (220 баллов)
Взять координаты первого, взять второго и посчитать?
0 голосов
ответил 16 Май, 10 от TDenis (42,620 баллов)
IProximityOperator.ReturnDistance
0 голосов
ответил 16 Май, 10 от Swallow (2,740 баллов)
IProximityOperator.ReturnDistance

    Что то выводит, но в виде Double непонятным для глазу. Если переводить в int то получается 0. Странно как то(
0 голосов
ответил 16 Май, 10 от Swallow (2,740 баллов)
Взять координаты первого, взять второго и посчитать?

    Знать бы как) Без примеров врядли разберусь)
0 голосов
ответил 16 Май, 10 от Swallow (2,740 баллов)
IProximityOperator.ReturnDistance

    Мне бы как нибудь сделать, чтоб расстояние выводилось в км, либо милях) Можно будет как нибудь так сделать?
0 голосов
ответил 16 Май, 10 от TDenis (42,620 баллов)
Используется система координат ваших фигурок.
Как задали - так и посчитает :)
0 голосов
ответил 16 Май, 10 от Swallow (2,740 баллов)
Используется система координат ваших фигурок.
Как задали - так и посчитает :)

    dDist = pProxOp.ReturnDistance(pGeom1)
    MsgBox "The distance is: " & int(dDist)
А почему в таком варианте тогда ноль получается?)
Мне бы для начала хоть как нибудь перевести из double в другой формат удобный для вывода пользователю)
0 голосов
ответил 16 Май, 10 от TDenis (42,620 баллов)
Сколько в double? Может быть там и есть ноль?
Карта как настроена, на какие единицы?
Источник данных в какой СК?
0 голосов
ответил 16 Май, 10 от Swallow (2,740 баллов)
В double 8,28432286583969E-04 не похоже на ноль) да и значения разные были.
У карты координатная система GCS_WGS_1984 и измерения в градусах. Видимые в километрах.
0 голосов
ответил 16 Май, 10 от TDenis (42,620 баллов)
Если переводить в int то получается 0. Странно как то(

В double 8,28432286583969E-04 не похоже на ноль)

Что странного? Почти ноль и есть.
У карты координатная система GCS_WGS_1984 и измерения в градусах.

Задали географическую систему для данных, вот он вам и возвращает в градусах.
Пробуйте IUnitConverter.ConvertUnits, либо можно попробовать спроецировать обе фигурки с помощью IGeometry.Project.
Видимые в километрах.
Либо это значение в километрах и есть (хотя вряд ли). Проверяйте, у меня сейчас ArcGIS под рукой нет.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...