Skip To Content

Configurare il file delle proprietà dei servizi di routing

Specificare le proprietà avanzate per i servizi di routing da un file di proprietà.

Proprietà di servizio aggiuntive

Quando si configurano servizi di routing da un dataset di rete, è possibile specificare un file di proprietà contenente impostazioni aggiuntive per i servizi di routing, come il numero minimo e massimo di istanze del servizio o i valori predefiniti per uno o più parametri supportati dal REST API dei servizi. Ad esempio, se le applicazioni che utilizzano il servizio di percorso e indicazioni stradali utilizzano solo i valori di tempo e distanza di viaggio dai percorsi di output e non hanno bisogno di indicazioni stradali o geometrie di percorso, è possibile configurare il servizio di percorso e indicazioni stradali utilizzando il file delle proprietà per restituire solo gli output desiderati per impostazione predefinita. In questo modo si ottimizzano le prestazioni del servizio di percorso e indicazioni stradali, in quanto non vengono generati output aggiuntivi non utilizzati dalle applicazioni client.

Il file delle proprietà memorizza le impostazioni nel formato JavaScript Object Notation (JSON). Questo argomento della guida presuppone una familiarità di base con il formato JSON.

Il processo di configurazione dei servizi di routing utilizzerà un file di proprietà predefinito chiamato publishroutingservices.json che si trova nella directory di installazione ArcGIS Server all'indirizzo <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices. Questa sezione descrive la struttura del file delle proprietà utilizzando come esempio il file predefinito di sistema. Per modificare le proprietà, fare una copia del file predefinito di sistema e modificare la copia con un editor di testo. Quando si richiama il processo di configurazione del routing, specificare il file modificato come input.

Struttura del file delle proprietà

Il file delle proprietà contiene un oggetto di primo livello, chiamato routingServices, che contiene gli oggetti mapServices e gpServices. Ciascuno di questi oggetti può contenere uno o più oggetti che rappresentano uno specifico servizio di routing.

Gli oggetti JSON di primo livello nel file delle proprietà. L'oggetto mapServices definisce le proprietà per il map service networkAnalysis e l'oggetto gpServices definisce le proprietà per i servizi di geoprocessing asyncNetworkAnalysis, syncNetworkAnalysis e routingUtilities.

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

Un oggetto di map service, ad esempio networkAnalysis, contiene un oggetto serviceProperties che definisce le proprietà del livello di servizio per il map service e l'oggetto layerProperties che definisce le proprietà di uno o più layer utilizzati dal map service.

Un oggetto di servizio di geoprocessing, ad esempio asyncNetworkAnalysis, contiene un oggetto serviceProperties che definisce le proprietà del livello di servizio per il servizio di geoprocessing e l'oggetto toolProperties che definisce le proprietà di uno o più strumenti di geoprocessing utilizzati dal servizio di geoprocessing.

L'oggetto JSON del servizio contenente serviceProperties e layerProperties o toolProperties.

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

Un oggetto serviceProperties all'interno di un oggetto di servizio definisce una o più proprietà del livello di servizio, come il numero massimo di istanze di servizio per computer (MaxInstances) o il tempo massimo (in secondi) durante il quale il client può utilizzare un servizio (UsageTimeout).

Un oggetto layerProperties per un map service definisce le proprietà per i layer route, closestFacility, serviceArea e odCostMatrix. Le proprietà di un layer sono definite come parte dell'oggetto defaultValues.

Un oggetto toolProperties per un servizio di geoprocessing definisce le proprietà per gli strumenti di geoprocessing come FindRoutes, FindClosestFacilities, GenerateServiceAreas, GenerateOriginDestinationCostMatrix, SolveLocationAllocation, SolveVehicleRoutingProblem e EditVehicleRoutingProblem. Le proprietà di uno strumento sono definite come parte dell'oggetto defaultValues. L'oggetto constantParameters consente di elencare uno o più parametri per lo strumento che non dovrebbero essere disponibili nel REST API del servizio di geoprocessing.

L'oggetto layerProperties per i layer di un map service e l'oggetto toolProperties per gli strumenti del servizio di geoprocessing.

{
    "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": {
                }
            }
        }
    }
}

Modificare il file delle proprietà

Il processo di configurazione dei servizi di routing utilizzerà un file di proprietà predefinito che si trova nella directory di installazione ArcGIS Server all'indirizzo <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json. Per modificare le proprietà, fare una copia del file in questione e modificarlo con un editor di testo.

Suggerimento:

Si consiglia di utilizzare un editor di testo come Visual Studio Code che comprenda la sintassi JSON per modificare il file delle proprietà, per evitare errori di sintassi durante la modifica del file delle proprietà. Un file di proprietà con un qualsiasi errore di sintassi JSON comporta un errore nel processo di configurazione dei servizi di routing.