Czy można użyć narzędzia DDP (Data Driven Pages) w ArcMap lub ArcPy do stworzenia zestawu map o tym samym zasięgu, ale pokazujących różne warstwy?
Aby to wyjaśnić, regularnie tworzę duże zestawy map dla projektów w tej samej lokalizacji, często z tymi samymi warstwami podstawowymi, ale zmodyfikowane, aby skupić się na różnych aspektach w odpowiedniej części raportu, takich jak lokalizacje monitorowania, zagospodarowanie terenu, kluczowe funkcje itp., Które wszystkie wymagają utworzenia i utrzymywania oddzielnych plików .mxds.
System typu DDP pozwoliłby mi na użycie dynamicznego tekstu i zapewnienie standardowego szablonu / wyjścia, a także znacznie ułatwiłby życie podczas aktualizacji ogólnej liczby cyfr lub komentarza, ponieważ raport jest zapisywany w jednym pliku .mxd zamiast w wielu dla klient.
Korzystam z ArcMap 10.1, ale po przeczytaniu pomocy online ArcGIS DDP zakładam, że musiałoby to być zrobione z ArcPy, ponieważ nie byłem w stanie wymyślić, jak to zrobić w ArcMap. Wiem, że QGIS ma wtyczkę Atlas , chociaż nie znam jej możliwości, ale chętnie wykorzystam ją jako alternatywę.
Odpowiedzi:
Oto moje myślenie w pseudokodzie: dostaniesz swój MapDocument, następnie ListDataFrames, a następnie ListLayers. Następnie powinieneś być w stanie iterować przez warstwy, włączać właściwość Widoczność warstwy, ExportToPDF (lub cokolwiek innego), a następnie ponownie wyłączyć Widoczność i przejść do następnej warstwy. Jeśli chcesz pozostawić określone warstwy jako warstwy podstawowe, być może możesz zgrupować te, które chcesz zmienić dla każdej mapy, i przełączać widoczność tylko dla tych, testując IsGroupLayer = True? Może ktoś inny ma przykładowy kod ...
źródło
Metoda bez kodu
Po włączeniu stron opartych na danych można określić zapytanie definicji zależne od numeru strony. Wystarczy użyć tego zapytania, aby ukryć wszystkie elementy przed warstwami, których nie chcesz wyświetlać.
Po wybraniu strony żądane warstwy będą widoczne na podstawie zapytania dotyczącego definicji strony.
źródło