Досягнення цієї мети є дещо основним завданням у ГІС, однак метод у QGIS може бути нетривіальним. Ваш найкращий шанс - використовувати r.walk
функцію GRASS , яка створює анізотропну поверхню витрат (dem + нахил + інші фактори).
По-перше, ви повинні створити поверхню тертя як вхід до r.walk
. У вашому випадку це може бути однозначний растр (1.0), що відповідає обсягу вашої DEM. Ви можете створити його за r.mapcalculator
допомогою формули: A*0+1
де A - ваша DEM.
Далі ви повинні вибрати набір вихідних точок із свого CSV. Це бали, з яких буде обчислюватися поверхня накопиченої вартості. Ви повинні створити індивідуальну поверхню витрат з кожної початкової точки. Може бути розумним визначити кінцеві точки, пов'язані з кожною початковою точкою на цьому кроці (в окремих шарах поза курсом). Після цього можна запустити r.walk
зі створеними входами. Початкові точки можуть бути в одному шарі, ви можете перебрати їх зеленою стрілкою в діалоговому вікні.
Тепер в ідеальному випадку у вас є поверхні витрат і кінцеві бали для кожної поверхні витрат. Теоретично ви могли знайти шляхи з найменшими витратами r.drain
, але для мене це виявилося помилкою (python не міг імпортувати бібліотеку QgisRaster). Якщо ви працюєте в тому ж випуску, ви можете скористатися алгоритмом SAGA "Найменші шляхи витрат". Це створить точку та шар лінії для кожної кінцевої точки з поверхнею витрат (знову натисніть кнопку ітерації). Після того, як у вас з’являться всі рядки, ви можете об'єднати їх в єдиний файл форми за допомогою інструмента SAGA «Об’єднання шарів фігур».
Цей метод може бути дуже повільним із збільшенням очок, тому якщо у вас їх багато, ви можете спробувати автоматизувати метод за допомогою пітона. Вирахувати буде ще багато часу (особливо поверхонь вартості), але вам не доведеться створювати тонни кінцевих точкових шарів вручну.