Utilizzando Data Driven Pages (DDP) per creare un set di mappe con la stessa estensione ma livelli diversi?


9

È possibile utilizzare lo strumento Data Driven Pages (DDP) in ArcMap o ArcPy per creare un set di mappe con la stessa estensione ma con livelli diversi?

Per chiarire, realizzo regolarmente grandi serie di mappe per progetti tutti nella stessa posizione spesso con gli stessi baselayer ma modificati per concentrarmi su aspetti diversi per la sezione pertinente di un rapporto come il monitoraggio di posizioni, uso del territorio, caratteristiche chiave ecc. Che tutti richiede la creazione e la gestione di file .mxds separati.

Un sistema di tipo DDP mi consentirebbe di utilizzare il testo dinamico e garantire un modello / output standard in tutto, inoltre renderebbe la vita molto più semplice quando si aggiorna un numero di figura generale o un commento mentre un report è scritto in uno .mxd anziché multiplo per un cliente.

Sto usando ArcMap 10.1, ma dopo aver letto la guida in linea di ArcGIS DDP suppongo che questo dovrebbe essere fatto con ArcPy poiché non sono stato in grado di capire come farlo in ArcMap. Sono consapevole che QGIS ha il plug-in Atlas , sebbene non conosca le sue capacità ma lo utilizzerei felicemente come alternativa.


1
Penso che quello che stai cercando sia lo scripting delle modifiche apportate al documento della mappa in Python utilizzando il set di strumenti arcpy.mapping . Vedere il riferimento alla creazione di libri di mappe completi e, più specificamente, all'interno del documento "Libro di mappe di serie di riferimenti semplici".
RyanKDalton,

Risposte:


4

Ecco il mio pensiero in pseudocodice: otterresti MapDocument, quindi ListDataFrames, quindi ListLayers. Quindi dovresti essere in grado di scorrere tra i livelli, attivare la proprietà Visibilità del livello, ExportToPDF (o qualsiasi altra cosa), quindi disattivare nuovamente Visibilità e passare al livello successivo. Se si desidera lasciare determinati livelli come livelli di base, è possibile raggruppare quelli che si desidera modificare per ciascuna mappa e attivare la visibilità solo per quelli testando IsGroupLayer = True? Forse qualcun altro ha un esempio di codice reale ...


Non ho mai trovato una soluzione Arc integrata a questo, ma un collega ha ora sviluppato uno script Python per il processo che segue la struttura di base che suggerisci. Lo script utilizza i gruppi per creare una nuova pagina nel pdf e può essere combinato con DDP per creare un mapbook con un set di mappe per più siti.
MAJ742

5

Un metodo senza codice

Quando si attivano le pagine guidate dai dati, è possibile specificare una query di definizione che dipende dal numero di pagina. Usa semplicemente quella query per nascondere tutte le funzionalità dai livelli che non vuoi mostrare.

  1. Imposta i frame della mappa in modo che siano nella stessa posizione, ma con un campo per il numero di pagina. Impostazione Pagine guidate dai dati con il numero di pagina come campo del nome.
  2. Se si desidera attivare un layer per una determinata pagina, aggiungere un attributo "page" alla sua tabella e impostarlo sul numero di pagina pertinente.
  3. Aggiungi una query di definizione della pagina al livello specifico con il campo appena creato.

Quando viene selezionata la pagina, i livelli desiderati diventeranno visibili in base alla query di definizione della pagina.


2
Penso che le query di definizione della pagina funzionino bene in alcuni casi, ma il problema è che devi aggiungere il numero di pagina pertinente a ciascun attributo nella tabella dei dati e non puoi mostrare la stessa funzionalità su più pagine poiché puoi fare riferimento solo a una pagina alla volta
MAJ742,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.