Преобразование наборов точек в границы полигонов?

27

Я пытаюсь преобразовать наборы точек в соответствующие границы полигонов. Я думаю, что это что-то вроде диаграммы Вороного или выпуклой оболочки, но не совсем. Я уверен, что есть технический термин для этого, но я новичок в ГИС.

Это, вероятно, лучше всего иллюстрировать следующим изображением:

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

Итак, учитывая 4 набора точек (каждый набор в своем собственном цвете), каковы четыре полигона, окружающие каждый соответствующий набор точек, так что расстояние между полигонами максимизирует поля, и все полигоны встречаются вместе?

Вот упрощенный пример с 3 пунктами:

  • А, 43.656943, -79,393928, синий
  • В, 43,66663, -79,402682, зеленый
  • С, 43.656447, -79,408004, зеленый

Вам нужно будет просмотреть следующую графику, чтобы иметь смысл: введите описание изображения здесь

По сути, каждая точка имеет цвет, и вы расширяете буфер на определенное расстояние от нее, чтобы начать.

Сложная часть - это когда происходит столкновение с другими точками (их границами) и где вычисляется эта граница. Результатом является набор полигонов (по одному для каждого цвета / набора).

DFx
источник
1
Можете ли вы опубликовать пример данных? Таким образом, мы могли бы тестировать решения :)
RK
Я добавил пример выше. Надеюсь, это поможет.
DFx
возможный дубликат полигонов Тиссена в QGIS
blah238
1
Хорошо, я думаю, что я должен сделать, это взять все точки всех цветов и выполнить Вороного на них. После этого объедините получившиеся полигоны вместе, которые имеют одинаковые цвета. В конце у меня должен быть мой набор многоугольников (один для каждого цвета). Я не уверен, как именно это сделать в QGIS ...
DFx
2
Что именно вы подразумеваете под "интервалом, максимизирующим поля"? Ответ на это определяет решение.
whuber

Ответы:

24

С вашего точечного слоя

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

Вы можете создавать Вороной плогони

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

Что приведет к этому

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

Затем создайте маску из процесса триангуляции Делоне

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

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

А затем обрежьте слой полигонов Вороного.

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

Это было бы достаточно хорошо?

Вы также можете попробовать объединить маску триангуляции Делоне с буфером вашего точечного слоя.

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

и использовать это, чтобы обрезать ваши полигоны Вороного вместо

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

RK
источник
5
Вы также можете просто запустить DISSOLVE (из меню Vector-> Geoprocessing) на полигонах Delauney или Voronoi, чтобы получить объединенные полигоны, которые вы пытаетесь представить.
RyanDalton
+1 - опереди меня ... хорошенько подумав об объединенном буфере, и с предложением @ RyanDalton о роспуске это должно ответить на первоначальный вопрос!
Симбамангу
21

Полигоны Вороного с распадом дадут вам первую часть. Начиная с ваших очков, каждый набор должен иметь свой уникальный идентификатор (в данном примере 'col'). Три значения col с набором точек: введите описание изображения здесь

Вектор | Инструменты геометрии | Полигоны Вороного с буфером 20% дают вам «границу между точками»: введите описание изображения здесь

Используя 'col' в качестве переменной растворения с инструментами Vector | Geoprocessing | Dissolve, вы получаете объединенные полигоны вокруг каждого набора точек: введите описание изображения здесь

Vector | Инструменты геообработки | Выпуклые оболочки могут дать вам выпуклую границу вокруг ваших точек, которую вы можете использовать для обрезки растворенных границ: введите описание изображения здесь введите описание изображения здесь

Тем не менее, из вашего первого примера вам, кажется, нужно будет обрезать вогнутый корпус (плюс некоторое расстояние до буфера?); вогнутый корпус - функция, которую я не смог найти; PostGIS имеет функцию .

Simbamangu
источник
Круто - спасибо, это отличный ответ. Я просто отдаю его РК из-за более подробных инструкций, но я действительно ценю это!
DFx
@DFx - не беспокойтесь, было бы любопытно посмотреть, каким методом вы в конечном итоге придете (возможно, когда-нибудь отредактируйте исходный вопрос с помощью полного решения).
Симбамангу
@ Симбамангу, я могу понять твой ответ, но у меня есть небольшое сомнение в этом. Когда я пытаюсь преобразовать многоугольники, основанные на цвете, который он преобразовывает, но только как один цветной многоугольник. В чем ошибка с этим?
Арун
Арун - вы, вероятно, решили раствориться только на геометрии, а не на конкретной области. Или вы просто не стилизовали получившийся слой. (Я знаю, что этому вопросу 2+ года, но, может быть, у других он тоже есть)
til_b