FR:Relation:multipolygon
![]() |
![]() |
Description |
---|
La relation multipolygon est utilisée pour représenter les surfaces complexes. ![]() |
Groupe: Propriétés |
Membres |
Statut : de fait |
Outils pour cet attribut |
|
Les relations du type multipolygon sont utilisées pour représenter des surfaces complexes.
Les surfaces simples sont cartographiées dans OpenStreetMap en créant un chemin fermé et en l’étiquetant avec une clef suggérant qu'il s'agit d'une surface plutôt que d'un chemin circulaire. Par exemple, en utilisant l'étiquette landuse=forest, on saura qu'il s'agit d'une surface alors qu'avec l'étiquette junction=roundabout, on saura qu'il s'agît d'un chemin circulaire (un rond point).
Toutefois, ce modèle ne fonctionne que pour les surfaces formées par un unique chemin et qui n'ont pas de trous. Toute surface plus complexe (e.g, parce qu'elle est formée de plusieurs chemins liés ensemble, ou parce qu'elle est formée de plusieurs polygones disjoints ou parce qu'elle comporte des trous) nécessite une relation multipolygon.
Les relations de type multipolygon sont utilisées pour représenter des surfaces de tout type et de différentes formes. On peut dire que les relations multipolygon sont les objets OpenStreetMap pour représenter les surfaces.
Pour résumer, une surface représentée à l'aide d'un multipolygon est constituée d'un ou plusieurs chemins formant le ou les polygones extérieurs (outer en anglais) et un ou plusieurs chemins formant le ou les polygones intérieurs (inner).
Attributs
Clef | Valeur | Explication |
---|---|---|
type | multipolygon | Indique aux applications qui utilisent les données OpenStreetMap d'employer les règles de construction de surface à partir des membres de la relation. |
Membres
Utilisation
On utilise les polygones multiples de la manière suivante :
- Les étiquettes qui décrivent les polygones multiples (exemple: landuse=forest) doivent s'appliquer à la relation. Les chemins du contour externe ne doivent pas être étiquetés, à moins qu'ils décrivent un élément de manière indépendante. Par exemple, une forêt peut être délimitée par quatre routes qui seront étiquetées en highway mais qui pourront être utilisées comme membres externes de la relation forêt.
- Si vous avez un chemin fermé qui forme le contour extérieur et qu'il ne décrit rien à lui seul, vous pouvez également ajouter ces étiquettes à ce contour et laisser la relation non étiquetée. Si vous avez plus d'un chemin externe (voir plus bas), alors, ça n'a plus de sens. Il est alors suggéré de toujours étiqueter sur la relation.
- Si le chemin interne représente un objet (exemple: une forêt avec un trou qui est un lac), alors le chemin interne doit être étiqueté.
- Dans les autres cas, les chemins internes ne doivent pas être étiquetés.
- La direction des chemins n'a pas d'importance.
- L'ordre des membres de la relation n'a pas d'importance (néanmoins, des listes bien triées facilitent la vie des humains chargés de vérifier la complétude des surfaces).
- En général, une relation multipolygon peut être employée pour construire des polygons multiples selon les standards OGC (http://www.opengeospatial.org/standards/sfs). Tout objet qui n'est pas un polygone multiple selon ce standard (exemple : des polygones avec des anneaux qui s'intersectent) doivent être considérés comme non valides à l'exception des anneaux internes adjacents (voir plus bas).
Exemples
Un anneau externe et un anneau interne
Un anneau externe et deux anneaux internes
Chemins multiples formant un anneau
Deux anneaux extérieurs disjoints
Deux anneaux extérieurs disjoints et plusieurs chemins formant un anneau
Combinaison complexe des fonctionnalités avancées
Une île au milieu d'un trou
Anneaux internes adjacents
Des trous dans les trous
Il est possible d'avoir des trous dans les trous d'un polygone multiple (par exemple, une forêt avec une clairière qui comporte un bouquet d'arbres au milieu).
Exemple à trouver. On peut y parvenir en respectant la spécification des fonctionnalités simplifiées de l'OGC en alternant la création d'anneaux internes et externes. Dans notre exemple, l'extérieur de la forêt et le bouquet d'arbres seront les anneaux extérieurs. La clairière sera l'anneau interne. On peut augmenter la complexité des cas mais il vaut mieux faire simple de manière à ne pas trop embrouiller les autres cartographes. Ce mode n'est pas forcément géré par tous les moteurs de rendus cartographiques. |
Illustration à trouver. |
Plus d'exemples
Plus d'exemples sont disponibles sur la page Multipolygon_Examples.
Étiquetage
- Il est suggéré d'étiqueter les clefs qui décrivent la surface sur la relation et non sur les chemins. Dans de nombreux cas, le non-respect de cette règle aboutirait à de nombreux chemins non étiquetés.
- Implémentation pour la compatibilité :
- Le style de rendu est fonction de l'étiquette de relation.
- Si la relation n'est pas étiquetée, le style du chemin externe est utilisé.
- Si le style du chemin externe ne correspond pas ou si le style n'est pas trouvé, il faut remonter une erreur.
- Un étiquetage sur un chemin interne implique une représentation de ce chemin intérieur. Si le style de ce chemin est le même que celui du chemin externe, le style interne est vide.
Étiquetage détaillé
Cette section concerne les développeurs logiciels, les utilisateurs doivent ajouter des étiquettes uniquement à la relation et non aux chemins !
L’étiquetage des relation de polygones multiples peut être réalisé de manière variée. Voici une liste de cas, de problèmes et de leurs solutions:
- Il y a plus d'un chemin outer :
- La relation dispose d'étiquettes
- Utiliser ces étiquettes et ignorer celles des chemins.
- La relation n'a pas d'étiquettes mais un ou plusieurs des chemins externes ont des étiquettes identiques
- Valider les données et prendre les étiquettes des segments en appliquant le tout à l'ensemble du chemin extérieur.
- La relation n'a pas d'étiquettes et les chemins extérieurs sont étiquetés de manière hétérogène
- Il y a un problème et le rendu n'est pas garanti.
- Il y a plus d'un chemin inner :
- Un chemin fermé n'a pas d'étiquette mais un autre en dispose
- Le chemin sans étiquette est rendu sous forme d'un trou, les chemins étiquetés le sont, selon le contenu de l'étiquette.
- Différents chemins fermés avec des étiquettes différentes
- Chaque trou est rendu selon le contenu de l'étiquette.
- Un chemin fermé où les segments ont des étiquettes différentes
- Si quelques segments n'ont pas d'étiquettes, utiliser celles des autres. Si les segments ont des étiquettes différentes, le rendu n'est pas garanti.
Rendu
- JOSM gère ces polygones multiples depuis la révision 1203.
- Osmarender (T@H) gère les polygones multiples.
- La configuration du rendu de Mapnik sur www.openstreetmap.org ne gère pas complètement les polygones multiples.
- Géré complètement par mkgmap depuis la révision 1497.
- [GpsMid] gère la majorité des polygones multiples.
- Il existe un Algorithm pour gérer les polygones multiples.
Exemple avec Potlatch

Sous Potlatch, les rôles d'une relation de polygones multiples doivent être assignés à chaque membre de la relation et non comme des étiquettes indépendantes. Dans le mode d'édition, sélectionnez le membre concerné et ajoutez inner ou outer sur la même ligne où est indiqué multipolygon.
Outils d'aide
- Relation Check
- OSM Inspector gère les vérifications des polygones multiples.
Voir aussi
- Consultez également la page The Future of Areas pour trouver des discussions pour mieux gérer les surfaces dans OpenStreetMap.