Skip To Content

Configurar el archivo de propiedades de los servicios de generación de rutas

Especifique propiedades avanzadas para los servicios de generación de rutas a partir de un archivo de propiedades.

Propiedades adicionales del servicio

Al configurar servicios de generación de rutas desde un dataset de red, puede especificar un archivo de propiedades con configuraciones adicionales para los servicios de generación de rutas, como el número mínimo y máximo de instancias de servicio o los valores predeterminados para uno o más parámetros admitidos por la API REST de los servicios. Por ejemplo, si las aplicaciones que usan el servicio de rutas e indicaciones solo utilizan los valores de tiempo de viaje y distancia de viaje de las rutas de salida y no necesitan indicaciones de conducción o geometrías de ruta, puede configurar el servicio de rutas e indicaciones utilizando el archivo de propiedades para devolver solo las salidas deseadas de forma predeterminada. Así se optimiza el rendimiento del servicio de rutas e indicaciones ya que no genera salidas adicionales que las aplicaciones cliente no utilizan.

El archivo de propiedades almacena la configuración en el formato Notación de objetos JavaScript (JSON). En este tema de ayuda, se presupone que usted tiene conocimientos básicos del formato JSON.

El proceso de configuración de servicios de generación de rutas utilizará un archivo de propiedades predeterminado llamado publishroutingservices.json que se encuentra en el directorio de instalación de ArcGIS Server en <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices. En esta sección, se describe la estructura del archivo de propiedades utilizando el archivo predeterminado del sistema como un ejemplo. Para cambiar las propiedades, cree una copia del archivo predeterminado del sistema y edite la copia con un editor de texto. Cuando llame al proceso de configuración de generación de rutas, especifique el archivo modificado como entrada.

Estructura del archivo de propiedades

El archivo de propiedades contiene un objeto de nivel superior denominado routingServices, que tiene objetos mapServices y gpServices. Cada uno de estos objetos puede contener uno o más objetos que representan un servicio de generación de rutas específico.

Los objetos JSON de nivel superior del archivo de propiedades. El objeto mapServices define las propiedades para el servicio de mapas de networkAnalysis y el objeto gpServices define las propiedades de los servicios de geoprocesamiento de asyncNetworkAnalysis, syncNetworkAnalysis y routingUtilities.

{
    "routingServices": {
        "mapServices": {
            "networkAnalysis": {
            }
        },
        "gpServices": {
            "asyncNetworkAnalysis": {
            },
            "syncNetworkAnalysis": {
            },
            "routingUtilities": {
            }
        }
    }
}

Un objeto de servicio de mapas, como networkAnalysis, contiene un objeto serviceProperties que define las propiedades de nivel de servicio del servicio de mapas, y el objeto layerProperties que define las propiedades de una o varias capas utilizadas por el servicio de mapas.

Un objeto de servicio de geoprocesamiento como asyncNetworkAnalysis contiene un objeto serviceProperties que define las propiedades de nivel de servicio del servicio de geoprocesamiento, y el objeto toolProperties que define las propiedades para una o más herramientas de geoprocesamiento utilizadas por el servicio de geoprocesamiento.

El objeto JSON de servicio que contiene serviceProperties y layerProperties o toolProperties.

{
    "routingServices": {
        "mapServices": {
            "networkAnalysis": {
                "serviceProperties": {
                },
                "layerProperties": {
                }
            }
        },
        "gpServices": {
            "asyncNetworkAnalysis": {
                "serviceProperties": {
                },
                "toolProperties": {
                }
            },
            "syncNetworkAnalysis": {
                "serviceProperties": {
                },
                "toolProperties": {
                }
            },
            "routingUtilities": {
                "serviceProperties": {
                },
                "toolProperties": {
                }
            }
        }
    }
}

Un objeto serviceProperties dentro de un objeto de servicio define una o varias propiedades de nivel de servicio como la cantidad máxima de instancias de servicio por equipo (MaxInstances) o el tiempo máximo (en segundos) en el que el cliente puede utilizar un servicio (UsageTimeout).

Un objeto layerProperties de un servicio de mapas define las propiedades de las capas route, closestFacility, serviceArea y odCostMatrix. Las propiedades de una capa se definen como parte del objeto defaultValues.

Un objeto toolProperties para un servicio de geoprocesamiento define las propiedades de las herramientas de geoprocesamiento como FindRoutes, FindClosestFacilities, GenerateServiceAreas, GenerateOriginDestinationCostMatrix, SolveLocationAllocation, SolveVehicleRoutingProblem y EditVehicleRoutingProblem. Las propiedades de una herramienta se definen como parte del objeto defaultValues. El objeto constantParameters le permite enumerar uno o varios parámetros para la herramienta que no deben estar disponibles en la API REST del servicio de geoprocesamiento.

El objeto layerProperties para las capas de un servicio de mapas y el objeto toolProperties para las herramientas del servicio de geoprocesamiento.

{
    "routingServices": {
        "mapServices": {
            "networkAnalysis": {
                "serviceProperties": {
                },
                "layerProperties": {
                    "route": {
                        "defaultValues": {
                        }
                    },
                    "closestFacility": {
                        "defaultValues": {
                        }
                    },
                    "serviceArea": {
                        "defaultValues": {
                        }
                    },
                    "odCostMatrix": {
                        "defaultValues": {
                        }
                    }
                }
            }
        },
        "gpServices": {
            "asyncNetworkAnalysis": {
                "serviceProperties": {
                },
                "toolProperties": {
                    "FindRoutes": {
                        "defaultValues": {
                        },
                        "constantParameters": []
                    },
                    "FindClosestFacilities": {
                        "defaultValues": {
                        },
                        "constantParameters": []
                    },
                    "GenerateServiceAreas": {
                        "defaultValues": {
                        },
                        "constantParameters": []
                    },
                    "GenerateOriginDestinationCostMatrix": {
                        "defaultValues": {
                        },
                        "constantParameters": []
                    },
                    "SolveLocationAllocation": {
                        "defaultValues": {
                        },
                        "constantParameters": []
                    },
                    "SolveVehicleRoutingProblem": {
                        "defaultValues": {
                        },
                        "constantParameters": []
                    }
                }
            },
            "syncNetworkAnalysis": {
                "serviceProperties": {
                },
                "toolProperties": {
                    "EditVehicleRoutingProblem": {
                        "defaultValues": {
                        },
                        "constantParameters": []
                    }
                }
            },
            "routingUtilities": {
                "serviceProperties": {
                }
            }
        }
    }
}

Editar el archivo de propiedades

El proceso de configuración de servicios de generación de rutas utilizará un archivo de propiedades predeterminado que se encuentra en el directorio de instalación de ArcGIS Server, en <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json. Para cambiar las propiedades, cree una copia de este archivo y edítelo con un editor de texto.

Sugerencia:

Se recomienda que use un editor de texto como Visual Studio Code que comprenda la sintaxis JSON para editar el archivo de propiedades a fin de evitar errores de sintaxis durante la edición del archivo de propiedades. Un archivo de propiedades con cualquier error de sintaxis JSON hará que el proceso de configuración de los servicios de generación de rutas falle.