Comprendre la différence entre Polygone et Multipolygone pour les fichiers de formes dans QGIS?

30

La création d'une couche Scratch me donne le choix entre Polygone et Multipolygone, alors j'ai commencé à me demander comment les utiliser.

Nouveau calque Scratch Temp

En lisant un nouveau livre "Mastering QGIS" (à travers cette réponse de Joseph à Que signifie tampon dans la boîte de dialogue QGIS Voronoi? ), Le commentaire des auteurs était"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."

Comment choisir l'un d'entre eux (Polygone ou Multipolygone) lorsque je crée une nouvelle couche de polygones? (J'avais confondu multi-polygone avec multi-polygone, j'ai donc l'habitude de choisir Polygon.)

Une situation récente dans laquelle j'ai choisi Polygone / Multipolygone était la modification de la longueur de ligne parallèle pour diviser le polygone dans QGIS? dans lequel je dessine un polygone factice comme couche de fond. Travaillant principalement sur des fichiers de formes, il semblait que je devais choisir Multipolygon, même si je n'avais besoin que d'un seul polygone. Dans ce cas, ce dont j'avais besoin était une géométrie de polygone simple sans aucun attribut (je ne suis pas sûr que cet exemple fasse une distinction.)

Kazuhito
la source
Vous n'avez pas fourni suffisamment d'informations pour vous aider à choisir. Veuillez modifier la question pour spécifier ce que le calque de travail doit contenir. Notez que le livre est trompeur, dans la mesure où les fichiers de formes ne stockent pas de géométries multi-types; au lieu de cela, ils ne font tout simplement pas de distinction entre les lignes ou les polygones en une ou plusieurs parties.
Vince
@Vince Merci. J'ai ajouté une expérience récente dans laquelle je devais en choisir une. Je ne sais pas si cet exemple simpliste a un sens.
Kazuhito
@Vince En ce qui concerne la dernière partie de votre commentaire, est-ce que je n'ai pas à me soucier du simple ou du multi, pour autant que je vais enregistrer la couche en tant que fichier de formes sur le disque?
Kazuhito

Réponses:

36

D'un point de vue plus formel, je rapporte la définition à la fois d'un polygone et d'un multipolygone (le texte et les images suivants proviennent de ce document des normes OGC® , tous les crédits à la source citée).


Polygone

Un polygone est une surface plane définie par 1 limite extérieure et 0 ou plusieurs limites intérieures. Chaque limite intérieure définit un trou dans le polygone.

Le contour extérieur LinearRing définit le «haut» de la surface qui est le côté de la surface à partir duquel le contour extérieur semble traverser le contour dans le sens antihoraire. Les anneaux linéaires intérieurs auront l'orientation opposée et apparaîtront dans le sens horaire lorsqu'ils sont vus du "haut".

Les assertions pour les polygones (les règles qui définissent les polygones valides) sont les suivantes:

  1. Les polygones sont topologiquement fermés;
  2. La limite d'un polygone se compose d'un ensemble d'anneaux linéaires qui composent ses limites extérieures et intérieures;
  3. Deux anneaux dans la frontière ne se croisent pas et les anneaux dans la frontière d'un polygone ne peuvent se croiser en un point, mais seulement en tant que tangente;
  4. Un polygone peut ne pas avoir de lignes de coupe, pointes ou perforations;
  5. L'intérieur de chaque polygone est un ensemble de points connectés;
  6. L'extérieur d'un polygone avec 1 ou plusieurs trous n'est pas connecté. Chaque trou définit un composant connecté de l'extérieur.

Ci-dessous quelques exemples de polygones:

entrez la description de l'image ici


Multipolygone

Un MultiPolygon est un MultiSurface dont les éléments sont des polygones.

Les affirmations pour MultiPolygons sont les suivantes:

  1. Les intérieurs de 2 polygones qui sont des éléments d'un MultiPolygon ne peuvent pas se croiser;
  2. Les limites de 2 polygones quelconques qui sont des éléments d'un multi-polygone ne peuvent pas «se croiser» et peuvent toucher uniquement un nombre fini de points;
  3. Un MultiPolygon est défini comme étant topologiquement fermé;
  4. Un MultiPolygon peut ne pas avoir de lignes de coupe, de pointes ou de perforations, un MultiPolygon est un ensemble de points fermés réguliers;
  5. L'intérieur d'un MultiPolygon avec plus d'un polygone n'est pas connecté; le nombre de composants connectés de l'intérieur d'un MultiPolygon est égal au nombre de Polygones dans le MultiPolygon

La limite d'un MultiPolygon est un ensemble de courbes fermées (LineStrings) correspondant aux limites de son élément Polygons. Chaque courbe dans la limite du polygone multiple se trouve dans la frontière d'un polygone d'élément exactement, et chaque courbe dans la frontière d'un polygone d'élément est dans la frontière du polygone multiple.

Ci-dessous quelques exemples de MultiPolygons:

entrez la description de l'image ici

mgri
la source
+1 Merci beaucoup! C'est tellement utile. Cela a dû prendre beaucoup de temps pour les résumer dans un style si concis, je ne peux pas imaginer comment je pourrais le faire ... Il semble donc que ce soit un ensemble de polygones de collection, un ensemble de surfaces, et soutenu par des directives plutôt lâches dans termes de topologie (juste ma première impression). Je vais lire et relire du matériel lié, c'est très intéressant!
Kazuhito
Je pense que vous devez penser à un multipolygone d'un point de vue géométrique. La différence la plus claire que je vois est que, à partir de n'importe quel emplacement sur la surface du polygone, vous pouvez atteindre n'importe quel autre emplacement sur celle-ci, tandis que pour un multipolygone n'est pas toujours vrai (voir pour référence les derniers exemples pour les deux catégories dans les images ci-dessus jointes) ).
mgri
J'ai compris, merci. Oui, une seule géométrie contiguë ou non, .. cela fait une grande différence. La seule question qui me pose problème est de savoir comment mettre un objet en plusieurs parties en fonction de ces distinctions.
Kazuhito
1
Qu'est-ce qui fait que le premier exemple MultiPolygon y appartient?
Stijn
1
@Stijn le premier exemple est un multipolygone car, dans certains cas, deux points à l'intérieur peuvent être connectés par une ligne qui n'est pas entièrement contenue dans le polygone lui-même. Ce comportement n'est pas autorisé pour un polygone, il s'agit donc d'un multipolygone.
mgri
13

