Geben Sie über eine Eigenschaftendatei erweiterte Eigenschaften für Routing-Services an.
Zusätzliche Service-Eigenschaften
Bei der Konfiguration von Routing-Services über ein Netzwerk-Dataset können Sie eine Eigenschaftendatei angeben, die zusätzliche Einstellungen für die Routing-Services enthält. Dies sind beispielsweise die minimale und maximale Anzahl von Service-Instanzen und die Standardwerte für Parameter, die von der REST-API der Services unterstützt werden. Beispiel: Wenn die Anwendungen, die den Routing- und Wegbeschreibungs-Service nutzen, nur die Fahrzeit- und Fahrstreckenwerte der Ausgaberouten verwenden und die Wegbeschreibung oder Routengeometrien nicht benötigt werden, können Sie den Routing- und Wegbeschreibungs-Service mithilfe der Eigenschaftendatei so konfigurieren, dass standardmäßig nur die benötigten Ausgaben zurückgegeben werden. Dies hat eine Performance-Optimierung des Routing- und Wegbeschreibungs-Service zur Folge, da keine zusätzlichen Ausgaben, die nicht von den Client-Anwendungen verwendet werden, generiert werden.
Die Einstellungen werden in der Eigenschaftendatei im JSON-Format (JavaScript Object Notation) gespeichert. In diesem Hilfethema wird eine grundlegende Vertrautheit mit dem JSON-Format vorausgesetzt.
Sie können erweiterte Eigenschaften für einen Routing-Service durch Angabe einer Eigenschaftendatei konfigurieren. Die Standard-Eigenschaftendatei namens publishroutingservices.json
Diese Datei befindet sich im ArcGIS Server-Installationsverzeichnis unter <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices.
In diesem Abschnitt wird die Struktur der Eigenschaftendatei beschrieben, wozu die Standarddatei als Beispiel herangezogen wird. Zum Ändern der Eigenschaften können Sie eine Kopie der Standarddatei erstellen und mithilfe eines Text-Editors bearbeiten. Geben Sie beim Aufruf des Routing-Konfigurationsprozesses die geänderte Datei als Eingabe an.
Struktur der Eigenschaftendatei
Die Eigenschaftendatei enthält auf oberster Ebene das routingServices-Objekt, das über das mapServices- und das gpServices -Objekt verfügt. Jedes dieser Objekte kann weitere Objekte enthalten, die einen bestimmten Routing-Service darstellen. Die in der Eigenschaftendatei auf oberster Ebene enthaltenen JSON-Objekte Das mapServices-Objekt definiert Eigenschaften für den Kartenservice networkAnalysis, das gpServices-Objekt definiert Eigenschaften für die Geoverarbeitungsservices asyncNetworkAnalysis, syncNetworkAnalysis und routingUtilities.{
"routingServices": {
"mapServices": {
"networkAnalysis": {
}
},
"gpServices": {
"asyncNetworkAnalysis": {
},
"syncNetworkAnalysis": {
},
"routingUtilities": {
}
}
}
}
Ein Kartenservice-Objekt wie networkAnalysis enthält das serviceProperties-Objekt, in dem für den Kartenservice die Eigenschaften auf Serviceebene definiert sind, sowie das layerProperties-Objekt, in dem die Eigenschaften für einen oder mehrere Layer, die von dem Kartenservice verwendet werden, definiert sind.
Ein Geoverarbeitungsservice-Objekt wie asyncNetworkAnalysis enthält das serviceProperties-Objekt, in dem für den Geoverarbeitungsservice die Eigenschaften auf Serviceebene definiert sind, sowie das toolProperties-Objekt, in dem die Eigenschaften für ein oder mehrere Geoverarbeitungswerkzeuge, die von dem Geoverarbeitungsservice verwendet werden, definiert sind.
Das Service-JSON-Objekt, das serviceProperties und layerProperties bzw. toolProperties enthält
{
"routingServices": {
"mapServices": {
"networkAnalysis": {
"serviceProperties": {
},
"layerProperties": {
}
}
},
"gpServices": {
"asyncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"syncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"routingUtilities": {
"serviceProperties": {
},
"toolProperties": {
}
}
}
}
}
Das innerhalb eines Serviceobjekts enthaltene serviceProperties-Objekt definiert Eigenschaften auf Serviceebene, beispielsweise die maximale Anzahl von Service-Instanzen pro Computer (MaxInstances) oder den maximalen Zeitraum (in Sekunden), in dem ein Client einen Service verwenden kann (UsageTimeout).
Das layerProperties-Objekt eines Kartenservice definiert Eigenschaften für die Layer route, closestFacility, serviceArea und odCostMatrix. Die Eigenschaften eines Layers werden als Teil des defaultValues-Objekts festgelegt.
Das toolProperties-Objekt eines Geoverarbeitungsservice definiert Eigenschaften für die Geoverarbeitungswerkzeuge, z. B. FindRoutes, FindClosestFacilities, GenerateServiceAreas, GenerateOriginDestinationCostMatrix, SolveLocationAllocation, SolveVehicleRoutingProblem und EditVehicleRoutingProblem. Die Eigenschaften eines Werkzeugs werden als Teil des defaultValues-Objekts festgelegt. Mit dem constantParameters-Objekt können Sie einen oder mehrere Werkzeugparameter auflisten, die in der Regel nicht in der REST-API des Geoverarbeitungsservice verfügbar sind.
Das "layerProperties"-Objekt für Layer in einem Kartenservice und das "toolProperties"-Objekt für Werkzeuge im Geoverarbeitungsservice
{
"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": {
}
}
}
}
}
Bearbeiten und Hochladen einer Eigenschaftendatei
Beim Konfigurieren eines Routing-Service können Sie eine Eigenschaftendatei mit benutzerdefinierten Eigenschaften, z. B. minimale und maximale Anzahl von Service-Instanzen, hochladen. Die Eigenschaftendatei befindet sich im ArcGIS Server-Installationsverzeichnis unter <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json. Erstellen Sie zum Ändern der Eigenschaften eine Kopie dieser Datei, und bearbeiten Sie sie mithilfe eines Text-Editors.
Tipp:
Zum Bearbeiten der Eigenschaftendatei empfiehlt es sich, einen Text-Editor mit Verständnis der JSON-Syntax zu verwenden, z. B. Visual Studio Code, um bei der Dateibearbeitung Syntaxfehler zu vermeiden. Wenn in einer Eigenschaftendatei ein JSON-Syntaxfehler vorliegt, tritt bei der Konfiguration der Routing-Services ein Fehler auf.