Расчет максимального расстояния от центра многоугольника до границы многоугольника

9

У меня есть готовый полигон в QGIS. Я хочу рассчитать максимально возможное расстояние в километрах от центра тяжести многоугольника до границы этого многоугольника.

Мне нужны две вещи:

  • Максимально возможное расстояние от центра тяжести многоугольника до его границы
  • центр многоугольника (широта / долгота)
ГИС Данные Мясник
источник

Ответы:

6

Чтобы получить центроид, вы можете использовать Vector-> Geometry Tools-> Polygon Centroids. Затем, чтобы получить координаты, вы можете либо добавить пару полей в таблицу атрибутов и использовать калькулятор полей, установленный в $ x и $ y соответственно для каждого поля, или использовать плагин Coordinate Capture.

Чтобы получить максимальное расстояние, вам нужно будет проделать немного больше работы. Очень простой подход - преобразовать полигон в узлы (Vector-> Geometry Tools-> Extract Nodes) и затем использовать инструмент матрицы расстояний (Vector-> AnalysisTools-> Distance Matrix). Это даст вам расстояние до каждой вершины многоугольника, и вам просто нужно просеять результат, чтобы получить наибольшее значение. Чтобы повысить точность этого подхода, вы можете сначала уплотнить свои вершины. Если вы убедитесь, что ваши точечные наборы данных центроида и узлов сохраняют идентификатор из многоугольника, эта операция должна быть простой.

Вы также можете использовать функцию PostGis ST_Distance_spheroid вместо функции QGIS Distance Matrix, так как это даст вам линейное расстояние на сфероиде и, возможно, сохранит вас, когда вы перепроектировали свои данные. К сожалению, функция ST_Distance дает вам только минимальное расстояние, поэтому в любом случае вам нужно будет перебрать все точки для данного многоугольника.

MappaGnosis
источник
на самом деле у меня есть угловые точки и центроид (широта / долгота) многоугольника в Excel .. как мы можем сделать это в Excel .. любой для формулы .. У меня есть центроид в столбце «A» и список угловых точек в столбце «B». Как я мог рассчитать макс. Возможное расстояние в колонке "C.
ГИС Мясник данных
Матрица расстояния возвращает расстояние в градусах. Я хочу это на км. Я не могу преобразовать эти данные в любой конкретный UTM-проектор. потому что это покрывает всю страну Индии. Любой трюк для этого.
ГИС Data Butcher
1
Вы должны сделать большой расчет расстояния круга. Ищите этот сайт для 'Haversine'.
MappaGnosis
2
(1) Если многоугольник не очень большой, нет необходимости уплотнять вершины: максимальное расстояние до границы должно быть в одной из вершин (используя евклидовы вычисления). (2) Если полигон находится в полушарии, почему бы не вычислить кратчайшее расстояние между полигоном и антиподом его центра? Точка (и) на многоугольнике, где достигается это кратчайшее расстояние, будет максимально удалена от центра. Антипод получается путем отрицания широты и добавления 180 градусов (по модулю 360) к долготе; например , антипод (lon, lat) = (2,50) находится в (-178, -50).
whuber