Создание слоя Scratch дает мне выбор между Polygon и Multipolygon, поэтому я задумался, как их использовать.
Читая новую книгу «Освоение QGIS» (через этот ответ Джозефа на « Что означает буфер в диалоге QGIS Voronoi?» ), Авторский комментарий был"ESRI shapefiles store geospatial data in multi- type geometry, so using multi- type geometry is a good practice if you plan on converting between formats."
Как выбрать один из них (полигон или мультиполигон) при создании нового слоя полигона? (Я перепутал multi-polygon с multipart-polygon, поэтому я выбирал Polygon.)
Одна из недавних ситуаций, в которых я решил выбрать Polygon / Multipolygon, - « Изменение длины параллельной линии для разделения полигона в QGIS? в котором я рисую фиктивный многоугольник в качестве фонового слоя. Работая в основном с шейп-файлами, казалось, я должен был выбрать Multipolygon, хотя мне нужен был только один полигон. В этом случае мне нужна была простая геометрия многоугольника без каких-либо атрибутов (не уверен, что в этом примере есть какое-либо различие.)
Ответы:
С более формальной точки зрения я сообщаю об определении как многоугольника, так и многоугольника (следующий текст и изображения взяты из этого документа стандартов OGC® , все ссылки на цитируемый источник).
многоугольник
Полигон - это плоская поверхность, определяемая 1 внешней границей и 0 или более внутренними границами. Каждая внутренняя граница определяет отверстие в многоугольнике.
Внешняя граница LinearRing определяет «вершину» поверхности, которая является стороной поверхности, с которой внешняя граница пересекает границу в направлении против часовой стрелки. Внутренние LinearRings будут иметь противоположную ориентацию и выглядеть как по часовой стрелке, если смотреть сверху.
Утверждения для Полигонов (правила, которые определяют допустимые Полигоны) следующие:
Ниже приведены несколько примеров полигонов:
MultiPolygon
MultiPolygon - это MultiSurface, элементами которого являются Polygons.
Утверждения для мультиполигонов следующие:
Граница MultiPolygon представляет собой набор замкнутых кривых (LineStrings), соответствующих границам его элемента Polygons. Каждая кривая на границе MultiPolygon находится на границе ровно одного элемента Polygon, а каждая кривая на границе элемента Polygon находится на границе MultiPolygon.
Ниже приведены несколько примеров мультиполигонов:
источник
Шейп-файловые многоугольники строятся из одного или нескольких замкнутых колец. Если форма имеет несколько колец, они могут быть внешними и внутренними (например, формировать пончик) или множественными внешними (например, цепочка островков).
Конечно, наличие нескольких экстерьеров не мешает иметь одно или несколько внутренних колец на каждой фигуре. Спецификация шейп-файла утверждает, что:
Шейп-файлы не делают различий между этими объектами - все они являются полигонами (и каждая геометрия связана с одной записью dBase).
Тем не менее, некоторые инструменты делают делают различие, QGIS является одним из них. Если все, что вам когда-либо понадобится в шейп-файле, это простые формы с одним кольцом , тогда вы можете смело выбирать Polygon. Если фигуры могут содержать «дыры», также можно выбрать полигон. Однако, если некоторые фигуры могут содержать несколько внешних колец, вам нужно выбрать Multipolygon.
источник