حدد الخصائص المتقدمة لخدمات التوجيه من ملف خصائص.
خصائص الخدمة الإضافية
عند تكوين خدمات التوجيه من مجموعة بيانات الشبكة، يمكنك تحديد ملف خصائص يحتوي على إعدادات خدمات التوجيه الإضافية مثل الحد الأدنى والحد الأقصى لعدد مثيلات الخدمة أو القيم الافتراضية لمعلمة واحدة أو أكثر تدعمها REST API للخدمات. على سبيل المثال، إذا كانت التطبيقات التي لا تستخدم إلا خدمة المسار والاتجاهات تحتاج إلى قيم وقت السفر ومسافة السفر من مسارات الإخراج ولا تتطلب اتجاهات القيادة أو الأشكال الهندسية للطريق، فيمكنك إذن تكوين خدمة التوجيه والاتجاهات لإرجاع المخرجات المرغوبة فقط افتراضيًا باستخدام ملف الخصائص. وسيؤدي ذلك إلى تحسين أداء خدمة التوجيه والاتجاهات نظرًا لأنها لا تنشئ مخرجات غير مطلوبة بواسطة تطبيقات العميل.
يخزن ملف الخصائص الإعدادات بتنسيقJavaScript Object Notation (JSON). يتطلب موضوع التعليمات هذا فهمًا أساسيًا بتنسيق JSON .
سوف يستفيد إجراء تكوين خدمات التوجيه من ملف الخصائص الافتراضي المسمىpublishroutingservices.json والذي يمكن العثور عليه في ArcGIS Server دليل التثبيت في <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices. باستخدام ملف النظام الافتراضي كمثال، يناقش هذا القسم بنية ملف الخصائص. لتحديث الخصائص، قم بعمل نسخة من ملف النظام الافتراضي وقم بتعديله باستخدام محرر نصوص. حدد الملف الذي تم تغييره كمدخل عند استدعاء إجراء تكوين التوجيه.
بنية ملف الخصائص
يحتوي ملف الخصائص على كائن عالي المستوى يسمى routingServices، والذي يحتوي على mapServices وكائنات gpServices ومن الممكن أن يشتمل كل عنصر من هذه الكائنات على كائن واحد أو أكثر يمثل خدمة توجيه معينة. كائنات JSON عالية المستوى في ملف الخصائص. يحدد الكائن mapServices خصائص networkAnalysis خدمة الخريطة gpServices، بالإضافة إلى خصائص asyncNetworkAnalysisوsyncNetworkAnalysisوroutingUtilities وخدمات المعالجة الجغرافية.{
"routingServices": {
"mapServices": {
"networkAnalysis": {
}
},
"gpServices": {
"asyncNetworkAnalysis": {
},
"syncNetworkAnalysis": {
},
"routingUtilities": {
}
}
}
}
يحتوي كائن خدمة الخريط، مثل networkAnalysis، على كائن serviceProperties يحدد خصائص مستوى الخدمة الخاص بخدمة الخريطة layerProperties بالإضافة إلى كائن يحدد خصائص طبقة واحدة أو أكثر مستخدمة بواسطة خدمة الخريطة.
يحتوي كائن خدمة المعالجة الجغرافية، مثل asyncNetworkAnalysis، على كائن serviceProperties يحدد خصائص مستوى الخدمة الخاصة بخدمة المعالجة الجغرافية، بالإضافة إلى كائن toolProperties يحدد الخصاص الخاصة بأداة واحدة أو أكثر من أدوات المعالجة الجغرافية التي تستخدمها خدمة المعالجة الجغرافية.
كائن JSON للخدمة الذي يتضمن serviceProperties و layerProperties أو toolProperties.
{
"routingServices": {
"mapServices": {
"networkAnalysis": {
"serviceProperties": {
},
"layerProperties": {
}
}
},
"gpServices": {
"asyncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"syncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"routingUtilities": {
"serviceProperties": {
},
"toolProperties": {
}
}
}
}
}
يحدد كائن serviceProperties داخل كائن الخدمة خاصية واحدة أو أكثر من خصائص مستوى الخدمة مثل الحد الأقصى لعدد مثيلات الخدمة لكل جهاز (MaxInstances)، أو الحد الأقصى لمقدار الوقت (بالثواني) الذي يمكن للعميل استخدام الخدمة (UsageTimeout).
يحدد كائن layerProperties خدمة الخريطة خصائص route، وclosestFacility، وserviceArea، وطبقات odCostMatrix. يتم تحديد خصائص الطبقة كجزء من كائن defaultValues.
يحدد كائن toolProperties لخدمة المعالجة الجغرافية خصائص أدوات المعالجة الجغرافية مثل FindRoutes وFindClosestFacilities وGenerateServiceAreas وGenerateOriginDestinationCostMatrix وSolveLocationAllocation وSolveVehicleRoutingProblem، و EditVehicleRoutingProblem. ويتم تحديد خصائص الأداة كجزء من كائن defaultValues. يتيح الكائن constantParameters للمستخدم توفير واحد أو أكثر من معلمات الأداة التي لا ينبغي توافرها في واجهة برمجة تطبيقات REST API بخدمة المعالجة الجغرافية.
يمثل كائن layerProperties الطبقات في خدمة الخريطة، بينما يمثل كائن toolProperties الأدوات المتاحة في خدمة المعالجة الجغرافية.
{
"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": {
}
}
}
}
}
تحرير ملف الخصائص
سيستفيد إجراء تكوين خدمات التوجيه من ملف الخصائص الافتراضي الموجود في ArcGIS Server دليل التثبيت في <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json. لتحديث الخصائص، قم بعمل نسخة من هذا الملف ومن ثم تعديلها باستخدام محرر نصوص.
تلميح:
يُنصح باستخدام محرر نصوص يفهم بناء جملة JSON مثل Visual Studio Code لتحرير ملف الخصائص وذلك لتجنب مشاكل بناء الجمل عند تحرير ملف الخصائص. ستؤدي أي مشكلة في بنية JSON في ملف الخصائص إلى فشل عملية تكوين خدمات التوجيه.