ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Copiar Entidades de origen de trazado poligonal

  • Resumen
  • Uso
  • Sintaxis
  • Muestra de código
  • Entornos
  • Información de licenciamiento

Resumen

Crea dos clases de entidad y una tabla, que juntas contengan información sobre los bordes, cruces y giros que se trazan al resolver una capa de análisis de red.

Más información sobre la salida de la herramienta Copiar entidades de origen de trazado poligonal

Uso

  • La herramienta resuelve la capa de entrada de análisis de red si aún no se ha resuelto. La capa de análisis se resuelve si se ha realizado algún cambio en cualquiera de las entradas desde la última resolución.

  • Las entidades de origen de trazado poligonal se pueden generar para las siguientes capas de análisis de red:

    • Ruta
    • Área de servicio
    • Instalación más cercana
    • Problema de generación de rutas para vehículos

    Las entidades de origen de trazado poligonal no se pueden generar para las siguientes capas:

    • Matriz de coste OD
    • Ubicación y asignación

  • La clase de entidad de cruces de salida no solo incluye puntos que representan cruces de red de trazado poligonal, también incluye puntos que representan los siguientes:

    • Las barreras de punto de trazado poligonal
    • Los puntos de entrada y salida de línea de trazado poligonal y barreras de polígono
    • Paradas visitadas en un análisis de ruta
    • Instalaciones y extremos de los cortes visitados en un análisis de área de servicio
    • Instalaciones e incidentes visitados en un análisis de instalación más cercana
    • órdenes, depósitos y cortes visitados en un problema de generación de rutas para vehículos

    Más información sobre la salida de la herramienta Copiar entidades de origen de trazado poligonal

  • El sistema de coordenadas para las clases de entidad de salida se puede controlar especificando el Sistema de coordenadas de salida de la configuración del entorno o especificando un dataset de entidades en una geodatabase como el valor para el parámetro Ubicación de salida. Si no se especifica la configuración del entorno del Sistema de coordenadas de salida o la ubicación de salida no es un dataset de entidades, las clases de entidad de salida tienen el mismo sistema de coordenadas que la capa de entrada de análisis de red.

Sintaxis

arcpy.na.CopyTraversedSourceFeatures(input_network_analysis_layer, output_location, edge_feature_class_name, junction_feature_class_name, turn_table_name)
ParámetroExplicaciónTipo de datos
input_network_analysis_layer

La capa de análisis de red desde la que se copiarán las entidades de origen de trazado poligonal. Si la capa de análisis de red no tiene un resultado válido, la capa se resolverá para producir uno.

Network Analyst Layer
output_location

El espacio de trabajo donde se guardarán la tabla de salida y las dos clases de entidad.

Workspace; Feature Dataset
edge_feature_class_name

El nombre de la clase de entidad que contendrá información sobre las entidades de origen de eje trazado. Si la capa de análisis de red resuelta no trace en forma poligonal cualquier entidad de eje, se crea una clase de entidad vacía.

String
junction_feature_class_name

El nombre de la clase de entidad que contendrá información sobre las entidades de fuente de unión de trazado poligonal, incluyendo los cruces del sistema y puntos relevantes de la capa de entrada de análisis de red. Si la capa de análisis de red resuelta no traza en forma poligonal ningún cruce, se crea una clase de entidad vacía.

String
turn_table_name

El nombre de la tabla que contendrá información sobre los giros globales de trazado poligonal y entidades de giro que escalen el coste de los bordes subyacentes. Si la capa de análisis de red resuelta no traza en forma poligonal ningún giro, se crea una tabla vacía. Puesto que los giros restringidos nunca se trazan, nunca se incluyen en la salida.

String

Salida derivada

NombreExplicaciónTipo de datos
edge_features

Una clase de entidad que contiene los ejes del dataset de red que se atravesaron en el análisis de red.

Clase de entidad
junction_features

Una clase de entidad que contiene los cruces del dataset de red que se atravesaron en el análisis de red.

Clase de entidad
turn_table

Una tabla que contiene los giros del dataset de red que se atravesaron en el análisis de red.

Tabla
modified_input_network_analysis_layer

La capa de análisis de red resuelta.

Capa de Network Analyst

Muestra de código

