Skip To Content

Plik 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 tych usług, takie jak minimalna i maksymalna liczba wystąpień usług czy wartości domyślne parametrów obsługiwanych przez interfejs API REST usług. Jeśli na przykład aplikacje korzystające z usługi wyznaczania tras i wskazówek dojazdu używają 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 za pomocą pliku właściwości, aby domyślnie zwracać tylko wymagane wyniki. Zoptymalizuje to wydajność usługi dzięki eliminacji generowania dodatkowych danych wynikowych, które nie są używane 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.

Określając plik właściwości, można skonfigurować zaawansowane ustawienia usługi wyznaczania tras. Domyślny plik właściwości ma nazwę publishroutingservices.json.

Ten plik znajduje się w katalogu instalacyjnym aplikacji ArcGIS Server w ścieżce <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices.

W tej sekcji opisano strukturę pliku właściwości na przykładzie pliku domyślnych ustawień systemu. Aby zmienić właściwości, utwórz kopię pliku domyślnego 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 asyncNetworkAnalysis, syncNetworkAnalysis i routingUtilities.

{
    "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 i przekazywanie pliku właściwości

Podczas konfigurowania usługi wyznaczania tras można przekazać plik właściwości zawierający określone ustawienia, takie jak minimalna lub maksymalna liczba wystąpień. Plik właściwości znajduje się w katalogu instalacyjnym aplikacji ArcGIS Server w ścieżce <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 tego pliku zalecane jest używanie edytora tekstu interpretującego składnię JSON, takiego jak Visual Studio Code. Pozwala to 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.