Нам нужно найти расстояние ряда точек вдоль заданной полилинии.
У нас есть набор данных полилинии, представляющий реки в водосборном бассейне, разбитые на речные течения (например, FID с 1 по 35).
У нас также есть точечный набор лицензий на забор в пределах этого водосбора, некоторые из которых расположены вдоль рек - из таблицы атрибутов мы можем сказать, что это так, как они определены как лицензии на подземные или поверхностные воды.
Два не связаны - то есть один не был получен из другого. Поэтому не все лицензии на поверхностные воды лежат точно над речными полилиниями, несмотря на то, что на этих реках «реальность».
Мы должны быть в состоянии видеть, какие точки находятся «вверх / вниз по течению» друг от друга, и поэтому нам хотелось иметь список, по какой реке достигается точка, в которой находится точка, с последующим расстоянием вниз по течению от начала этого охвата. Затем мы можем сравнить нисходящие расстояния двух точек, чтобы увидеть, какой из них находится выше по течению, а какой ниже по течению - желаемый результат!
Чтобы решить проблему нахождения точек на / очень близко к рекам, нам сказали использовать (маленький) буфер вокруг каждой границы реки, а затем запросить буфер, чтобы найти точки внутри него.
Это нормально, но у нас остается область (буфер), а не линия, поэтому мы не можем измерить расстояние вдоль / внутри этого.
Можем ли мы использовать буфер, как описано, чтобы узнать точки на / около реки, о которой идет речь, и затем каким-то образом (?!) Запросить эти точки на расстояние вдоль реки (сегмент полилинии)?
Ответы:
Это идеальная задача для возможностей линейных ссылок в ArcGIS. См. Справку по определению местоположения вдоль маршрутов и пробы оттуда. Инструменты включают в себя возможность превращать слой точек рядом с маршрутом (река достигает) в дескрипторы «точечного события», которые обозначают маршрут (досягаемость) и расстояние от начала маршрута. Это именно то, что вы хотите. Более того, эти инструменты допускают устанавливаемую пользователем «допуск»: точки не обязательно должны лежать точно на маршрутах.
Рабочий процесс:
Сделайте, чтобы река достигла «измеримости». Это настраивает способность находить расстояния вдоль каждой досягаемости.
Представлять точки как точечный слой.
Используйте инструмент для создания «таблицы событий» для точек относительно маршрутов.
Проверьте свою работу, потому что вам может понадобиться изменить направление некоторых участков реки в зависимости от того, насколько последовательно они были оцифрованы.
источник
Я никогда не пробовал это, но вы могли бы рассмотреть это как проблему обратного геокодирования . Это можно сделать путем создания локатора адресов для ваших рек, рассматривая показатель как адрес «От» и «К».
источник
Использовать рядом (анализ)
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00080000001q000000.htm
источник
http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/QueryPointAndDistance_Method/002m00000116000000/
Атрибут DistanceAlongCurve даст вам то, что вы ищете. Но только для одной реки.
источник
http://resources.arcgis.com/en/help/main/10.1/index.html#//004800000006000000
Этот инструмент берет в сети (у вас должен быть сетевой аналитик) и очки. После применения инструмента вы получите значение t (значение от 0 до 1) как PosAlong. Значения хранятся в таблице точек ввода. Так как 0 - начальная точка полилинии, а 1 - конечная точка, вам нужно умножить ее на длину полилинии. У вас также есть SourceOID, который является полилинейным идентификатором в той же таблице.
источник