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 Ausgabe-Routen 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.
Bei der Konfiguration von Routing-Services wird eine Standard-Eigenschaftendatei namens publishroutingservices.json verwendet, die Sie im ArcGIS Server-Installationsverzeichnis unter <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices finden. In diesem Abschnitt wird die Struktur der Eigenschaftendatei beschrieben, wozu die Systemstandarddatei als Beispiel herangezogen wird. Erstellen Sie zum Ändern der Eigenschaften eine Kopie der Systemstandarddatei, und bearbeiten Sie die Kopie mithilfe eines Text-Editors. 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 der Eigenschaftendatei
Bei der Konfiguration von Routing-Services wird eine Standard-Eigenschaftendatei verwendet, die Sie im ArcGIS Server-Installationsverzeichnis unter <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json finden. 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 Bearbeitung der Eigenschaftendatei Syntaxfehler zu vermeiden. Wenn in einer Eigenschaftendatei ein JSON-Syntaxfehler vorliegt, tritt bei der Konfiguration der Routing-Services ein Fehler auf.