Suite

Fusionner des entités (lignes) dans un fichier de formes avec le même nom à l'aide de Python et QGIS ?


Je travaille avec le jeu de données de ligne de flux NHD (USGS) et certaines des entités linéaires portent le même nom. Je souhaite fusionner les entités linéaires portant le même nom. Par exemple : il y a trois fonctionnalités qui portent le nom "Kings River" et quatre fonctionnalités qui portent le nom "Boulder Creek". Comment puis-je écrire un script python qui fusionne ces fonctionnalités en fonction du nom ? La question Comment fusionner plusieurs lignes qui se chevauchent en utilisant python? traite d'une fusion basée sur la géométrie - je dois fusionner les entités linéaires en fonction d'un attribut non spatial (nom de la ligne de flux).


J'utiliserais les deux fonctions suivantes :

  1. Vector > Outils de gestion de données > Fusionner les fichiers de formes en un seul… afin de créer un fichier de formes à partir des différents que vous avez (il semble que ce soient toutes des géométries de ligne, donc cela fonctionnera).

  2. Vector > Outils de géotraitement > Dissoudre afin de fusionner les entités en fonction de l'attribut name (cette fonction demande un attribut merge).

Je n'ai pas essayé cela sur un échantillon mais cela devrait fonctionner. 'j'espère avoir bien compris ton problème.


Comme mentionné par @wiltomap (et s'appuyant essentiellement sur ce qu'il a dit), le Dissoudre la fonction semble devoir faire ce que vous demandez - fusionner plusieurs entités par leur nom d'attribut commun. Si vous voulez utiliser Python, vous pouvez utiliser les éléments suivants :

import processing layer = qgis.utils.iface.activeLayer() field = 'FieldName' output = "C:UsersyouDesktop
esult.shp" processing.runalg("qgis:dissolve", layer, 'False' , champ, sortie)

J'espère que cela t'aides!


Voir la vidéo: Usare PostGIS con QGis: connessione e import shapefile OSGEO (Octobre 2021).