Routing-Service-Eigenschaftendatei

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

Eine Beispiel-Eigenschaftendatei mit einer Erklärung der Struktur finden Sie weiter unten.

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 pro Knoten, hochladen.

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.