Les polygones de fichiers de formes sont construits à partir d'un ou plusieurs anneaux fermés. Si une forme a plusieurs anneaux, ils peuvent être extérieurs et intérieurs (par exemple, former un beignet), ou multiples extérieurs (par exemple, chaîne d'îlot). entrez la description de l'image ici

Bien sûr, avoir plusieurs extérieurs n'empêche pas d'avoir un ou plusieurs anneaux intérieurs sur chaque forme. La spécification du fichier de formes indique que:

  1. Les anneaux extérieurs doivent être dans le sens horaire, tandis que les anneaux intérieurs doivent être dans le sens antihoraire (cette convention est connue sous le nom de règle de droite car la forme serait toujours sur votre droite lorsque vous parcourez le périmètre; malheureusement, elle peut également être connue sous le nom de règle de la main gauche , car les anneaux extérieurs suivent la direction d'une main gauche enroulée avec le pouce pointé vers le haut à partir du haut de la figure)
  2. Les anneaux intérieurs doivent toujours suivre l'anneau extérieur qu'ils séparent
  3. Aucun anneau extérieur ou intérieur ne peut se chevaucher ou partager une bordure commune (ces fonctionnalités peuvent être remplies, mais elles ne sont pas valides et peuvent provoquer d' étranges échecs de géotraitement).

Les fichiers de formes ne font pas de distinction entre ces objets - ils sont tous des polygones (et chaque géométrie est associée à un enregistrement dBase).

Cependant, certains outils font une distinction, QGIS étant l' un d'entre eux. Si tout ce que vous jamais avoir dans un shapefile est simples d' un anneau de formes, vous pouvez en toute sécurité choisir Polygon. Si les formes peuvent contenir des "trous", il est également prudent de choisir Polygone. Si, cependant, certaines formes peuvent contenir plusieurs anneaux extérieurs, vous devez choisir Multipolygon.

Vince
la source
1
Ceci est un excellent résumé en profondeur sur le fichier de formes, merci beaucoup! Je comprends maintenant que la plupart de mes expériences passées relèvent de l'utilisation de Polygon. À l'avenir, j'utiliserai Multipolygon lorsque je devrai numériser des trous, quelque chose comme des lacs. Merci encore!
Kazuhito
1
Merci d'avoir ajouté une figure, donc celui du côté droit est l'anneau extérieur multiple, pour lequel je dois choisir Multipolygon ... pas celui au centre avec le trou!
Kazuhito
3
Je dois revenir en arrière et les étiqueter, mais oui, le polygone vert est le seul multipolygone
Vince
1
Dans le cas de deux anneaux (multipolygone), ces deux anneaux partageraient-ils le même enregistrement si nous voyons la table attributaire? (c'est-à-dire que le fichier de formes n'a qu'un seul enregistrement)?
Kazuhito
1
Oui, c'est une géométrie dans un enregistrement
Vince