Ist es möglich, das DDP-Tool (Data Driven Pages) in ArcMap oder ArcPy zu verwenden, um eine Reihe von Karten mit demselben Umfang zu erstellen, die jedoch unterschiedliche Ebenen anzeigen?
Zur Verdeutlichung erstelle ich regelmäßig große Kartensätze für Projekte, die sich alle am selben Ort befinden, häufig mit denselben Basisschichten, aber geändert, um mich auf verschiedene Aspekte für den relevanten Abschnitt eines Berichts zu konzentrieren, z. B. Überwachung von Standorten, Landnutzung, Hauptmerkmalen usw., die alle Es müssen separate .mxds erstellt und verwaltet werden.
Ein System vom Typ DDP würde es mir ermöglichen, den dynamischen Text zu verwenden und eine Standardvorlage / -ausgabe zu gewährleisten. Es würde auch das Leben erheblich erleichtern, wenn eine allgemeine Ziffernnummer oder ein Kommentar aktualisiert wird, da ein Bericht in einer .mxd-Datei anstatt in einer für geschrieben wird ein Klient.
Ich verwende ArcMap 10.1, aber nachdem ich die Online-Hilfe zu ArcGIS DDP gelesen habe, gehe ich davon aus, dass dies mit ArcPy durchgeführt werden muss, da ich nicht herausfinden konnte, wie dies in ArcMap funktioniert. Ich bin mir bewusst, dass QGIS über das Atlas-Plugin verfügt , obwohl ich mit seinen Funktionen nicht so vertraut bin, es aber gerne als Alternative verwenden würde.
Antworten:
Hier ist mein Denken im Pseudocode: Sie würden Ihr MapDocument, dann ListDataFrames und dann ListLayers erhalten. Dann sollten Sie in der Lage sein, die Ebenen zu durchlaufen, die Sichtbarkeitseigenschaft der Ebene zu aktivieren, ExportToPDF (oder was auch immer), dann die Sichtbarkeit wieder auszuschalten und mit der nächsten Ebene fortzufahren. Wenn Sie bestimmte Ebenen als Basisebenen belassen möchten, können Sie möglicherweise die Ebenen, die Sie ändern möchten, für jede Karte gruppieren und nur die Sichtbarkeit für diese umschalten, indem Sie auf IsGroupLayer = True testen. Vielleicht hat jemand anderes ein aktuelles Codebeispiel ...
quelle
Eine codefreie Methode
Wenn Sie datengesteuerte Seiten aktivieren, können Sie eine Definitionsabfrage angeben , die von der Seitenzahl abhängt. Verwenden Sie einfach diese Abfrage, um alle Features vor Ebenen auszublenden, die Sie nicht anzeigen möchten.
Wenn die Seite ausgewählt ist, werden die gewünschten Ebenen basierend auf der Seitendefinitionsabfrage sichtbar.
quelle