Знаходження відстані між точками вздовж річки (Лінійне посилання)


10

Я новачок в gis і вражений. У мене є мережа річок, яка складається з невеликих рядків (поліліній). В іншому форматі я маю розташування кількох станцій на річці. Мені потрібно знайти відстань уздовж річки від кожної станції до кінця річки.

Проблема полягає в тому, що у мене немає жодної повної лінії річки річки. І немає спільного атрибута, який я можу використати для об'єднання або об'єднання рядків. Також деякі станції знаходяться на притоках.

введіть тут опис зображення

Отже, підсумком є ​​те, що мені потрібно створити велику мережу річок, включаючи притоки, та здійснити посилання на лайнери. Але я не знаю, як це зробити. Будь-яка допомога глибоко вдячна. Будь ласка, поясніть якомога чіткіше.

Будь ласка, прокоментуйте, якщо вам потрібна додаткова інформація.


3
Яку програмну платформу ви використовуєте?
TheSteve0

я спробував arcmap arcinfo. Але це була велика інформація про лінійне посилання. Потім я перейшов до pgRouting та QGIS. Досі бореться.
Нареш

Чи маєте ви доступ до розширення ArcGIS Network Analyst? Я думаю, що можна було б створити мережевий набір даних за допомогою ваших річок, і тоді пошук найкоротших відстаней повинен бути справді простим.
radek

Відповіді:


2

Я б погодився з BWill. Ваша основна проблема - визначити походження кожної полілінії. Що являє собою "річка"? Ι зробив би припущення, що приток є окремим "маршрутом", починаючи з 0-> довжини притоки. Тоді я б те ж саме для основних річок, але в цьому випадку я створив би злитий поліліній з усіх складових поліліній. Я думаю, що колись у вас з’явиться, що ви майже «там». Потім: Перетворіть всі ваші об'єднані полілінії в Вимірені полілінії (PolylineM) - включаючи притоки. Потім у вас є "маршрутна мережа". З цього моменту питання про пошук відстані по маршруту для кожної станції. Я думаю, місця розташування станцій визначені в XY? Також - ще одна здогадка - вони не падають рівно на вершину річки, вони? У будь-якому випадку вам знадобиться спосіб пошуку відстані станції від початку кожної річки чи притоку. Теоретично, якщо станція знаходиться на перетині річки та притоки, вона може мати 2 місця (по одному для кожної).

Щоб знайти це місце, ви можете скористатися інструментами ArcMap, але не користуєтесь ними деякий час, тому не можу запам'ятати верхню частину моєї голови. З іншого боку, якщо ви імпортуєте свої файли форм (?) В PostGIS, ви можете використовувати ST_Line_Locate_Point . Ця функція:

Повертає поплавок між 0 і 1, що представляє місце найближчої точки на LineString до даної точки, як частка загальної довжини 2d лінії.

Це означає, що потім ви можете знайти розташування вздовж річки, помноживши те, що ви знайдете, на довжину (злитої) річки. Підсумкове зауваження. Якщо ви використовуєте PostGIS, вам не доведеться пройти крок створення PolylineM - тільки для ArcGIS це потрібно для лінійного посилання.

Сподіваюся, це має сенс!


мої станції знаходяться саме на притоках чи річці. Дурне, що немає жодної великої річки, лише невеликі відрізки ліній. Я бачу велику річку, але самі дані не мають спільного атрибуту, щоб зробити повну річку. Крім того, у мене є координати в градусах, тож коли я створюю маршрути в arcmap, я отримую довжину в градусах? Я думаю, що це не має сенсу. Мені довелося конвертувати координати з wgs84 в якусь іншу проекцію. І так, я імпортував форму файлів у PostGIS.
Нареш

1

З мого питання такого ж характеру,

Як створити точку вздовж прямої заданої відстані

з'явилися наступні корисні посилання.
grass.osgeo.org/gdp/html_grass63/lrs.html
wiki.faunalia.it/dokuwiki/doku.php/qgis/lrs

Я не закінчую своє завдання через брак зусиль. Я вважаю, що титул, який ви будете відчувати, визначає походження кожної полілінії.


2
я досяг певного прогресу. Я можу знайти найкоротший шлях за допомогою pGrouting, але мені потрібно оновити "вузли". Зараз я створюю таблицю вузлів у postgresql і використовую її для створення мережі, яку я подаю до pgrouting. Але мені потрібно додати в таблицю користувацькі вузли, які не є кінцевими вузлами. Швидкий спосіб - розділити мої полілінії на станціях, щоб вони стали автоматично вузлами. Досі працює. Оновлення незабаром.
Нареш
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.