Перетворити закладки на сторінки, керовані даними на ArcGIS Desktop?


9

У нас є цей великий проект в ArcGIS з 30 мапами з різними розширеннями, які використовують закладки для панорамування між цими картами / сторінками.

Тепер ми хотіли б замість цього використовувати сторінки, керовані даними. Питання полягає в тому, чи можливо конвертувати закладки на сторінки, керовані даними, чи нам потрібно створити багато полігонів, що охоплюють кожну міру карти?

Відповіді:


7

Не безпосередньо, але ви можете зробити це за допомогою python та модуля arcpy.mapping. Використовуйте arcpy.mapping.List Bookmarks, щоб отримати масштаб кожної закладки. Потім створіть функції для кожного ступеня. Тепер ви зможете використовувати цей клас функцій як рівень індексу для сторінок, керованих даними.


Для ясності, ListBookmarks - це нова функція в ArcGIS 10.1
RyanKDalton,

Гаразд, все ще на 10.0 тут ... Я думаю, ми скоро оновимо. Також я взагалі не знаю Python.
oskarlin

Якщо ви все ще перебуваєте на 10.0 і знаєте ArcObjects та Python - ви можете отримати доступ до закладок за допомогою ArcObjects, імпортованих разом із комтитами. pierssen.com/arcgis/upload/misc/python_arcobjects.pdf
dklassen

3

Ви, здається, далеко не поодинці, бажаючи цього функціоналу Out-Of-The-Box. Є щонайменше три ідеї ArcGIS, які я рекомендую вам додати своє ім'я до:

Тим часом, якщо когось надихнуть писати інструмент BookMarks To Feature Class , я впевнений, що його результати будуть добре використані як індексний клас функцій для сторінок, керованих даними.

Я зробив це як тренувальна вправа, що базується на деякому зразковому коді Інтернет-довідки ArcGIS для списку Bookmark (arcpy.mapping).

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 порушено у версії 10.2.1. ESRI відкрив випадок сьогодні: [# NIM099667 Список Bookmark (arcpy.mapping) приклад 3 (як відповідь PolyGeo) з довідкової документації працює неправильно і створює порожній вихід у версії ArcMap 10.2.1. ]
MapGuyMike

2

Нам вдалося створити клас функції, зберігаючи закладки у форматі .dat, потім завантажуючи цей файл у інструмент " Мої місця" , потім виберіть їх у діалоговому вікні "Мої місця", потім натисніть кнопку " Додати до" та оберіть " Карта як графічний раз" у вас є зображення, а потім виберіть всю графіку на карті та використовуйте перетворити графіку в функції, тоді ви можете використовувати клас функцій для сторінок, керованих даними. Примітка. Графіка пройшла як багатокутники. Вся заслуга припадає на Сенеку Френсіс.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.