إنشاء مجموعة بيانات باستخدام حزمة GeoJson (معاينة)

يتيح خرائط Azure Creator للمستخدمين استيراد بيانات الخريطة الداخلية بتنسيق GeoJSON باستخدام مرفق Ontology 2.0، والذي يمكن استخدامه بعد ذلك لإنشاء مجموعة بيانات.

إشعار

توضح هذه المقالة كيفية إنشاء مجموعة بيانات من حزمة GeoJSON. للحصول على معلومات حول الخطوات الإضافية المطلوبة لإكمال خريطة داخلية، راجع الخطوات التالية.

المتطلبات الأساسية

هام

  • تستخدم هذه المقالة عنوان URL الجغرافي us.atlas.microsoft.com. إذا لم يتم إنشاء مؤلف خدمتك داخل الولايات المتحدة، فعليك استخدام عنوان URL مختلف جغرافياً. لمزيد من المعلومات، راجع الوصول إلى خدمات المنشئ.
  • في أمثلة عنوان URL في هذه المقالة، ستحتاج إلى استبدال {Your-Azure-Maps-Subscription-key} بمفتاح اشتراك خرائط Azure.

إنشاء مجموعة بيانات باستخدام حزمة GeoJSON

لمزيد من المعلومات حول حزمة GeoJSON، راجع قسم متطلبات حزمة Geojson zip.

تحميل حزمة GeoJSON

اتبع الخطوات الموضحة في مقالة كيفية إنشاء سجل البيانات لتحميل حزمة GeoJSON إلى حساب تخزين Azure الخاص بك ثم تسجيلها في حساب خرائط Azure الخاص بك.

هام

تأكد من تدوين قيمة المعرف الفريد (udid)، ستحتاج إليها. udid هي الطريقة التي تشير بها إلى حزمة GeoJSON التي قمت بتحميلها إلى حساب تخزين Azure الخاص بك من التعليمات البرمجية المصدر وطلبات HTTP.

إنشاء مجموعة بيانات

مجموعة البيانات هي مجموعة تضم ميزات الخريطة مثل المباني والمستويات والغرف. لإنشاء مجموعة بيانات من GeoJSON، استخدم واجهة برمجة تطبيقات إنشاء مجموعة البيانات الجديدة. تأخذ Dataset Create API ما udid حصلت عليه في القسم السابق وترجع datasetId مجموعة البيانات الجديدة.

هام

يختلف هذا عن الإصدار السابق من Dataset Create API من حيث أنه لا يتطلب conversionId من حزمة رسم محولة.

لإنشاء مجموعة بيانات:

  1. أدخل عنوان URL التالي في خدمة مجموعة البيانات. يجب أن يبدو الطلب مثل عنوان URL التالي (استبدل {udid} ب الذي udid تم الحصول عليه في قسم تحميل حزمة GeoJSON):
https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&udid={udid}&subscription-key={Your-Azure-Maps-Subscription-key}
  1. انسخ قيمة Operation-Location المفتاح في رأس الاستجابة. Operation-Location يعرف المفتاح أيضا باسم status URL و مطلوب للتحقق من حالة عملية إنشاء مجموعة البيانات والحصول على datasetId، وهو مطلوب لإنشاء مجموعة تجانب.

تحقق من حالة إنشاء مجموعة البيانات

للتحقق من حالة عملية إنشاء واسترداد مجموعة البياناتdatasetId:

  1. أدخل عنوان URL للحالة الذي نسخته في إنشاء مجموعة بيانات. يجب أن يبدو الطلب مثل عنوان URL التالي:

    https://us.atlas.microsoft.com/datasets/operations/{operationId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
    
  2. في رأس استجابة HTTP، انسخ قيمة المعرف الفريد المضمن في Resource-Location المفتاح.

    https://us.atlas.microsoft.com/datasets/**c9c15957-646c-13f2-611a-1ea7adc75174**?api-version=2023-03-01-preview

راجع الخطوات التالية للحصول على ارتباطات إلى مقالات لمساعدتك على إكمال الخريطة الداخلية.

إضافة بيانات إلى مجموعة بيانات موجودة

يمكن إضافة البيانات إلى مجموعة بيانات موجودة من خلال توفير المعلمة datasetId إلى واجهة برمجة تطبيقات إنشاء مجموعة البيانات جنبا إلى جنب مع المعرف الفريد للبيانات التي ترغب في إضافتها. يمكن أن يكون المعرف الفريد إما أو udidconversionId. يؤدي هذا إلى إنشاء مجموعة بيانات جديدة تتكون من البيانات (المرافق) من كل من مجموعة البيانات الحالية والبيانات الجديدة التي يتم استيرادها. بمجرد إنشاء مجموعة البيانات الجديدة بنجاح، يمكن حذف مجموعة البيانات القديمة.

هناك شيء واحد يجب مراعاته عند الإضافة إلى مجموعة بيانات موجودة وهو كيفية إنشاء معرفات الميزة. إذا تم إنشاء مجموعة بيانات من حزمة رسم محولة، يتم إنشاء معرفات الميزة تلقائيا. عند إنشاء مجموعة بيانات من حزمة GeoJSON، يجب توفير معرفات الميزات في ملف GeoJSON. عند إلحاق مجموعة بيانات موجودة، تدفع مجموعة البيانات الأصلية طريقة إنشاء معرفات الميزة. إذا تم إنشاء مجموعة البيانات الأصلية udidباستخدام ، فإنها تستخدم المعرفات من GeoJSON، وستستمر في القيام بذلك مع جميع حزم GeoJSON الملحقة بمجموع البيانات هذه في المستقبل. إذا تم إنشاء مجموعة البيانات باستخدام conversionId، فسيتم إنشاء معرفات داخليا، وسيستمر إنشاؤها داخليا مع جميع حزم GeoJSON الملحقة بمجموعة البيانات هذه في المستقبل.

