У меня есть два векторных слоя: одна точка и один многоугольник, и я хочу вычислить минимальное расстояние каждой точки от многоугольников (то есть расстояние от ближайшей точки ближайшего многоугольника).
Есть ли в QGIS плагин для этого?
У меня есть два векторных слоя: одна точка и один многоугольник, и я хочу вычислить минимальное расстояние каждой точки от многоугольников (то есть расстояние от ближайшей точки ближайшего многоугольника).
Есть ли в QGIS плагин для этого?
Ответы:
Преобразование полигона в точки сначала плохая идея. Вы не будете рассчитывать расстояние до вашего многоугольника, вы будете рассчитывать расстояние до ближайшего узла ваших многоугольников (а не ребер, которые могут быть ближе). Вы можете использовать плагин NNJoin, чтобы получить точные измерения для вашего полигона. Убедитесь, что ваши слои находятся в одной проекции, прежде чем выполнять анализ.
Если вы хотите использовать QGIS, функция GRASS v.distance в плагине GRASS должна выполнить эту работу. NNJoin плагин должен работать для небольших наборов данных, и является менее обременительным для использования.
NNJoin плагин использует функцию QgsGeometry.distance () (который использует GEOSdistance) для вычисления расстояния.
Сначала преобразуйте полигон в точки:
Вектор -> Инструменты геометрии -> Узлы извлечения
Добавьте этот новый слой, затем вычислите матрицу расстояний между слоем точек и новым слоем с многоугольниками, которые вы только что создали.
Вектор -> Инструменты анализа -> Матрица расстояний
Обязательно выберите «Использовать только ближайшие (k) целевые точки» в качестве 1