Crear la capa de área de servicio (Network Analyst)
Resumen
Crea una capa de análisis de red de área de servicio y establece sus propiedades de análisis. Una capa de análisis del área de servicio es útil para determinar el área de accesibilidad dentro de un coste de valor límite dado desde la ubicación de una instalación.
Uso
Después de crear la capa de análisis con esta herramienta, puede agregarle objetos de análisis de red usando la herramienta Agregar ubicaciones, resolver el análisis usando la herramienta Resolver y guardar los resultados en el disco usando la herramienta Guardar en archivo de capa.
-
Cuando se utiliza esta herramienta en modelos de geoprocesamiento, si el modelo se ejecuta como una herramienta, la capa de análisis de red de salida debe ser un parámetro de modelo. De lo contrario, la capa de salida no se agregará a la tabla de contenido en ArcMap.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_network_dataset |
El dataset de red en el que se realizará el análisis del área de servicio. | Network Dataset Layer |
out_network_analysis_layer |
Nombre de la capa de análisis de red de área del servicio que se creará. | String |
impedance_attribute |
El atributo de coste que se usará como impedancia en el análisis. | String |
travel_from_to (Opcional) |
Especifica la dirección de viaje hacia o desde las instalaciones.
Utilizando esta opción se pueden encontrar distintas áreas de servicio en una red con restricciones unidireccionales e impedancias diferentes basadas en la dirección del viaje. El área de servicio de una tienda de entrega de pizzas, por ejemplo, se debe crear alejada de la instalación, mientras que el área de servicio de un hospital se debe crear cerca de la instalación. | String |
default_break_values (Opcional) |
Los valores predeterminados de impedancia que indican la extensión del área de servicio que se calculará. El valor predeterminado se puede invalidar especificando el valor de los cortes en las instalaciones. Se pueden establecer varios cortes de polígonos para crear áreas de servicio concéntricas. Por ejemplo, para encontrar áreas de servicio de 2, 3 y 5 minutos para la misma instalación, especifique "2 3 5" como el valor para el parámetro de valores de Corte predeterminado (los números 2, 3 y 5 deben estar separados por un espacio). | String |
polygon_type (Opcional) |
Especifica el tipo de polígonos que se generarán.
Si sus datos corresponden a un área urbana con una red semejante a una cuadrícula, la diferencia entre los polígonos generalizados y detallados sería mínima. Sin embargo, para los caminos rurales y de montaña, los polígonos detallados pueden presentar resultados significativamente más precisos que los polígonos generalizados. | String |
merge (Opcional) |
Especifica las opciones para fusionar polígonos que comparten valores de corte similares. Esta opción se puede aplicar sólo cuando se generan polígonos para varias instalaciones.
| String |
nesting_type (Opcional) |
Especifica la opción para crear polígonos de área de servicio concéntricos como discos o anillos. Esta opción se puede aplicar sólo cuando se especifican varios valores de corte para las instalaciones.
| String |
line_type (Opcional) |
Especifica el tipo de líneas que se generarán basadas en el análisis del área de servicio. Si selecciona la opción TRUE_LINES o TRUE_LINES_WITH_MEASURES para áreas de servicio grandes, aumentará la cantidad de memoria consumida por el análisis.
| String |
overlap (Opcional) |
Determines if overlapping lines are generated when the service area lines are computed.
| Boolean |
split (Opcional) |
| Boolean |
excluded_source_name [excluded_source_name,...] (Opcional) |
Especifica la lista de fuentes de red que se excluirán cuando se generen los polígonos. La geometría de los elementos atravesados de las fuentes excluidas se omitirá en todos los polígonos. Esta opción es útil cuando no desea incluir algunas fuentes de red en la generación de polígonos porque crean polígonos menos exactos o porque son intrascendentes para el análisis del área de servicio. Por ejemplo, mientras crea un área de servicio de tiempo de viaje en una red de varios modelos de calles y carriles, debe elegir excluir las líneas de carriles de la generación de polígonos para poder modelar correctamente la ruta por la que puede viajar un vehículo. La exclusión de una fuente de red de los polígonos de las áreas de servicio no evita que dichas fuentes se atraviesen. Excluir las fuentes de los polígonos de las áreas de servicio solo influye en la forma poligonal de las áreas de servicio. Si desea evitar atravesar una determinada fuente de red, debe crear una restricción adecuada al definir su dataset de red. | String |
accumulate_attribute_name [accumulate_attribute_name,...] (Opcional) |
Lista de los atributos de coste que se acumularán durante el análisis. Estos atributos de acumulación se usan específicamente de referencia; el solucionador utiliza los atributos de coste especificados por el parámetro de atributos Impedancia para calcular la ruta. For each cost attribute that is accumulated, a Total_[Impedance] property is added to the routes that are output by the solver. | String |
UTurn_policy (Opcional) |
Restrinja o permita giros en U en cruces que pudieran ocurrir durante el trazado poligonal de la red entre las paradas.
| String |
restriction_attribute_name [restriction_attribute_name,...] (Opcional) |
Lista de atributos de restricción que se aplicarán durante el análisis. | String |
polygon_trim (Opcional) |
| Boolean |
poly_trim_value (Opcional) |
Especifica la distancia dentro de la que se acortarán los polígonos del área de servicio. El parámetro incluye un valor y unidades para la distancia. El valor predeterminado es 100 metros. | Linear unit |
lines_source_fields (Opcional) |
| Boolean |
Ejemplo de código
Ejecutar la herramienta utilizando sólo los parámetros requeridos
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeServiceAreaLayer_na("Transportation/Streets_ND","FireStationCoverage", "Minutes")
Ejecutar la herramienta utilizando todos los parámetros
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb" arcpy.MakeServiceAreaLayer_na("Transportation/ParisNet","WarehouseCoverage", "Drivetime","TRAVEL_FROM","5 10 15", "SIMPLE_POLYS", "NO_OVERLAP","RINGS","TRUE_LINES", "NON_OVERLAP","NO_SPLIT", ["Metro_Lines","Transfer_Stations", "Transfer_Street_Station"], ["Meters","Drivetime"],"ALLOW_DEAD_ENDS_ONLY", ["Oneway"],"NO_TRIM_POLYS","", "LINES_SOURCE_FIELDS")
La siguiente secuencia de comandos de Python independiente muestra cómo se puede utilizar la herramienta MakeServiceAreaLayer para generar áreas de servicio de 1, 2 y 3 minutos alrededor de estaciones de bomberos.
# Name: MakeServiceAreaLayer_Workflow.py # Description: Generate 1-,2-,3- minute service area around fire stations and # save the results to a layer file on disk. The service area # polygons can be used to visualize the areas that do not have # adequate coverage from the fire stations # Requirements: Network Analyst Extension #Import system modules 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" outNALayer = "FireStationCoverage" impedanceAttribute = "TravelTime" inFacilities = "Analysis/FireStations" outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr" #Create a new service area layer. We wish to generate the service area #polygons as rings, so that we can easily visualize the coverage for any #given location. We also want overlapping polygons as we can determine the #number of fire stations that cover a given location. We will specify these #options while creating the new service area layer. arcpy.MakeServiceAreaLayer_na(inNetworkDataset, outNALayer, impedanceAttribute, "TRAVEL_FROM", "1 2 3", "SIMPLE_POLYS", "NO_MERGE", "RINGS") #Load the fire stations as facilities using deafult field mappings and #default search tolerance arcpy.AddLocations_na(outNALayer, "Facilities", inFacilities, "","") #Solve the service area layer arcpy.Solve_na(outNALayer) #Save the solved service area layer as a layer file on disk with relative #paths arcpy.SaveToLayerFile_management(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 occured on line %i" % tb.tb_lineno print str(e)