J'ai un fichier de formes composé d'un certain nombre de polygones. Les polygones voisins partagent souvent un attribut.
Ce que je dois faire, c'est tamponner ces polygones en fonction de l'attribut commun. Cependant, je voudrais étendre lesdits tampons jusqu'à ce qu'ils se rencontrent, moment auquel ils peuvent s'arrêter.
J'ai assemblé à la hâte une maquette:
Tout ce que j'ai au niveau du code est le suivant:
from qgis.core import *
from qgis.analysis import *
layer=qgis.utils.iface.activeLayer()
QgsGeometryAnalyzer().dissolve(layer, "D:/test_dissolved.shp", onlySelectedFeatures=False, uniqueIdField=3, p=None)
À vrai dire, je ne connais pas très bien la documentation de l'API QGIS et malgré tous mes efforts, je ne trouve pas de méthode appropriée pour cela.
QgsGeometryAnalyzer().dissolve
me permet de dissoudre le tampon mais ce n'est pas ce que je recherche.
Dois-je peut-être regarder dans une autre direction ici?
Vous souhaiterez probablement explorer les fonctions d'analyse raster. Voir Création d'une ligne médiane pour chaque polygone dans une base de données de canyon sous-marin à l'aide d'ArcGIS for Desktop Basic? et créer des polygones de Thiessen (Voronoi) en utilisant des lignes (plutôt que des points) comme caractéristiques d'entrée? pour plus d'inspiration.
Bien entendu, cela vous oblige à utiliser une résolution raster appropriée.
la source
J'ai eu une tâche légèrement connexe l'autre jour. En théorie, les polygones voronoi avec des points centraux de construction (pondérés) devraient juste être la solution pour votre cas, mais cela n'a pas fonctionné pour moi; PostgreSQL n'est pas ce que vous avez demandé, mais, comme solution de contournement, si c'est la `` ligne centrale '' entre chaque bâtiment que vous recherchez pour la première étape, l'utilisation de PostGIS ST_ApproximateMedialAxis pourrait valoir la peine d'être essayée . Vous devez créer un polygone de base pour toute la zone d'étude et découper les polygones de construction avant d'appliquer la fonction sur le polygone de base pour obtenir des résultats connexes. Pourrait fonctionner, pourrait ne pas ...
la source