Yer imleri ArcGIS Desktop'ta veri odaklı sayfalara dönüştürülsün mü?


9

ArcGIS'te, bu haritalar / sayfalar arasında gezinmek için Yer İşaretlerini kullanan farklı uzantılara sahip 30 harita içeren bu büyük projemiz var.

Şimdi bunun yerine Veriye dayalı sayfaları kullanmak istiyoruz. Soru, yer imlerini veriye dayalı sayfalara dönüştürmek mümkün mü yoksa her bir harita kapsamını kapsayan çokgenler oluşturmamız mı gerekiyor?

Yanıtlar:


7

Doğrudan değil, ancak bunu python ve arcpy.mapping modülü ile yapabilirsiniz. Her yer işaretinin boyutunu almak için arcpy.mapping.ListBookmarks öğesini kullanın . Ardından her bir boyut için özellikler oluşturun. Artık bu özellik sınıfını Veriye Dayalı Sayfalar için dizin katmanı olarak kullanabileceksiniz.


Daha açık olmak gerekirse, ListBookmarks ArcGIS 10.1'de yeni bir işlev
RyanKDalton

Tamam, hala 10.0'da ... Sanırım yakında güncelleyeceğiz. Ayrıca Python'u hiç iyi tanımıyorum.
oskarlin

Hala 10.0'daysanız ve ArcObjects ve Python'u biliyorsanız - yer imlerine comtypes ile içe aktarılan ArcObjects'i kullanarak erişebilirsiniz. pierssen.com/arcgis/upload/misc/python_arcobjects.pdf
dklassen

3

Bunu Kutudan Çıkarma işlevselliği olarak istemekten yalnız gibi görünmüyorsunuz. Adınızı eklemenizi tavsiye edeceğim en az üç ArcGIS fikri var:

Bu arada birisi Özellik Sınıfı için bir BookMarks yazmak için ilham , o zaman çıktı iyi Veriye Dayalı Sayfalar için bir Dizin Özellik Sınıfı olarak kullanılacak eminim.

Bunu, bazı Örnek Kodlara dayalı ListBookmarks için ArcGIS Çevrimiçi Yardımı'na (arcpy.mapping) dayalı bir Eğitim egzersizi olarak yaptım.

import arcpy

# The map with the bookmarks
mxd = arcpy.mapping.MapDocument(r"C:\polygeo\Maps\Bookmarks.mxd")

# Make sure that Training.gdb exists
fileGDBFolder = (r"C:\polygeo")
fileGDBName = ("Training.gdb")
fileGDB = fileGDBFolder + "\\" + fileGDBName
if not arcpy.Exists(fileGDB):
    arcpy.CreateFileGDB_management(fileGDBFolder, fileGDBName)

# The output feature class to be created -
# This feature class will store the bookmarks as features
fcName = "Bookmarks"
outFC = fileGDB + "\\" + fcName

# Create new feature class and add a "Name" field to store the
# bookmark name.  Provide it with the same Spatial reference as
# the data frame in which the bookmarks of the map are stored

if arcpy.Exists(outFC):
    arcpy.Delete_management(outFC)   
arcpy.CreateFeatureclass_management(fileGDB,
                                    fcName, 
                                    "POLYGON", 
                                    spatial_reference=arcpy.SpatialReference(
                                        "Geocentric Datum of Australia 1994"))
arcpy.AddField_management(outFC, "Name", "TEXT", "", "", 50)

# Use arcpy.mapping.ListBookmarks to read bookmark corners and names,
# then arcpy.da.InsertCursor to write arrays of Point geometries from
# that can be written as Polygon geometries to the Shape field of the
# new feature class (with their names).
cur = arcpy.da.InsertCursor(outFC, ["SHAPE@", "Name"])
array = arcpy.Array()
for bkmk in arcpy.mapping.ListBookmarks(mxd):
    array.add(arcpy.Point(bkmk.extent.XMin, bkmk.extent.YMin))
    array.add(arcpy.Point(bkmk.extent.XMin, bkmk.extent.YMax))
    array.add(arcpy.Point(bkmk.extent.XMax, bkmk.extent.YMax))
    array.add(arcpy.Point(bkmk.extent.XMax, bkmk.extent.YMin))
    # To close the polygon, add the first point again
    array.add(arcpy.Point(bkmk.extent.XMin, bkmk.extent.YMin))
    cur.insertRow([arcpy.Polygon(array), bkmk.name])
    array.removeAll()
del bkmk,array,cur,mxd

print "Bookmarks feature class has been created in " + fileGDB

ListBookmarks, sürüm 10.2.1'de bozuk. ESRI bugün bir dava açtı: Yardım Belgelerinden [# NIM099667 Liste Yer İşaretleri (arcpy.mapping) örnek 3 (PolyGeo'nun yanıtı gibi) düzgün çalışmıyor ve ArcMap 10.2.1 sürümünde boş bir çıktı oluşturuyor. ]
MapGuyMike

2

Biz bir .dat dosya daha sonra içine bu dosyayı yüklemek olarak yer imleri dışarı kaydederek bir özellik sınıfı oluşturmak başardık Yerlerim aracı daha sonra, My Places iletişim kutusu içindeki onları seçin, ardından için Ekle düğmesi ve seçti Harita As Grafiği kez bir grafiğiniz varsa, haritadaki tüm grafikleri seçin ve Grafikleri Özelliklere Dönüştür'ü kullanın, ardından Veriye Dayalı Sayfalar için Özellik Sınıfını kullanabilirsiniz. Not: Grafikler çokgen şeklinde geldi. Tüm kredi Seneca Francis'e gidiyor.

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.