Знаходження відстані точки вздовж полілінії за допомогою ArcGIS Desktop?


23

Нам потрібно знайти відстань ряду точок вздовж заданої полілінії.

У нас є полілінійний набір даних, що представляє річки в водозборі, розбиті на річкові потоки (наприклад, FID 1 - 35).

Ми також маємо точковий набір ліцензій на заборонення в межах цього водозбору, деякі з яких розташовані вздовж річок - із таблиці атрибутів ми можемо сказати, що це, як вони визначені як ліцензії на ґрунтові або поверхневі води.

Два не пов'язані між собою - тобто одне не було похідне від іншого. Тому не всі ліцензії на поверхневі води лежать саме над річковими полілініями, незважаючи на те, що в реальності вони знаходяться на цих річках.

Нам потрібно вміти бачити, які точки є "вгору / вниз за течією" одна від одної, і тому хотілося скласти список, на якій річці доходить точка, а потім відстань вниз за течією від початку цього досягнення. Тоді ми можемо порівняти відстані двох точок у нижній течії, щоб побачити, яка є вище, а яка нижче - за бажаним результатом!

Щоб вирішити проблему пошуку точок на / дуже близько до річок, нам сказали використовувати (невеликий) буфер навколо кожної річки, а потім запитати буфер, щоб знайти точки в ньому.

Це добре, але тоді нам залишається область (буфер), а не лінія, тому ми не можемо виміряти відстань уздовж / в межах цього.

Чи можемо ми використовувати буфер, як описано, щоб дізнатись точки на / біля річки, про яку йдеться, а потім якось (?!) Запитувати ці точки на відстань уздовж річки (полілінійний відрізок)?


чи є у вас поліклінічний клас класів, що містить FID досягаючого потоку?
Кірк Куйкендалл

чи потрібно це робити в arcmap чи ти можеш використовувати arcobjects?
Стів

RivEX може генерувати такий тип вихідних даних, переглядати інструменти для оснащення та зв’язування.
Hornbydd

Відповіді:


22

Це ідеальне завдання для можливостей лінійного посилання в ArcGIS. Дивіться довідку щодо розміщення функцій уздовж маршрутів та зонду звідти. Інструменти включають можливість перетворення шару точок біля маршруту (річка досягає) в дескриптори "події точки", які називають маршрут (досяжність) та відстань від початку маршруту. Саме цього ви хочете. Більше того, ці інструменти дозволяють встановити "толерантність", встановлену користувачем: точки не повинні лежати саме на маршрутах.

Робочий процес:

  1. Зробіть, щоб річка досягала "вимірюваної". Це налаштовує можливість знаходити відстані по кожному досяганню.

  2. Представити точки як точковий шар.

  3. За допомогою інструменту створіть "таблицю подій" для точок відносно маршрутів.

  4. Перевірте свою роботу, тому що вам може знадобитися змінити напрямки деяких річкових проток, залежно від того, наскільки послідовно вони були оцифровані.


+1. Вони також повинні дивитись, як зробити річки в геометричну мережу, щоб використовувати інструменти, які отримують функції вгору / вниз за течією, шляхи тощо.
geographika

Дітто. ArcGIS може зробити все важке зняття цієї проблеми з інтерполяцією en.wikipedia.org/wiki/Інтерполяція
Рагі Ясер Бурхум

1
Слід зазначити, що вам потрібно мати набір даних точок і набір даних маршруту в одній і тій же системі координат. Інструмент "Знайти функції вздовж маршрутів" не буде працювати для мене належним чином, поки я не здійснив повторний проект функції моєї лінії в тій самій системі координат, що і мій точковий файл, а потім я створив подію маршруту із зазначеної перепроектованої функції лінії.
giski

@Matiss Дякую за нагадування Незважаючи на можливості "перемоги" в сучасних ГІС, все ж таки випадок, що єдиним надійним способом проведення ваших аналізів є переконання, що всі набори вхідних даних фізично зберігаються в загальній (і відповідної) системі координат.
whuber

@whuber, ти завжди допомагаєш.
SIslam




1

http://resources.arcgis.com/en/help/main/10.1/index.html#//004800000006000000

Цей інструмент займає мережу (у вас повинен бути Network Analyst) і бали. Після застосування інструменту у вас з’являється значення t (значення від 0 до 1) як PosAlong. Значення зберігаються у таблиці вхідних точок. Оскільки 0 є початковою точкою полілінії, а 1 - кінцевою точкою, потрібно помножити її на довжину полілінії. У вас також є SourceOID, який є полілінійним ідентифікатором у цій же таблиці.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.