Chuyển đổi dấu trang thành các trang điều khiển dữ liệu trong ArcGIS Desktop?


9

Chúng tôi có dự án lớn này trong ArcGIS với 30 bản đồ với các phạm vi khác nhau bằng cách sử dụng Dấu trang để xoay giữa các bản đồ / trang này.

Bây giờ chúng tôi muốn sử dụng các trang điều khiển dữ liệu thay thế. Câu hỏi là, có thể chuyển đổi dấu trang sang các trang được điều khiển dữ liệu hay chúng ta phải tạo ra nhiều đa giác bao phủ từng phạm vi bản đồ?

Câu trả lời:


7

Không trực tiếp, nhưng bạn có thể làm điều này với python và mô-đun arcpy.micking. Sử dụng arcpy.micking.ListBookmark để lấy phạm vi của từng dấu trang. Sau đó tạo các tính năng cho từng mức độ. Bây giờ bạn sẽ có thể sử dụng lớp tính năng này làm lớp chỉ mục cho các trang hướng dữ liệu.


Nói

OK, vẫn còn trên 10.0 ở đây ... Tôi đoán chúng tôi sẽ cập nhật sớm. Ngoài ra tôi không biết Python gì cả.
oskarlin

Nếu bạn vẫn ở trên 10.0 và đã quen thuộc với ArcObjects và Python - bạn có thể truy cập các dấu trang bằng ArcObjects được nhập bằng comtypes. pierssen.com/arcgis/upload/misc/python_arcobjects.pdf
dklassen

3

Bạn dường như ở xa một mình khi muốn đây là chức năng Out-Of-The-Box. Có ít nhất ba Ý tưởng ArcGIS mà tôi khuyên bạn nên thêm tên của mình vào:

Trong khi đó, nếu ai đó được truyền cảm hứng để viết một công cụ BookMarks To Feature Class , thì tôi chắc chắn rằng đầu ra của nó sẽ được sử dụng tốt làm Lớp tính năng chỉ mục cho các trang hướng dữ liệu.

Cuối cùng tôi đã thực hiện điều này như một bài tập Huấn luyện dựa rất nhiều vào Mã mẫu, Trợ giúp trực tuyến ArcGIS cho ListBookmark (arcpy.micking).

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

ListBookmark bị hỏng ở phiên bản 10.2.1. ESRI đã mở một trường hợp ngày hôm nay: [# NIM099667 ListBookmark (arcpy.micking) ví dụ 3 (như câu trả lời của PolyGeo) từ Tài liệu trợ giúp không hoạt động chính xác & tạo đầu ra trống ở phiên bản ArcMap 10.2.1. ]
MapGuyMike

2

Chúng tôi có thể tạo lớp đối tượng bằng cách lưu dấu trang dưới dạng tệp .dat, sau đó tải tệp đó vào công cụ Địa điểm của tôi , sau đó chọn chúng trong hộp thoại Địa điểm của tôi, sau đó nhấp vào nút Thêm vào và chọn Bản đồ dưới dạng đồ họa một lần bạn có một đồ họa sau đó chọn tất cả đồ họa trong bản đồ và sử dụng Chuyển đổi đồ họa thành các tính năng sau đó bạn có thể sử dụng Lớp tính năng cho các trang hướng dữ liệu. Lưu ý: Đồ họa đi qua dưới dạng đa giác. Tất cả tín dụng dành cho Seneca Francis.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.