Skip To Content

Konfigurowanie pliku właściwości usług wyznaczania tras

Określ zaawansowane właściwości usług wyznaczania tras z pliku właściwości.

Dodatkowe właściwości usług

Podczas konfigurowania usług wyznaczania tras z zestawu danych sieciowych można określić plik właściwości zawierający dodatkowe ustawienia usług wyznaczania tras, takie jak minimalna i maksymalna liczba wystąpień usług lub wartości domyślne dla jednego lub większej liczby parametrów obsługiwanych przez interfejs API REST usług. Na przykład jeśli aplikacje korzystające z usługi wyznaczania tras i wskazówek dojazdu używają tylko wartości czasu podróży i odległości podróży z tras wynikowych, a nie potrzebują wskazówek dojazdu ani geometrii tras, można skonfigurować usługę wyznaczania tras i wskazówek dojazdu, używając pliku właściwości, aby domyślnie zwracać tylko wymagane wyniki. Zoptymalizuje to wydajność usługi wyznaczania tras i wskazówek dojazdu dzięki wyeliminowaniu generowania dodatkowych danych wynikowych, które nie są wykorzystywane przez aplikacje klienckie.

Ustawienia w pliku właściwości są przechowywane w formacie JavaScript Object Notation (JSON). W tym temacie pomocy założono, że czytelnik zna podstawy formatu JSON.

W tym procesie konfigurowania usług wyznaczania tras zostanie użyty domyślny plik właściwości o nazwie publishroutingservices.json, który można znaleźć w katalogu instalacji oprogramowania ArcGIS Server pod adresem <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices. W tej sekcji opisano strukturę pliku właściwości na przykładzie tego pliku domyślnych ustawień systemu. Aby zmienić właściwości, utwórz kopię pliku domyślnych ustawień systemu i edytuj tę kopię za pomocą edytora tekstu. W przypadku wywoływania procesu konfigurowania wyznaczania tras określ zmodyfikowany plik jako dane wejściowe.

Struktura pliku właściwości

Plik właściwości zawiera obiekt najwyższego poziomu o nazwie routingServices, który zawiera obiekty mapServices i gpServices. Każdy z tych obiektów może zawierać jeden lub większą liczbę obiektów reprezentujących określoną usługę wyznaczania tras.

Obiekty JSON najwyższego poziomu w pliku właściwości. Obiekt mapServices definiuje właściwości usługi mapowe networkAnalysis, a obiekt gpServices definiuje właściwości usług geoprzetwarzania routingUtilities, asyncNetworkAnalysis i syncNetworkAnalysis.

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

Obiekt usługi mapowej, taki jak networkAnalysis, zawiera obiekt serviceProperties definiujący właściwości poziomu usługi dla usługi mapowej oraz obiekt layerProperties definiujący właściwości co najmniej jednej warstwy używanej przez usługę mapową.

Obiekt usługi geoprzetwarzania, taki jak asyncNetworkAnalysis, zawiera obiekt serviceProperties definiujący właściwości poziomu usługi dla usługi geoprzetwarzania oraz obiekt toolProperties definiujący właściwości co najmniej jednego narzędzia geoprzetwarzania używanego przez usługę geoprzetwarzania.

Obiekt JSON usługi zawierający serviceProperties i layerProperties lub toolProperties.

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

Obiekt serviceProperties w obiekcie usługi definiuje jedną lub więcej właściwości poziomu usługi, jak maksymalna liczba wystąpień usługi na komputer (MaxInstances) lub maksymalny czas (w sekundach), przez który klient może korzystać z usługi (UsageTimeout).

Obiekt layerProperties usługi mapowej definiuje właściwości warstw route, closestFacility, serviceArea i odCostMatrix. Właściwości warstwy są definiowane jako część obiektu defaultValues.

Obiekt toolProperties usługi geoprzetwarzania definiuje właściwości narzędzi geoprzetwarzania, takich jak FindRoutes, FindClosestFacilities, GenerateServiceAreas, GenerateOriginDestinationCostMatrix, SolveLocationAllocation, SolveVehicleRoutingProblem i EditVehicleRoutingProblem. Właściwości narzędzia są definiowane jako część obiektu defaultValues. Obiekt constantParameters umożliwia podanie jednego lub większej liczby parametrów narzędzia, które nie powinny być dostępne w interfejsie API REST usługi geoprzetwarzania.

Obiekt layerProperties dla warstw w usłudze mapowej i obiekt toolProperties dla narzędzi w usłudze geoprzetwarzania.

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

Edytowanie pliku właściwości

W tym procesie konfigurowania usług wyznaczania tras zostanie użyty domyślny plik właściwości, który można znaleźć w katalogu instalacji oprogramowania ArcGIS Server pod adresem <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json. Aby zmienić właściwości, utwórz kopię tego pliku i edytuj ją za pomocą edytora tekstu.

Wskazówka:

Do edytowania pliku właściwości zaleca się używanie edytora tekstu, takiego jak Visual Studio Code, który interpretuje składnię JSON, aby uniknąć błędów składni. Plik właściwości z jakimkolwiek błędem składni JSON spowoduje niepowodzenie konfiguracji usług wyznaczania tras.