10 votos

Transformar los marcadores a las páginas controladas por datos en ArcGIS Desktop?

Tenemos este gran proyecto en ArcGIS con 30 mapas con diferentes extensiones de uso de los Marcadores de pan entre estos mapas/páginas.

Ahora nos gustaría utilizar las páginas controladas por Datos en su lugar. La pregunta es, ¿es posible convertir marcadores a las páginas controladas por datos, o tenemos que crear una gran cantidad de polígonos que cubren cada una extensión de mapa?

8voto

user1419170 Puntos 21

No directamente, pero puede hacerlo con python y arcpy.módulo de cartografía. El uso de arcpy.la cartografía.ListBookmarks para obtener la medida de cada marcador. A continuación, crear funciones para cada extensión. Ahora será capaz de utilizar esta clase de entidad como el índice de la capa de Páginas controladas por Datos.

4voto

UnkwnTech Puntos 21942

Usted parece estar muy lejos de estar solos en su deseo de que esta Fuera-De-La-Caja de funcionalidad. Hay al menos tres ArcGIS Ideas que yo recomendaría que usted agregue su nombre a:

Mientras tanto si alguien se inspiró para escribir un Favoritos Para la Clase de entidad de la herramienta, entonces estoy seguro de que su salida sería utilizado como un Índice de la Clase de entidad de Páginas controladas por Datos.

Terminé haciendo esto como un ejercicio de Entrenamiento basado en gran medida en el Código de Ejemplo la Ayuda de ArcGIS Online para ListBookmarks (arcpy.mapeo).

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

3voto

ewwhite Puntos 697

Hemos sido capaces de crear una clase de entidad por salvar la de los marcadores como un .dat archivo, a continuación, cargar el archivo en el Mis Lugares de la herramienta, a continuación, seleccione dentro de Mis sitios de cuadro de diálogo, haga clic en el Añadir Al botón y elegimos Mapa Como Gráfica una Vez que usted tiene un gráfico, a continuación, seleccione todos los gráficos en el mapa y utilizar el Convertir Gráficos a las Características , a continuación, puede utilizar la Función de la Clase de Páginas controladas por Datos. Nota: los Gráficos llegó a través de los polígonos. Todo el crédito va a Séneca Francisco.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X