Aynı alanda gösterilen ancak farklı katmanların açık / kapalı olduğu sayfaların Harita Kitabı nasıl yapılır?


9

ESRI'da bir Harita Kitabı, her biri kendi sayfasını alan bir dizi özellik için en uygunudur. Her bir sayfaya dinamik metin, grafikler vb. Yoluyla eklemek istediğiniz ek bilgiler dahil olmak üzere bir özellik seçmenize ve her özellik için bir Harita Kitap Sayfası oluşturmanıza olanak tanır.

Tam olarak aynı alanı gösteren, ancak farklı katmanları açıp kapatarak bir dizi sayfa söylemek için bir alternatif var mı? Her sayfada Şehir Sınırlarını göstererek oluşturmam gereken bir Sermaye İyileştirme belgesine sahibiz. Bir sayfada tüm polis ve itfaiye istasyonları listelenir, diğeri önerilen su sistemlerini gösterir, diğeri otoyolları ve otoyolları gösterir ve bunların yakınında veya üzerinde yapılan işler ... vb.

O kadar Bunu ayarlamak için bir yol var mı YAPMAYIN bu belgenin her Harita Sayfası için ayrı MXD yarattı zorunda?


hangi masaüstü sürümü? araçlar her sürümde biraz değişti.
Brad Nesom

ArcGIS for Desktop Advanced 10.2.2
randomblink

Yanıtlar:


10

ArcGIS 9.3 için onlara sahip olduğumda bunu başardım ve çok iyi çalışıyor. Bu kendi web sitesinde belirtildiği gibi ArcGIS 10.0 veya üstü ile çalışacak mı bilmiyorum ama denemek istiyorum.

ArcMapBook

Düzenleme:
Bu, doğrudan üst üste yığılmış her katman kümesi için dikdörtgen bir sayfa oluşturarak gerçekleştirilebilir. Her sayfayı ayrı ayrı adlandırın ve çerçevede gösterilecek her katmana bir değer atayın.
Ayrıca yalnızca belirli sayfalarda görünen öğelere özellik değerleri atamanız gerekir.
Ardından, nesneleri sayfa adlarıyla sınırlamak için sayfa tanımını kullanın.
Tanımdaki Katman özelliklerinde Sorgu sayfası> sayfa tanımı.
pagedef

Eşleştir / eşleştir özelliğini ve bir alan adını etkinleştirme seçeneği vardır.
Etkin
Verilerinizin çerçeve içinde çalışmasını kodlamak için oldukça sonsuz olasılıklar vardır.
Ayrıca, tüm sayfalarda göstermek istediğiniz öğeleriniz varsa, bunlar etkinleştirilmez.


1
Bu hala 10.1, 10.2
Brad Nesom

4

Ben tüm gereksinimleri dahil tek bir haritaya sahip ve daha sonra ExportToPDF kullanarak her sayfayı vermeden önce katmanları açmak / kapatmak için katman .visible kullanan basit bir Python komut dosyası yazmak için gereksinimlerinizi en kolay ve sezgisel olarak karşılanacağını düşünüyorum .

Daha sonra PDFDocument , sayfaları tek bir PDF dosyasına eklemek için kullanılabilir.

Teknik, Esri blogunda Veriye Dayalı Sayfaları Python ve arcpy.mapping ile Birleştirerek aşağıdaki kodu da içerir.

Örneğin, her sayfada farklı bir tema belirten birden çok sayfalı tematik bir atlas oluşturabilirsiniz. Aşağıdaki örnek, seçilen bir parseli yakınlaştırır, farklı katman görünürlüğü arasında geçiş yapar ve toprak haritasına, taşkın haritasına ve imar haritasına sahip bir parsel raporu oluşturmak için birden fazla temanın düzenini dışa aktarır:

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

Bunu çok sayıda şekil dosyası için yapmanın bir yolu var mı? Python'u gerçekten hiç kullanmadım, ancak lyrList'in çevrilecek katmanlara sahip olduğunu varsayıyorum. DA_1, DA_2, DA_3 vb. Adlarla 121 farklı katmanım var. Bunları tek tek adlandırmadan yüklemenin bir yolu var mı?
Sessiz Haritacı

@TheSilentCartographer Konuşmacı listeniz istediğiniz kadar uzun olabilir. PDF oluşturmak istediğiniz kişilerin adlarını içermesi gerekir. Bu adların listeye girmesinin çeşitli yolları olabilir.
PolyGeo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.