J'ai une couche polygonale avec de nombreux trous. Je voudrais le généraliser. J'ai utilisé v.generalize d'herbe. Avec lui, j'ai utilisé l'algorithme chaiken. Mais, seules les bordures des polygones ont été généralisées, les trous qu'elles contiennent n'ont pas lissé leurs bords.
Que puis-je faire pour lisser tous les bords (en ajoutant des bords de trou) du polygone?
qgis
grass
generalization
Diogo Caribé
la source
la source
Réponses:
Je vous recommande d'utiliser le tout nouveau géoalgorithme de QGIS 2.14.1, nommé Smooth.py
Avec Smooth Geometry, il est possible de lisser tout le polygone, pas seulement les limites, comme dans la méthode Chaiken de v.generalize
la source
Je suppose que vous utilisez GRASS
6.4.x
car il y avait des problèmes concernant la généralisation des polygones avec des trous . Cela a été corrigé dans GRASS 7, bien que je n'ai pas cette version, je ne peux donc pas la confirmer.Une solution de contournement consisterait à utiliser l' outil Remplir les trous de la boîte à outils de traitement sur votre calque d'origine:
Utilisez l' outil Différence sur les calques d' origine et remplis :
Utilisez l' outil v.generalize sur les couches remplies et les couches de différence :
Enfin, exécutez à nouveau l'outil Différence sur les deux couches généralisées :
la source
Je crois que le meilleur outil de généralisation est http://www.mapshaper.org/ et il semble très bien gérer les trous. Super facile à utiliser / solution de contournement beaucoup plus courte. J'utilise généralement l'algorithme visvalingam.
la source