Bagaimana cara membuat Buku Peta halaman dengan area yang sama ditampilkan tetapi lapisan yang berbeda dihidupkan / dimatikan?

9

Dalam ESRI, Buku Peta paling cocok untuk serangkaian fitur yang masing-masing mendapatkan halamannya sendiri. Ini memungkinkan Anda untuk memilih fitur dan menghasilkan Halaman Buku Peta untuk setiap fitur termasuk informasi tambahan yang ingin Anda tambahkan ke setiap halaman melalui teks dinamis, grafik, dll.

Apakah ada alternatif untuk mengatakan serangkaian halaman yang menunjukkan EXACT area yang sama tetapi dengan lapisan berbeda dihidupkan dan dimatikan? Kami memiliki dokumen Perbaikan Modal yang harus saya buat menunjukkan Batas Kota pada setiap halaman. Satu halaman memiliki semua kantor polisi dan pemadam kebakaran terdaftar, yang lain menunjukkan sistem air yang diusulkan, yang lain menunjukkan jalan bebas hambatan dan jalan raya dan pekerjaan yang dilakukan di dekat atau di atasnya ... dll, ad nauseum.

Apakah ada cara untuk mengatur ini sehingga saya TIDAK perlu membuat MXD terpisah untuk setiap Halaman Peta dari dokumen ini?

randomblink
sumber
versi desktop apa? alat telah sedikit berubah di setiap versi.
Brad Nesom
ArcGIS untuk Desktop Advanced 10.2.2
randomblink

Jawaban:

10

Saya bisa melakukan ini ketika saya memilikinya untuk ArcGIS 9.3 dan itu bekerja sangat baik. Saya tidak tahu apakah ini akan bekerja dengan ArcGIS 10.0 atau lebih baru seperti yang dinyatakan di situs web mereka, tetapi saya akan mencobanya.

ArcMapBook

Sunting:
Ini dapat dicapai dengan hanya membuat halaman persegi panjang untuk setiap set lapisan yang ditumpuk secara langsung di atas satu sama lain. Beri nama setiap halaman secara terpisah dan berikan nilai pada setiap layer untuk ditampilkan dalam bingkai.
Anda juga perlu menetapkan nilai atribut ke item yang hanya muncul di halaman tertentu.
Kemudian gunakan definisi halaman untuk membatasi objek ke nama halaman.
Dalam properti layer pada halaman Query definisi> definisi halaman.
pagedef

Ada opsi untuk mengaktifkan kecocokan / tidak cocok dan nama bidang.
Diaktifkan
Ada kemungkinan yang tak terbatas untuk mengkode data Anda agar berfungsi dalam kerangka kerja.
Juga jika Anda memiliki item yang ingin Anda tampilkan di semua halaman, item itu tidak diaktifkan.

PROBERT
sumber
1
Ini masih bekerja dengan 10,1, 10,2
Brad Nesom
4

Saya pikir persyaratan Anda akan paling mudah dan intuitif dipenuhi dengan memiliki satu peta dengan semua lapisan termasuk dan kemudian menulis skrip Python sederhana yang menggunakan lapisan. Dapat dilihat untuk mengaktifkan / menonaktifkan lapisan sebelum mengekspor setiap halaman menggunakan ExportToPDF .

Dokumen PDF kemudian dapat digunakan untuk menambahkan halaman ke dalam satu file PDF.

Teknik ini dijelaskan dalam blog Esri yang disebut Combining Data Driven Pages dengan Python dan arcpy.mapping yang juga termasuk kode di bawah ini.

Misalnya, Anda dapat membuat atlas tematik dengan beberapa halaman menentukan tema yang berbeda pada setiap halaman. Contoh berikut memperbesar ke parsel yang dipilih, beralih pada visibilitas lapisan yang berbeda dan mengekspor tata letak untuk beberapa tema untuk membuat laporan parsel dengan peta tanah, peta banjir dan peta zonasi:

import arcpy, os

#Specify output path and final output PDF
outPath = r”C:MyProjectoutput\”
finalPdf = arcpy.mapping.PDFDocumentCreate(outPath + “ParcelReport.pdf”)

#Specify the map document and the data frame
mxd = arcpy.mapping.MapDocument(r”C:MyProjectMyParcelMap.mxd”)
df = arcpy.mapping.ListDataFrames(mxd, “Layers”)[0]

#Select a parcel using the LocAddress attribute and zoom to selected
parcelLayer = arcpy.mapping.ListLayers(mxd, “Parcels”, df)[0]
arcpy.SelectLayerByAttribute_management(parcelLayer, “NEW_SELECTION”, “”LocAddress” = ’519 Main St’”)
df.zoomToSelectedFeatures()

#Turn on visibility for each theme and export the page
lyrList = ["Soils", "Floodplains", "Zones"]
for lyrName in lyrList:
     lyr = arcpy.mapping.ListLayers(mxd, lyrName, df)[0]
     lyr.visible = True

     #Export each theme to a temporary PDF and append to the final PDF
     tmpPdf = outPath + lyrName + “_temp.pdf”
     if os.path.exists(tmpPdf):
          os.remove(tmpPdf)
     arcpy.mapping.ExportToPDF(mxd, tmpPdf)
     finalPdf.appendPages(tmpPdf)

     #Turn off layer visibility and clean up for next pass through the loop
     lyr.visible = False
     del lyr, tmpPdf
del mxd, df, finalPdf
PolyGeo
sumber
Apakah akan ada cara untuk melakukan ini untuk sejumlah besar shapefile? Saya tidak pernah benar-benar menggunakan Python, tetapi saya berasumsi lyrList memiliki lapisan yang akan didaur ulang. Saya memiliki 121 lapisan berbeda, dengan nama-nama seperti DA_1, DA_2, DA_3 dll. Apakah ada cara untuk memuatnya tanpa memberi nama secara terpisah?
The Silent Cartographer
@TheSilentCartographer Daftar laters Anda bisa sepanjang yang Anda suka. Ini perlu memuat nama-nama yang Anda inginkan untuk membuat PDF. Mungkin ada berbagai cara nama-nama itu masuk ke dalam daftar.
PolyGeo