Atteindre des tampons de ligne à extrémité plate dans QGIS?


14

J'ai besoin de tamponner une série de lignes de 40 m, mais je veux seulement que le tampon se détache des côtés et non des deux extrémités de la ligne.

Je sais que dans ArcGIS, il y a une case à cocher "plate" qui permet exactement cela, mais malheureusement je ne peux pas utiliser ArcGIS pour le moment.

Existe-t-il un moyen d'y parvenir dans QGIS?

J'ai jeté un coup d'œil à certains des contournements, mais en raison de l'échelle de mes ensembles de données (réseaux routiers nationaux), aucun de ceux que j'ai trouvés jusqu'à présent n'est réalisable.


Je ne sais pas quel format vos données sont, mais il semble que vous puissiez le faire via la déclaration PostGIS, gis.stackexchange.com/questions/1197/…
artwork21

Réponses:


12

Si vous utilisez l'outil v.buffer dans les Grass Commandsjeux d'outils, vous pouvez créer un tampon plat.

Il y a deux cases de choix v.buffer Si vous avez Make outside corners straightdéfini sur Noet Don't make caps at the ends of polylinescomme Yes, le résultat doit être similaire à la mémoire tampon d'arête droite d'ArcMap.

Voici les 3 combinaisons des deux cases à cocher ci-dessus, notez la combinaison binaire dans le nom de la couche (0 = non, 1 = oui). résultats de v.buffer

Vous devriez probablement également exécuter un fixateur / nettoyeur de topologie avant, l'outil Grass a tendance à retourner des résultats amusants si la topologie n'est pas parfaite


Excellent, c'est exactement ce dont j'avais besoin, je n'avais aucune idée que QGIS avait ces commandes GRASS écartées. Merci de bien vouloir.
rfreeman92

NB: Existe-t-il un moyen de s'assurer que les tampons créés sont des polygones individuels et non dissous en un seul polygone géant?
rfreeman92

Je souhaite également obtenir des polygones individuels et non un seul polygone dissous. Est-ce possible?
user32882

3

OpenJUMP peut ne pas vous convenir car toutes les données doivent tenir en mémoire mais avec 64 bits jre la limite est plutôt élevée. Le plus important, c'est possible.

entrez la description de l'image ici


1
L'outil tampon d'OpenJUMP a accompli cela mieux que QGIS ou Esri!
sirgeo

Je dis juste merci de me présenter un logiciel qui semble être beaucoup plus rapide dans beaucoup de ces algorithmes fondamentaux! : D
jhc

0

Il semble que le même résultat peut être obtenu directement avec ST_Buffer()en utilisant un embout plat avec une jointure ronde, comme suit:

ST_Buffer(linestring_geom,<buffer_radius>,'endcap=flat join=round')
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.