Ejemplo 1 de CopyTraversedSourceFeatures 1 (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta CopyTraversedSourceFeatures para escribir los ejes de trazado poligonal, cruces y giros desde una capa de análisis de red de Ruta en las clases de entidad y la tabla de un espacio de trabajo almacenado en memoria.

arcpy.na.CopyTraversedSourceFeatures("Route", "C:/Data/Output.gdb",
                                     "TraversedEdges",
                                     "TraversedJunctions",
                                     "TraversedTurns")
CopyTraversedSourceFeatures ejemplo 2 (flujo de trabajo)

La siguiente secuencia de comandos de Python independiente muestra cómo se puede utilizar CopyTraversedSourceFeatures para buscar las calles que son comunes a las rutas desde los centroides de distrito censal hasta la estación de bomberos más cercana. Estos resultados ayudan a identificar qué calles son emergencias utilizadas más frecuentemente.

# Name: CopyTraversedSourceFeatures_ex02.py
# Description: The scenario shows how to find the streets that are common to the
#              routes between the closest fire station and the census tract
#              centroids. These streets can be used to identify critical points
#              in case of an emergency. 
# Requirements: Network Analyst Extension 

#Import system modules
import os
import arcpy
from arcpy import env

try:
    #Check out the Network Analyst extension license
    arcpy.CheckOutExtension("Network")

    #Set environment settings
    env.workspace = "C:/data/SanFrancisco.gdb"
    env.overwriteOutput = True
    
    #Set local variables
    inNetworkDataset = "Transportation/Streets_ND"
    outNALayerName = "EmergencyRoutes"
    impedanceAttribute = "TravelTime"
    inFacilities = "Analysis/FireStations"
    inIncidents = "Analysis/TractCentroids"
    edgeFrequency = "in_memory/EdgeFrequency"
    outLayerFile = "C:/data/output" + "/" + outNALayerName + ".lyr"
    outFeatures = "CriticalStreets"
    
    #Create a new closest facility analysis layer. For this scenario, the default 
    #value for all the remaining parameters statisfies the analysis requirements
    outNALayer = arcpy.na.MakeClosestFacilityLayer(inNetworkDataset, outNALayerName,
                                                   impedanceAttribute, "TRAVEL_FROM")
    
    #Get the layer object from the result object. The closest facility layer can 
    #now be referenced using the layer object.
    outNALayer = outNALayer.getOutput(0)
    
    #Get the names of all the sublayers within the closest facility layer.
    subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
    #Stores the layer names that we will use later
    facilitiesLayerName = subLayerNames["Facilities"]
    incidentsLayerName = subLayerNames["Incidents"]
    
    #Load fire station features as facilities and ensure that they are not
    #located on restricted portions of the network. Use default field mappings
    #and search tolerance
    arcpy.na.AddLocations(outNALayer,facilitiesLayerName,inFacilities,"", "",
                          exclude_restricted_elements = "EXCLUDE")
    
    #Load tract centroids as incidents and ensure that they are not located on
    #restricted portions of the network. Map the ID field from Tract Centroids
    #as the name for incidents using field mappings
    fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer, incidentsLayerName)
    fieldMappings['Name'].mappedFieldName = "ID"
    arcpy.na.AddLocations(outNALayer,incidentsLayerName, inIncidents,
                          fieldMappings,"", exclude_restricted_elements = "EXCLUDE")
    
    #Solve the closest facility layer and copy the travered source features to a
    #temporary in-memory workspace. Use default names for the output feature
    #classes and table. Get only the first output which are the edges traversed.
    traversedEdges = arcpy.na.CopyTraversedSourceFeatures(outNALayer,
                                                          "in_memory").getOutput(0)
    
    #Calculate the frequency of SourceOID in the traversed edges
    arcpy.analysis.Frequency(traversedEdges, edgeFrequency,
                             ["SourceOID", "SourceName"])
    
    #Get the full path to the streets feature class by describing the network
    #dataset referenced by the network analysis layer. 
    network = arcpy.Describe(outNALayer.dataSource)
    edgeSources = network.edgeSources
    for es in edgeSources:
        if es.name.lower() == "streets":
            streetsSource = os.path.join(os.path.dirname(network.catalogPath),
                                         es.name)
            break
    else:
        raise Exception("Failed to detrmine the path for the streets feature class")
    
    #Join the frequency field to the streets feature class. In order to speed up
    #the join select the streets that share a line segment with traversed streets.
    streetsLayer = "StreetsLayer"
    arcpy.management.MakeFeatureLayer(streetsSource,streetsLayer)
    arcpy.management.SelectLayerByLocation(streetsLayer, "SHARE_A_LINE_SEGMENT_WITH",
                                           traversedEdges)
    arcpy.management.JoinField(streetsLayer, "ObjectID", edgeFrequency,
                               "SourceOID", "FREQUENCY")
    
    #Copy the streets that have a frequency value to a new feature class.
    arcpy.management.SelectLayerByAttribute(streetsLayer, "SUBSET_SELECTION",
                                            "FREQUENCY IS NOT NULL")
    arcpy.management.CopyFeatures(streetsLayer,outFeatures)
    
    #Delete the Frequency field from the streets feature class
    arcpy.management.DeleteField(streetsLayer, "FREQUENCY")

    #Save the solved na layer as a layer file on disk with relative paths
    arcpy.management.SaveToLayerFile(outNALayer,outLayerFile,"RELATIVE")
    
    print "Script completed successfully"
    
except Exception as e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "An error occurred on line %i" % tb.tb_lineno
    print str(e)

Entornos

  • Espacio de trabajo actual
  • Sistema de coordenadas de salida

Información de licenciamiento

  • Basic: Requiere Network Analyst
  • Standard: Requiere Network Analyst
  • Advanced: Requiere Network Analyst

Temas relacionados

  • Salida de Copiar entidades de origen de trazado poligonal

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2021 Esri. | Privacidad | Legal