एक ही क्षेत्र के साथ दिखाए गए पृष्ठों की मानचित्र बुक कैसे करें लेकिन अलग-अलग परतें चालू / बंद हैं?


9

ईएसआरआई में एक मैप बुक सुविधाओं की एक श्रृंखला के लिए सबसे उपयुक्त है जो प्रत्येक को अपना पेज मिलता है। यह आपको एक फीचर चुनने और प्रत्येक सुविधा के लिए एक मैप बुक पेज जेनरेट करने की अनुमति देता है, जिसमें किसी भी अतिरिक्त जानकारी को शामिल करना चाहते हैं, जो डायनेमिक टेक्स्ट, चार्ट्स आदि के माध्यम से प्रत्येक पेज पर जोड़ना चाहते हैं।

क्या ऐसा कहने के लिए पृष्ठों की एक श्रृंखला है जो एक ही क्षेत्र को दिखा रही है, लेकिन अलग-अलग परतों के साथ चालू और बंद है? हमारे पास एक पूंजी सुधार दस्तावेज़ है जिसे मुझे हर पृष्ठ पर सिटी बाउंड्रीज़ बनाना है। एक पृष्ठ में सभी पुलिस और फायर स्टेशन सूचीबद्ध हैं, एक अन्य प्रस्तावित जल प्रणाली, एक अन्य शो एक्सप्रेसवे और राजमार्ग दिखाता है और पास या उन पर काम किया जा रहा है ... आदि, विज्ञापन nauseum।

इस है कि मैं स्थापित करने के लिए इतना कुछ रास्ता नहीं है करते नहीं इस दस्तावेज़ के प्रत्येक मानचित्र पृष्ठ के लिए एक अलग MXD बनाया है?


डेस्कटॉप का क्या संस्करण? प्रत्येक संस्करण में उपकरण थोड़ा बदल गए हैं।
ब्रैड नेसोम

डेस्कटॉप एडवांस्ड के लिए
आर्कगिस

जवाबों:


10

मैं ऐसा करने में सक्षम था जब मैंने उन्हें आर्कगिस 9.3 के लिए रखा था और यह बहुत अच्छा काम करता है। मुझे नहीं पता कि यह आर्कजीआईएस 10.0 के साथ काम करेगा या बाद में जैसा कि उनकी वेबसाइट पर बताया गया है, लेकिन मैं इसे आजमाऊंगा।

ArcMapBook

संपादित करें:
यह सीधे एक दूसरे के शीर्ष पर खड़ी परतों के प्रत्येक सेट के लिए एक आयताकार पृष्ठ बनाकर पूरा किया जा सकता है। प्रत्येक पृष्ठ को अलग से नाम दें और फ्रेम में दिखाए जाने वाले प्रत्येक परत के लिए एक मान निर्दिष्ट करें।
आपको उन आइटमों को विशेषता मान निर्दिष्ट करने की आवश्यकता है जो केवल विशिष्ट पृष्ठों पर दिखाई देते हैं।
फिर ऑब्जेक्ट को पृष्ठ नामों तक सीमित करने के लिए पृष्ठ परिभाषा का उपयोग करें।
परिभाषा में परत गुणों में क्वेरी पृष्ठ> पृष्ठ परिभाषा।
pagedef

मैच / मैच न करने और एक फ़ील्ड नाम को सक्षम करने का एक विकल्प है।
सक्रिय
फ्रेमवर्क के भीतर काम करने के लिए आपके डेटा को कोड करने के लिए काफी अंतहीन संभावनाएं हैं।
यदि आपके पास वे आइटम हैं, जिन्हें आप उन सभी पृष्ठों पर दिखाना चाहते हैं, जो उनके पास सक्षम नहीं हैं।


1
यह अभी भी 10.1, 10.2 के साथ काम करता है
ब्रैड नेसोम

4

मुझे लगता है कि अपनी आवश्यकताओं के सभी परतों शामिल के साथ एक एकल नक्शा होने से सबसे आसानी से और intuitively से मुलाकात होगी और उसके बाद एक सरल Python स्क्रिप्ट है जो उपयोग करता है लिखने के लिए परत .visible / बंद परतों टॉगल करने के लिए का उपयोग कर प्रत्येक पृष्ठ के निर्यात से पहले ExportToPDF

PDFDocument का उपयोग तब पृष्ठों को एक एकल PDF फ़ाइल में जोड़ने के लिए किया जा सकता है।

तकनीक का वर्णन एरी ब्लॉग में किया गया है जिसे पाइथन और आर्कपीपिंग के साथ कॉम्बिंग डेटा ड्रिवेन पेज कहा जाता है जिसमें नीचे दिए गए कोड भी शामिल हैं।

उदाहरण के लिए, आप प्रत्येक पृष्ठ पर एक अलग विषय निर्दिष्ट करने वाले कई पृष्ठों के साथ एक विषयगत एटलस बना सकते हैं। निम्नलिखित उदाहरण एक चयनित पार्सल के लिए अलग-अलग परत की दृश्यता पर टॉगल करता है और मिट्टी के नक्शे, बाढ़ के नक्शे और ज़ोनिंग मैप के साथ पार्सल रिपोर्ट बनाने के लिए कई विषयों के लिए लेआउट का निर्यात करता है:

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

क्या बड़ी संख्या में शेपफाइल्स के लिए ऐसा करने का कोई तरीका होगा? मैंने वास्तव में पायथन का उपयोग नहीं किया है, लेकिन मुझे लगता है कि लेयरलिस्ट में वे परतें हैं जिनके माध्यम से चक्रीय किया जाएगा। मेरे पास 121 अलग-अलग परतें हैं, जैसे DA_1, DA_2, DA_3 इत्यादि नामों के साथ? क्या उन्हें व्यक्तिगत रूप से नाम दिए बिना लोड करने का कोई तरीका है?
साइलेंट कार्टोग्राफर

@ TheSententCartographer आपकी सूची में जितने लंबे समय तक आप चाहें, उतने हो सकते हैं। इसके लिए उन लोगों के नाम सम्‍मिलित करने की आवश्‍यकता होगी जिनके लिए आप पीडीएफ बनाना चाहते हैं। सूची में उन नामों को प्राप्त करने के विभिन्न तरीके हो सकते हैं।
PolyGeo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.