Suite

Clip vectoriel avec grille en utilisant la boucle pour faire l'arrière-plan de fragstat

Clip vectoriel avec grille en utilisant la boucle pour faire l'arrière-plan de fragstat


Je voudrais mettre une bordure d'arrière-plan - avec des valeurs négatives - dans mon paysage squere afin de l'utiliser dans fragstats. J'essaye de le faire avec pyqgis. Exemple ce que je voudrais faire (figure 3).

J'ai donc une carte d'occupation des sols (vecteur) et une grille (vecteur) (fig 1). Je voudrais découper la carte d'utilisation des terres avec cette grille (une grille carrée) via le script pyqgis. Si possible, je mets ce résultat en mémoire. Dans mon code, j'ai configuré pour enregistrer dans un dossier temporaire. Je dois le faire car j'ai besoin de faire de nombreuses opérations avec une utilisation du sol coupée séparément afin d'obtenir le résultat de l'exemple (figure 3) pour mon cas. J'essaie de le faire avec pyqgis mais je ne l'ai pas fait. Il y a eu un problème avec mon script. Lorsque je l'ai exécuté, l'utilisation des terres ne s'est pas complètement dégradée. Quel est le problème? Le clip fonctionnait mais il ne l'était que dans quelques polygones (fig 2).

Voici mon code :

# codage : traitement d'import utf-8 depuis qgis.analysis import * depuis PyQt4.QtGui import QInputDialog #Defining vector land use patch path_map = QgsVectorLayer("/media/dogosousa/56A22ED6A22EBA7F/ Geoprocessamento/Projetos_2015/Sisbiota.mados_Bruto/D shp", "utilisation du paysage", "ogr") essayez : path_grid = QgsVectorLayer("/media/dogosousa/56A22ED6A22EBA7F/Geoprocessamento/Projetos_2015/Sisbiota/Vetor/buffer_square_point/square_3700m/square_3700m_join_sirgas", "24" ) #Charger la grille de calques dans le canevas QgsMapLayerRegistry.instance().addMapLayers([path_grid]) #Faire une boucle dans les lignes vectorielles de la grille canvas_layer = iface.activeLayer() features = canvas_layer.getFeatures() pour l'exploit dans les caractéristiques : attrs = feat.attributes () print feat.id() print attrs[4] overlaylayer = path_grid.setSelectedFeatures([feat.id()]) clip = processing.runalg("qgis:clip", path_grid, path_map, "/tmp/"+" clip_"+str(attrs[4])+".shp") sauf : #Conferir se a layer foi criada como esperado if not path_grid.isVali d() : print "La couche %s n'a pas été chargée" % path_grid.name()

Voir la vidéo: Tutoriel: Mur avec grille et cage suspendue