Vous cherchez des stratégies de généralisation pour créer des contours dans PostGIS?

22

J'ai un ensemble de données de construction d'empreintes vectorisées à partir d'un ensemble de données raster. L'ensemble de données n'est actuellement qu'une représentation vectorielle des données raster. Je voudrais un jeu de données de polygone qui n'a que des sommets aux coins du bâtiment. J'ai tenté d'utiliser la commande Simplifier dans PostGIS avec un succès limité.

Y a-t-il une meilleure façon?

Matthew Snape
la source

Réponses:

17

Il existe de nombreux algorithmes dédiés à la simplification de la construction. Vous pouvez consulter ce site Web pour un aperçu. Voir aussi cette question . Vous pouvez utiliser:

  • Simplification du contour du bâtiment: elle consiste à supprimer récursivement les bords trop courts du contour et à allonger les bords voisins. Exemple:

texte alternatif

  • Algorithme du plus petit rectangle environnant: Il consiste à remplacer la géométrie du bâtiment par le plus petit rectangle environnant. Ce rectangle peut également être mis à l'échelle de la zone initiale du bâtiment. Exemple:

texte alternatif

  • Algorithme de quadrature: il consiste à appliquer une légère rotation aux bords pour rendre les coins parfaitement carrés. Exemple:

texte alternatif

Ces transformations peuvent être suffisantes pour votre besoin. Il peut être intéressant de les combiner.

Je suis presque sûr à 100% qu'aucun de ces algorithmes n'est implémenté dans PostGIS. Certains sont implémentés dans la bibliothèque java Opencarto que je développe. Faites-moi savoir si vous voulez le tester!

julien
la source
1
Pouvez-vous donner une brève explication des algorithmes auxquels vous vous référez dans Opencarto pour la "simplification du plan de construction" mentionnée. Je n'ai pas pu trouver d'informations directes dans le wiki ou le code d'Opencarto.
benjist
Il s'agit de "ShortEdgesDeletion". Vous pouvez le trouver sur github ici: github.com/jgaffuri/OpenCarto/blob/master/src/main/java/org/…
julien
3

Quelque chose comme ça pourrait faire l'affaire:

"Si nous tamponnons d'une grande quantité, puis inversons le tampon de la même quantité, nous obtiendrons quelque chose qui a une forme similaire à l'original, mais sans les bits crépus."

http://blog.opengeo.org/2010/11/22/removing-complexities/

LR1234567
la source
c'est une approche intéressante et elle semble relativement efficace. Merci pour le pointeur, c'est quelque chose que je pourrai utiliser. Votre réponse serait meilleure si elle contenait une simple phrase contenant l'idée de base référencée et n'était pas seulement un lien.
matt wilkie