Suite

Pages axées sur les données, affichant chaque polygone dans un ddp ?

Pages axées sur les données, affichant chaque polygone dans un ddp ?


J'ai un index DDP et, dans chaque index, plusieurs ensembles de polygones d'une autre couche. Pour chaque index, je souhaite afficher chaque polygone de cet index et l'exporter vers un fichier PDF. Je peux effectuer un panoramique sur l'index DDP et définir une échelle constante dans ce cas 1:24k. Je voudrais utiliser la page d'index pour mon étendue, puis pour chaque polygone de cette étendue, exporter un PDF ne montrant qu'un seul polygone. Une solution arcpy.mapping semble être la meilleure option. car une requête de définition de page semble être limitée à une requête par index sans beaucoup de contrôle sur ce qui va entrer dans la requête, autre que le numéro d'index de la page.

Ci-dessous une illustration :

Dans cet exemple, 019 violet avec des bordures grises est l'index, je souhaite conserver l'étendue de l'index et exporter une carte pour chaque polygone bleu (10 et 1) qui est stocké dans une autre couche


import arcpy mxd = arcpy.mapping.MapDocument("Current") df = arcpy.mapping.ListDataFrames(mxd,"layers")[0] crLyr = arcpy.mapping.ListLayers(mxd)[2] lyr = arcpy.mapping. ListLayers(mxd)[3] legend = arcpy.mapping.ListLayoutElements(mxd,"LEGEND_ELEMENT","Legend")[0] pour pageNum in range(1, mxd.dataDrivenPages.pageCount +1,1) : mxd.dataDrivenPages. currentPageID = pageNum rowValue = str(mxd.dataDrivenPages.pageRow.getValue("COMINDEX")) query = 'COMINDEX = '%s"% rowValue lyr.definitionQuery = query rows = arcpy.da.SearchCursor(lyr,[" Owner_ID","COMINDEX","SmpleNam"]) pour la ligne dans les lignes : v2 = ligne[0] v1 = ligne[1] if(v2<>") : requête2 = "%s AND "Owner_ID"= % s" % (query,v2) print query2 lyr.definitionQuery = query2 crLyr.definitionQuery = query2 legend.title = row[3] arcpy.mapping.ExportToPDF(mxd,r"path""" + row[3] +str( v2) + ".pdf")

Voir la vidéo: Qgis Importer données excel XYZ