Message posté par : Nicolas Ribot
----------------------------------------
Bonsoir,
Oui ca existe (enfin, il est possible d'enchainer des fonctions postgis pour faire
cela).
Ca dépend de ce que vous voulez faire:
• pour supprimer des trous dans des polygones, il suffit d'extraire l'exterieur
du polygone: st_makePolygon(st_exteriorRing(geom))
• pour supprimer des trous entre des polygones, c'est à a dire au niveau de la
couche et pas au niveau des objets individuels, vous pouvez le faire en faisant
l'union des polygones de la couche: vous obtenez alors un gros polygone dont les trous
sont les trous de la couche: vous pouvez extraire ces trous en dumpant les rings du
polygone (st_dumpRings(geom) et les recombiner avec les autres polygones voisins, par
exemple sur la base de la plus grande frontière entre le trou et les polygones voisins.
Si la couche est grosse, ca peut prendre des plombes.
Sur les grosses couches, j'utilise plutot GRASS, soit dans qgis, soit en ligne de
commande: un import/export de la couche, avec l'option qui va bien, reconstruit les
trous sous forme de vrais polygones, dont les attributs sont nulls => facilement
identifiables.
Nicolas
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=347236#p347236
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net