إضافة إلى مجموعة البيانات التي تم إنشاؤها من مصدر GeoJSON

إذا تم إنشاء مجموعة البيانات الأصلية من مصدر GoeJSON وكنت ترغب في إضافة منشأة أخرى تم إنشاؤها من حزمة رسم، يمكنك إلحاقها بمجموعة البيانات الحالية الخاصة بك عن طريق الرجوع إلى conversionId، كما هو موضح في طلب HTTP POST هذا:

https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&conversionId={conversionId}&outputOntology=facility-2.0&datasetId={datasetId}
Identifier ‏‏الوصف
معرف التحويل تم إرجاع المعرف عند تحويل حزمة الرسم. لمزيد من المعلومات، راجع تحويل حزمة رسم.
datasetId تم إرجاع معرف مجموعة البيانات عند إنشاء مجموعة البيانات الأصلية من حزمة GeoJSON.

متطلبات حزمة Geojson المضغوطة

تتكون حزمة GeoJSON zip من واحد أو أكثر من ملفات GeoJSON المتوافقة مع RFC 7946 ، واحد لكل فئة ميزة، وكلها في الدليل الجذر (الدلائل الفرعية غير مدعومة)، مضغوطة بضغط Zip قياسي وتم تسميتها باستخدام .ZIP الملحق.

يجب أن يتطابق كل ملف فئة ميزة مع تعريفه في Facility Ontology 2.0 ويجب أن يكون لكل ميزة معرف فريد عالميا.

يمكن أن تحتوي معرفات الميزة فقط على أحرف أبجدية رقمية (a-z، A-Z، 0-9)، واصلة (-)، نقطة (.) وأحرف تسطير أسفل السطر (_).

تلميح

إذا كنت تريد التأكد من أن لديك معرف فريد عمومي (GUID)، ففكر في إنشائه عن طريق تشغيل أداة إنشاء GUID مثل برنامج سطر الأوامر Guidgen.exe (متوفر مع Visual Studio). لا ينتج Guidgen.exe الرقم نفسه مرتين، بغض النظر عن عدد المرات التي يتم تشغيله فيها أو عدد الأجهزة المختلفة التي يعمل عليها.

عمليات التحقق من صحة مخطط المرفق 2.0 في مجموعة البيانات

يحدد Facility Ontology 2.0 كيفية تخزين خرائط Azure Creator داخليا لبيانات المرفق، مقسمة إلى فئات ميزات، في مجموعة بيانات Creator. عند استيراد حزمة GeoJSON، في أي وقت تتم إضافة ميزة أو تعديلها، يتم تشغيل سلسلة من عمليات التحقق من الصحة. يتضمن ذلك عمليات التحقق من التكامل المرجعي والتحقق من صحة الهندسة والسمة. يتم وصف عمليات التحقق من الصحة هذه بمزيد من التفصيل في القائمة التالية.

  • الحد الأقصى لعدد الميزات التي يمكن استيرادها إلى مجموعة بيانات في كل مرة هو 150000.
  • يمكن أن تتراوح مساحة المنشأة بين 4 و4000 كم مربع.
  • عنصر المستوى الأعلى هو مرفق، والذي يحدد كل مبنى في file facility.geojson.
  • يحتوي كل مرفق على مستوى واحد أو أكثر، والتي يتم تعريفها في file levels.goejson.
    • يجب أن يكون كل مستوى داخل المنشأة.
  • يحتوي كل مستوى على وحدات وهياكل وعمودية وفتحات. يجب أن تكون كافة العناصر المعرفة في المستوى مضمنة بالكامل ضمن هندسة المستوى.
    • unit يمكن أن تتكون من مجموعة من العناصر مثل الممرات والمكاتب والساحات، والتي يتم تحديدها حسب عناصر المنطقة أو الخط أو النقطة . يتم تعريف الوحدات في ملف unit.goejson.
      • ويجب أن تكون جميع unit العناصر مضمنة بالكامل في مستوى هذه العناصر وأن تتقاطع مع أطفالها.
    • structure يحدد المناطق المادية غير المتداخلة التي لا يمكن التنقل عبرها، مثل الجدار. يتم تعريف البنيات في file structure.goejson.
    • verticalPenetration يمثل طريقة للتنقل عموديا بين المستويات، مثل السلالم والمصاعد ويتم تعريفها في الملف verticalPenetration.geojson.
      • لا يمكن أن تتقاطع الشبكات العمودية مع الشبكات العمودية الأخرى على نفس المستوى.
    • openings تعريف الحدود القابلة للاجتياز بين وحدتين أو unit و verticalPenetration ويتم تعريفها في الملف opening.geojson.
      • لا يمكن أن تتقاطع الفتحات مع الفتحات الأخرى على نفس المستوى.
      • يجب أن يكون كل opening منها مقترنا بواحد على الأقل verticalPenetration أو unit.

الخطوات التالية