Підхід теплової карти:
Цей підхід забирає більше часу, завдяки часу обчислення етапів обробки. Це може розглядатися як ідея, можливо, наблизитися до більш загального рішення.
Дані тесту:
- QGIS 2.18.16, GASS GIS 7
- 4 GPS-доріжки
- в межах сітки 1х1км
І.)
Створюйте точки уздовж ваших GPS-треків за допомогою плагінів QGIS-розташування точок уздовж ліній ( https://plugins.qgis.org/plugins/LocatePoints/ ). Для підходу до теплової карти я використав інтервал 2 м .
II.)
Створіть теплову карту за допомогою плагіна QGIS теплової карти. Я використав радіус 40м. Я збільшую радіус до тих пір, поки у вихідному растрі немає дірок. Ви повинні спробувати це з різними значеннями радіуса.
III.)
ВЕДЕНО Не потрібно проводити точне значення растру на тепловій карті.
Тепер я хочу відточити растр до «білих» областей, де зосереджено найбільше балів. Для цього я перерахую вихідний растр. Значення min / max вихідного растру є 0
і 89.7935
. Я використовую лише значення вище 44
. Для цього я застосував "велике правило". Закруглете вниз значення максимуму і розділіть його на два. Оцініть цю величину іншим разом. 89/2 = 44,5
-> 44
. Я використовував OSGeo4W Shell: gdal_calc -A heatmap.tif --calc="A>=44" --NoDataValue=0 --outfile=heatmap_44_NoData.tif
.
IV.)
ВИДАЛЕНО
а) Полігонізуйте перерахунок теплової карти с Raster > Conversion > Polygonize ...
б) Спростіть багатокутник Vector > Geometry Tools > Simplify geometries
. Я використав толерантність до 2
. Більш простий багатокутник скорочує час обробки скелетів.
в) Обчисліть скелети: шукайте скелет у Панелі інструментів обробки. Використовуйте v.voronoi.skeleton
інструмент з команд GRASS GIS 7.
Ви можете бачити, що отриманий рядок представляє більше найбільш вірогідне положення сліду, ніж у моїй першій відповіді. Спеціально для вигину на півночі середня лінія слідує за трьома слідами, які ближче один до одного. Те саме для вигину на Сході.
Переваги підходу:
- розумно хороші результати виключно за допомогою QGIS
Недоліки:
- час обробки великих наборів даних
- Ви повинні спробувати параметри апріорі (радіус теплової карти, значення min / max)
- важко автоматизувати етапи обробки
- не перевірено на вузькі вигини / криві та на сліди, які дійсно виходять з лінії
Якщо хтось може оптимізувати етапи обробки, ласкаво просимо!