أكثر

هل تريد استيراد عدد كبير من ملفات الأشكال إلى فئة المعالم باستخدام ArcPy مع تعيين العمود؟


أرغب في كتابة نص ArcPy لاستيراد عدد كبير من ملفات الأشكال إلى فئة معالم موجودة. أحتاج أيضًا إلى أن أكون قادرًا على إجراء تعيينات الأعمدة حيث قد تكون هناك أسماء أعمدة مختلفة. أحتاج إلى كتابة نص حتى أتمكن من أتمتة هذه العملية.

أنا لا أبحث عن نص كامل ولكني أبحث عن نصيحة حول المكان الذي يجب أن أتطلع إليه لأداء هذه المهمة. أنا جديد تمامًا على ArcGIS.


الاختصار المفضل لدي لهذا هو تشغيل أداة إلحاق مرة واحدة باستخدام أداة مربع الأدوات القياسية وإعداد تعيينات الحقول الخاصة بي باستخدام واجهة الرسوم.

ثم عند الانتهاء من تشغيل الأداة ، افتح نافذة النتائج ، وانقر بزر الماوس الأيمن على المعلومات المتعلقة بالعملية التي قمت بتشغيلها ، ثم انقر فوق "Copy as Python Snippet".

بعد ذلك ، يمكنك لصق الكود في البرنامج النصي الخاص بك ، ومعالجته للعمل مع كل ما تفعله على وجه التحديد - ولكن - ليس عليك كتابة تعيينات الحقول يدويًا ، فأنت تستفيد من واجهة الرسوم الأكثر سهولة المتوفرة في المرة الواحدة أداة.


جولة سريعة في معالجة الدُفعات

المعالجة الدفعية هي وظيفة أساسية في المعالجة الجغرافية. تتضمن العديد من مهام سير عمل المعالجة الجغرافية تشغيل نفس الأداة مقابل عدد كبير من مجموعات البيانات - على سبيل المثال ، تحويل ملفات الأشكال إلى فئات معالم قاعدة البيانات الجغرافية للملف أو قص عدد من الطبقات الموضوعية إلى منطقة دراسة. للقضاء على التكرار ، تحتوي كل أداة معالجة جغرافية على وضع دفعي.

لاستخدام الدُفعة ، انقر بزر الماوس الأيمن فوق الأداة وانقر فوق Batch. يؤدي ذلك إلى فتح مربع حوار الدُفعة مع صف واحد من شبكة الدُفعات ، كما هو موضح أدناه باستخدام أداة Clip.

تحتوي العديد من أدوات المعالجة الجغرافية على أكثر من معلمتين. لرؤية أكبر عدد ممكن من المعلمات في لمحة واحدة ، قم بتغيير حجم مربع حوار الأداة. يمكنك أيضًا تغيير عرض الأعمدة عن طريق سحب فاصل العمود.


1.6.6 أمثلة للمعالجة المتعددة Arcpy

الآن بعد أن أكملنا تمرين المعالجة المتوازية بخلاف ArcGIS ، فلنلقِ نظرة على بعض الأمثلة باستخدام وظائف ArcGIS. هناك عدد من المحاذير أو المحاذير لاستخدام المعالجة المتعددة مع ArcGIS ومن المهم تغطيتها مقدمًا لأنها تؤثر على الطرق التي يمكننا من خلالها كتابة الكود الخاص بنا.

تصف Esri عددًا من أفضل الممارسات للمعالجة المتعددة باستخدام Arcpy. وتشمل هذه:

  • استخدم مساحات العمل "in_memory" لتخزين النتائج المؤقتة لأن الذاكرة كما ذكرنا سابقًا أسرع من القرص.
  • تجنب الكتابة إلى أنواع بيانات قاعدة البيانات الجغرافية (FGDB) وأنواع بيانات GRID النقطية. غالبًا ما تتسبب تنسيقات البيانات هذه في حدوث مشكلات في تأمين المخطط أو المزامنة. وذلك لأن قواعد البيانات الجغرافية للملفات وأنواع خطوط GRID النقطية لا تدعم الكتابة المتزامنة - أي أن عملية واحدة فقط يمكنها الكتابة إليها في كل مرة. ربما تكون قد شاهدت نسخة من هذه المشكلة في Arcpy سابقًا إذا حاولت تعديل فئة المعالم في Python التي كانت مفتوحة في ArcGIS. تتضخم هذه المشكلة إذا كان لديك FGDB وتحاول كتابة العديد من فئات الميزات إليه في وقت واحد. حتى إذا كانت جميع فئات الميزات مستقلة ، يمكنك فقط كتابتها إلى FGDB واحدة تلو الأخرى.
  • استخدم 64 بت. هذه ليست مشكلة إذا كنا نكتب تعليمات برمجية في ArcGIS Pro (على الرغم من أن Esri توصي باستخدام إصدار Pro أكبر من 1.4) لأننا نستخدم بالفعل 64 بت ، ولكن إذا كنت تخطط لاستخدام سطح المكتب أيضًا ، قد يحتاج إلى استخدام ArcGIS Server 10.5 (أو أحدث) أو ArcGIS Desktop مع المعالجة الجغرافية في الخلفية (64 بت). والسبب في ذلك هو أنه كما لاحظنا سابقًا ، يمكن لعمليات 64 بت الوصول إلى ذاكرة أكبر بشكل ملحوظ واستخدام 64 بت قد يساعد في حل أي مشكلات بيانات كبيرة لا تتناسب مع حدود ذاكرة 32 بت البالغة 4 جيجابايت.

لذا ، مع أخذ النقطتين الرئيسيتين في الاعتبار ، يجب أن نستفيد من مساحات العمل في الذاكرة حيثما كان ذلك ممكنًا ويجب أن نتجنب الكتابة إلى FGDBs (في وظائف العامل لدينا على الأقل - ولكن يمكننا استخدامها في وظيفتنا الرئيسية لدمج عدد من ملفات الأشكال أو حتى الفردية عودة FGDBs إلى مصدر واحد).


ملفات الأشكال

ملف الشكل هو تنسيق تخزين بيانات متجه Esri لتخزين الموقع والشكل والسمات الخاصة بالمعالم الجغرافية. يتم تخزينها كمجموعة من الملفات ذات الصلة وتحتوي على فئة ميزة واحدة. غالبًا ما تحتوي ملفات الأشكال على ميزات كبيرة مع الكثير من البيانات المرتبطة وقد تم استخدامها تاريخيًا في تطبيقات سطح المكتب GIS مثل ArcMap.

الطريقة الأساسية لإتاحة بيانات ملف الشكل للآخرين لعرضها من خلال مستعرض ويب هي إضافتها إلى ملف .zip وتحميله ونشر طبقة معالم مستضافة. يجب أن يحتوي ملف .zip على الأقل على مكونات ملفات .shp و .shx و .dbf و .prj لملف الأشكال.

تلخص القائمة التالية كيفية استخدام ملفات الأشكال في بوابة ArcGIS Enterprise الإلكترونية وتوفر روابط للإرشادات:

    ( .أزيز ).
  • بالنسبة لطبقات المعالم المستضافة التي تم تمكين التصدير لها ، يمكن للأشخاص الذين لديهم حق الوصول إلى طبقة المعالم المستضافة تصدير بيانات الطبقة إلى ملف الشكل. ، ومشاركة الملف مع الآخرين حتى يتمكنوا من تنزيله. إلى Map Viewer.

بناء الجملة

جدول الإدخال الذي سيتم إضافة الحقل المحدد إليه. ستتم إضافة الحقل إلى جدول الإدخال الحالي ولن يتم إنشاء جدول إخراج جديد.

يمكن إضافة الحقول إلى فئات المعالم في ArcSDE ، أو الملفات أو قواعد البيانات الجغرافية الشخصية ، أو التغطيات ، أو ملفات الأشكال ، أو كتالوجات البيانات النقطية ، أو الجداول المستقلة ، أو البيانات النقطية مع جداول البيانات الجدولية ، و / أو الطبقات.

اسم الحقل الذي سيتم إضافته إلى جدول الإدخال.

نوع الحقل المستخدم في إنشاء الحقل الجديد.

  • النص - الأسماء أو الصفات النصية الأخرى.
  • FLOAT - القيم الرقمية ذات القيم الكسرية ضمن نطاق معين.
  • مزدوج - قيم رقمية بقيم كسرية ضمن نطاق معين.
  • SHORT - القيم الرقمية بدون قيم كسرية ضمن نطاق محدد للقيم المشفرة.
  • LONG - قيم رقمية بدون قيم كسرية ضمن نطاق معين.
  • التاريخ - التاريخ و / أو الوقت.
  • BLOB - الصور أو الوسائط المتعددة الأخرى.
  • راستر - صور نقطية.
  • GUID - قيم GUID

يصف عدد الأرقام التي يمكن تخزينها في الحقل. يتم حساب جميع الأرقام بغض النظر عن جانب العلامة العشرية الموجودة عليها.

إذا كان جدول الإدخال عبارة عن قاعدة بيانات جغرافية شخصية أو ملف ، فسيتم تجاهل قيمة دقة الحقل.

يضبط عدد المنازل العشرية المخزنة في الحقل. يتم استخدام هذه المعلمة فقط في أنواع حقول البيانات العائمة والمزدوجة.

إذا كان جدول الإدخال عبارة عن قاعدة بيانات جغرافية شخصية أو ملفية ، فسيتم تجاهل قيمة مقياس الحقل.

طول الحقل المضاف. يعيّن هذا الحد الأقصى لعدد الأحرف المسموح به لكل سجل في الحقل. هذا الخيار قابل للتطبيق فقط على حقول كتابة النص أو كائن تخزين البيانات الثنائية الكبيرة.

الاسم البديل المعطى لاسم الحقل. يستخدم هذا الاسم لإعطاء المزيد من الأسماء الوصفية لأسماء الحقول المشفرة. لا تنطبق معلمة الاسم المستعار للحقل إلا على قواعد البيانات الجغرافية والتغطيات.

معلم جغرافي حيث لا توجد معلومات جدولية مرتبطة. هذه تختلف عن الحقول الصفرية أو الفارغة وهي مدعومة فقط للحقول الموجودة في قاعدة البيانات الجغرافية.

  • NON_NULLABLE - لن يسمح الحقل بقيم خالية.
  • NULLABLE - سيسمح الحقل بالقيم الخالية. هذا هو الافتراضي.

يحدد ما إذا كان الحقل الذي يتم إنشاؤه حقلاً مطلوبًا للجدول المدعوم فقط للحقول الموجودة في قاعدة البيانات الجغرافية.

  • NON_REQUIRED - الحقل ليس حقلاً مطلوبًا. هذا هو الافتراضي.
  • مطلوب - هذا الحقل مطلوب. الحقول المطلوبة دائمة ولا يمكن حذفها.

يُستخدم لتقييد القيم المسموح بها في أي سمة معينة لجدول أو فئة معلم أو نوع فرعي في قاعدة بيانات جغرافية. يجب تحديد اسم مجال موجود ليتم تطبيقه على الحقل.


تطوير منهجية صيانة بيانات GIS لإدارة الأصول: الجزء 1 & # 8211 نظرة عامة

(هذا هو الجزء الأول من سلسلة طويلة من المشاركات حول المشروع الحالي الذي أعمل عليه ، لتطوير استراتيجية معقولة لصيانة بيانات نظم المعلومات الجغرافية لبيانات إدارة الأصول).

لقد كنت أقصد كتابة هذه السلسلة من المشاركات لفترة من الوقت ، والآن بعد أن أصبحنا في منتصف موسم & # 8220 إدارة الأصول & # 8221 في العمل ، اعتقدت أن هذا الوقت كان جيدًا مثل أي وقت آخر. خلال السنوات القليلة الماضية ، قمت بمساعدة فريق إدارة الأصول في وحدتي بدعم نظم المعلومات الجغرافية. كل عام ، يقومون بتحديث سجلات أصول البنية التحتية المدنية (وأحيانًا الكهربائية) للعديد من البلديات المحلية. يتضمن ذلك تفكيك مشاريع الترقية المنجزة في السنة المالية الماضية ، من بين أشياء أخرى.

أنا & # 8217m لم أشارك في هذا الجانب من العمل ، لذلك لن أحاول شرح ما يفعلونه. من جانبي ، هذا ما يحدث عادةً:

  1. أتلقى بيانات (ملفات الأشكال ، وجداول البيانات ، وملفات PDF ، ورسومات CAD ، وخرائط النسخ المطبوعة التي تم رسمها)
  2. أقوم بمعالجة / تحويل / عمل بعض السحر على البيانات لتحويلها إلى تنسيق GIS قابل للاستخدام (المزيد عن ذلك في المنشور التالي)
  3. أعيد جدول بيانات يحتوي على بيانات الشكل الجديدة من الترقيات ، بما في ذلك معرفات GIS
  4. أحيانًا أعطي & # 8217 كتاب خرائط للمنطقة ، إذا طلب ذلك.

يتم دمج بيانات الشكل (أطوال الخطوط) ومعرفات GIS الفريدة لكل ميزة في سجل الأصول ، وتعمل كحلقة وصل بين GIS والسجل المكتمل. من المهم جدًا الحفاظ على هذا الرابط & # 8211 اضطررت إلى العثور على بيانات GIS للسجلات في سجل الأصول حيث قرر أحد أصحاب المصلحة في البلدية إزالة معرفات GIS ، ولهذا السبب أضع & # 8220work بعض السحر & # 8221 في النقطة رقم 2 في القائمة أعلاه.

هذا العام مختلف بالرغم من ذلك. نحن نحاول الانتقال إلى نظام متكامل ، حيث بدلاً من جميع البيانات الموجودة في جداول البيانات العشوائية على خادم المشروع ، و gdbs العشوائية على الخادم الخاص بي ، يجب تخزين جميع البيانات في موقع مركزي لسهولة الوصول (وأغراض التدقيق) . قد يبدو هذا نهجًا واضحًا ، ولكن هناك حوالي 7 سنوات من البيانات التي يجب نقلها (باستثناء بيانات نظم المعلومات الجغرافية).

إنها & # 8217s مهمة هائلة ، وقد تم منحني السيطرة على جانب نظم المعلومات الجغرافية. هذا يعني أنني سأحصل على البيانات التي جمعتها على مدار السنوات الثلاث الماضية ودفعها عبر نوع من عملية التحول ، مع الإشراف أيضًا على المهام الحالية وتنفيذ بعض الأعمال التي لا يمكن القيام بها بواسطة سطح المكتب فريق (حتى الآن). أنا & # 8217m أيضًا أكتب مربع أدوات Python مع مجموعة من الأدوات لأتمتة بعض الوظائف ، مثل إنشاء معرفات GIS استنادًا إلى اصطلاح محدد ، وأتمتة إنتاج دفتر الخرائط ، وإنشاء بنية المجلد الصحيحة وبنية فئة الميزة لكل بلدية.

عرض الشرائح أدناه هو أول ما دفعني لكتابة بعض المنشورات حول هذا الموضوع:

لقد رأيت أيضًا هذا المقال ، وأجريت محادثة لاحقة مع المؤلف على Twitter حوله. يمكن أن تضيف نظم المعلومات الجغرافية قدرًا كبيرًا من القيمة إلى العديد من عمليات إدارة الأصول (والعديد من المجالات الأخرى أيضًا ، ولكن دعنا نبقى مركزين هنا). أنا & # 8217m الابتعاد عن الجدول الزمني العادي الخاص بي وسوف أنشر كل يوم هذا الأسبوع على النحو التالي:

  • الجزء 2 & # 8211 تصميم سير العمل
  • الجزء 3 & # 8211 البيانات: المعالجة والتحديث والعمل السحري
  • الجزء 4 & # 8211 تسليم البيانات وعملية التدقيق
  • الجزء 5 & # 8211 تحضيري للمضي قدما

أنا متحمس جدًا لكتابة هذه المنشورات ، لأنني سأغطي كل شيء يشكل حلاً ممتازًا لنظم المعلومات الجغرافية للمؤسسات: بعض عناصر البرمجة (المزيد من Python في حياتي أفضل دائمًا) ، وبعض عناصر قواعد البيانات (SQL وملف gdb) ، وبعض نظم المعلومات الجغرافية الأشياء (التأكد من أن جميع هذه الأشكال في المكان المناسب) وبعض الأشياء المترابطة (في النهاية تطبيقات الأجهزة المحمولة والخدمات السحابية).


إطار البيانات الممكن مكانيًا

ما هو DataFrame؟ ¶

يمثل DataFrame جدولًا مستطيلًا من البيانات ويحتوي على مجموعة مرتبة من الأعمدة. يمكنك التفكير في الأمر كجدول بيانات أو جدول SQL حيث يحتوي كل عمود على اسم عمود للرجوع إليه ، ويمكن الوصول إلى كل صف باستخدام أرقام الصفوف. تُعرف أسماء الأعمدة وأرقام الصفوف بفهارس الأعمدة والصفوف.

DataFrame أساسي الباندا بنية البيانات التي يمكن أن يكون فيها كل عمود من نوع قيمة مختلف (رقمية ، سلسلة ، منطقية ، إلخ). يمكن أولاً قراءة مجموعة البيانات في DataFrame ، ومن ثم يمكن بسهولة تطبيق عمليات مختلفة (مثل الفهرسة والتجميع والتجميع وما إلى ذلك) عليها.

بالنظر إلى بعض البيانات ، دعنا نلقي نظرة على كيفية قراءة مجموعة البيانات في DataFrame لنرى كيف يبدو DataFrame.

حالة عام تعداد السكان
0 كاليفورنيا 2015 3.50
1 WA 2015 2.50
2 كاليفورنيا 2016 4.50
3 WA 2016 3.00
4 كاليفورنيا 2017 5.00
5 WA 2017 3.25

يمكنك رؤية الهيكل المجدول للبيانات مع الصفوف والأعمدة المفهرسة. سوف نتعمق أكثر في DataFrame في جزء مقدمة إلى Pandas من سلسلة الدليل.

ما هو إطار البيانات الممكن مكانيًا (SEDF)؟ ¶

يتم إدراج إطار البيانات الممكن مكانيًا (SEDF) "القدرات المكانية" في Pandas DataFrame الشهير. يتيح ذلك للمستخدمين استخدام عمليات Pandas البديهية على كل من الأعمدة المكانية والسمة. باستخدام SEDF ، يمكنك بسهولة معالجة البيانات الهندسية والبيانات الجدولية. SEDF هي إمكانية تمت إضافتها إلى بنية Pandas DataFrame ، بواسطة ArcGIS API for Python ، لمنحها القدرات المكانية.

يعتمد SEDF على هياكل البيانات المناسبة بطبيعتها لتحليل البيانات ، مع عمليات طبيعية لتصفية وفحص مجموعات فرعية من القيم ، والتي تعتبر أساسية للتلاعب الإحصائي والجغرافي.

لنلقِ نظرة سريعة على كيفية استيراد البيانات وتصديرها باستخدام تم تمكين DataFrame مكانيًا. التفاصيل الموضحة أدناه هي نظرة عامة عالية المستوى وسوف نتعمق أكثر في العمل مع DataFrame الممكّن مكانيًا في الأجزاء اللاحقة من سلسلة الدليل هذه.

قراءة البيانات في إطار البيانات الممكّن مكانيًا

يمكن لـ DataFrame الممكّن مكانيًا (SEDF) قراءة البيانات من العديد من المصادر ، بما في ذلك:

يتكامل SEDF مع حزمة موقع ArcPy الخاصة بـ Esri وكذلك مع حزم pyshp و shapely و fiona مفتوحة المصدر. هذا يعني أنه يمكن لـ SEDF استخدام أي من محركات الهندسة هذه لتزويدك بخيارات للعمل بسهولة مع البيانات الجغرافية المكانية بغض النظر عن النظام الأساسي الخاص بك.

تصدير البيانات من DataFrame الممكّن مكانيًا

يمكن لـ SEDF تصدير البيانات إلى تنسيقات بيانات مختلفة لاستخدامها في التطبيقات الأخرى. خيارات التصدير هي:


3. مقتطفات المتجهات من MAF / TIGER

بدأ مكتب الإحصاء في تطوير قاعدة بيانات جغرافية رقمية لـ 144 منطقة حضرية في الستينيات. بحلول عام 1990 ، تطورت الجهود المبكرة إلى نمر: قاعدة بيانات جغرافية رقمية سلسة تغطي كل الولايات المتحدة وأقاليمها. كما نوقش في الصفحة السابقة ، نجحت MAF / TIGER في TIGER في الفترة التي سبقت تعداد 2010.

النمر / خط الأشكال هي منتجات بيانات الخرائط الرقمية المستخرجة من قاعدة بيانات MAF / TIGER. وهي متاحة مجانًا من مكتب الإحصاء وهي مناسبة للاستخدام من قبل الأفراد والشركات والوكالات الأخرى التي ليس لديها وصول مباشر إلى MAF / TIGER.

يوضح هذا القسم الكيانات الجغرافية الممثلة في قاعدة بيانات MAF / TIGER ، ويصف كيفية استخدام تنفيذ معين لنموذج بيانات المتجه لتمثيل تلك الكيانات ، ويأخذ في الاعتبار دقة الميزات الرقمية فيما يتعلق بنظيراتها على الأرض. تنظر الصفحة التالية في خصائص تنسيق البيانات "Shapefile" المستخدم لتوزيع المقتطفات الرقمية من MAF / TIGER.

تمثيل المناطق الجغرافية في مستخلصات TIGER و Shapefile

قاعدة بيانات MAF / TIGER انتقائية. يتم تضمين فقط تلك الكيانات الجغرافية اللازمة للوفاء بالمهمة التشغيلية لمكتب التعداد. يتم حذف الكيانات التي لا تساعد مكتب الإحصاء في إجراء عملياته عن طريق البريد أو مساعدة العاملين الميدانيين في التنقل في الحي. لا يتم تضمين بيانات ارتفاع التضاريس ، على سبيل المثال ، في MAF / TIGER. يمكن العثور على قائمة شاملة من "فئات الميزات" و "الفئات الفائقة" المضمنة في MAF / TIGER و Shapefiles عبر رابط MAF / TIGER Feature Class Codes (MTFCCs) في قائمة الرموز الجغرافية على Census.gov & gt Geography & gt Reference صفحة. تتضمن أمثلة الفئات الفائقة:

  • أماكن المعيشة المحتملة (على سبيل المثال ، مواقع الملاجئ ودور المسنين والسجون والمهاجع)
  • ميزات الطريق / المسار (على سبيل المثال ، الطرق الأساسية والطرق الثانوية وطرق الأحياء المحلية)
  • المعالم الهيدروغرافية (على سبيل المثال ، تيار / نهر ، بحيرة / بركة ، محيط / بحر)
  • ميزات خطية متنوعة (على سبيل المثال ، خط الأنابيب ، خط الطاقة ، خط السياج)
  • مناطق الجدولة (على سبيل المثال ، المقاطعة أو ما يعادلها ، المسالك ، مجموعة الكتل ، الكتلة).

لاحظ أيضًا أن لا تتضمن قاعدة بيانات MAF / TIGER ولا ملفات أشكال TIGER / Line البيانات السكانية التي تم جمعها من خلال الاستبيانات ومن قبل القائمين على التعداد. يوفر MAF / TIGER فقط الإطار الجغرافي الذي يتم من خلاله جدولة بيانات التعداد المشار إليها بالعنوان.

جرب هذا!

استكشاف ملفات أشكال النمر / الخط المتوفرة

في هذا جرب هذا! (واحدة من 3 ملفات تتعامل مع TIGER / Line Shapefiles) ، ستكتشف أي ملفات أشكال TIGER / Line متاحة للتنزيل في مناطق جغرافية مختلفة وما هي المعلومات التي تحتوي عليها هذه الملفات. سنستكشف إصدارات 2009 و 2010 من مجموعات بيانات TIGER / Line Shapefile. إصدارات من سنوات أخرى متاحة. لا تتردد في التحقيق في هؤلاء أيضًا.

  • اتبع هذا الرابط للوصول إلى صفحة منتجات TIGER على موقع مكتب الإحصاء ، ثم اتبع النمر / خط الأشكال وجدت الرابط تحت ما المنتج الذي يجب علي استخدامه؟ للوصول إلى صفحة الجغرافيا.
  • رابط إلى 2010 TIGER / Line Shapefiles عبر 2010 رابط علامة التبويب.
  • يختار تحميل، ثم اختر من القائمة الموسعة واجهة ويب.
  • قم بتوسيع قائمة الاختيار الموجودة أسفل حدد نوع الطبقة. اقض بعض الوقت في اختيار إدخالات مختلفة من قائمة اختيار الطبقة ، ثم استخدم ملف إرسال للتنقل عبر الطبقات الفرعية ، مع ملاحظة الوقت الذي يُعرض عليك فيه الوصول إلى ملف تحميل زر. قم بتدوين بعض الأشياء. (1) تتيح بعض قوائم الاختيار تحديدًا يتيح لك تنزيل مجموعة بيانات ملف شكل للبلد بأكمله. (2) بالنسبة لبعض الاختيارات ، يجب عليك الانتقال إلى مستوى المقاطعة قبل أن يتوفر زر التنزيل.
  • قبل المتابعة ، انقر فوق النمر / خط الأشكال الرئيسية رابط للعودة إلى صفحة TIGER / Line Shapefiles.

كما هو مذكور أعلاه ، نريدك أن تتعرف على أنواع البيانات المتاحة لمختلف المناطق الجغرافية - من المقاطعة إلى المستوى الوطني. إن الاطلاع على الطبقات المختلفة كما فعلت أعلاه يجعل من الصعب إجراء تقييم شامل للبيانات الموجودة على نطاق جغرافي معين. لحسن الحظ من أجل أغراضنا ، فقد وفر التعداد جدولًا مناسبًا لمساعدتنا في هذا الصدد.

من صفحة TIGER / Line Shapefiles ،

  • حدد ملف 2010 علامة التبويب مرة أخرى.
  • يختار توافر الملف.
    ادرس الجدول الذي يظهر.
  • لاحظ أن هناك أعمدة بعنوان الملفات المستندة إلى الولاية والمقاطعة ،على أساس الأمةالملفات، و أمريكا الهندية مقرهاالملفات.
  • قارن بين المناطق الجغرافية ( طبقة العمود) المتوفرة في ملف الملفات الوطنية فئة لأولئك المتاحين في الملفات المستندة إلى الدولة الفئة.

بدائية هندسية

مثل التطبيقات الأخرى لنموذج بيانات المتجه ، يمثل MAF / TIGER كيانات جغرافية باستخدام بدائل هندسية بما في ذلك العقد (معالم النقطة) ، والحواف (المعالم الخطية) ، والوجوه (معالم المنطقة). يتم تعريفها وتوضيحها أدناه.

  • العقد (المسمى "N" في الرسم التوضيحي أدناه) "0-الأبعاد" ، وتتألف فقط من زوج واحد من إحداثيات خطوط الطول والعرض.
    • العقد N21-23 هي عقد معزولة. أي أنها ليست نهايات الحواف.
    • يتم استدعاء نقاط نهاية الحافة ربط العقد.
    • يتم تعيين اتجاه لكل حافة ، يُشار إليه برؤوس الأسهم. يسمح اتجاه الحافة بتعيين أ بدء العقدة و عقدة النهاية. نقطة البداية للحافة E12 أدناه هي N9 ، والعقدة النهائية هي N6.
    • قد يكون للحافة نقاط وسيطة تسمى الرؤوس التي تحدد شكلها.
    • يسمح اتجاه الحافة أيضًا وجوه اليسار واليمين ليتم تعيينها. يقع الوجه F1 على يسار الحافة E12 والوجه F2 على اليمين.

    الدقة الهندسية

    حتى وقت قريب ، كانت الدقة الهندسية لميزات المتجه المشفرة في TIGER سيئة السمعة (انظر الشكل أدناه). كم هو فقير؟ خلال 2003، ذكرت البيانات الوصفية لـ TIGER / Line ذلك

    جرب هذا!

    بعد إجراء حسابات المقياس في الفصل 2 ، يجب أن تكون قادرًا على حساب حجم الخطأ (مسافة الأرض) المرتبطة بالخرائط الطبوغرافية بمقياس 1: 100000. تذكر أن الخطأ المسموح به للخرائط الطبوغرافية USGS بمقاييس 1: 20000 أو أصغر هو 1/50 بوصة (انظر معايير الخرائط الوطنية pdf).

    تحسين الدقة

    بدءًا من عام 2002 ، استعدادًا لتعداد 2010 ، كلف مكتب الإحصاء بمشروع تحسين دقة MAF / TIGER (MTAIP) لمدة ست سنوات بقيمة 200 مليون دولار. كان أحد أهداف هذا الجهد هو استخدام GPS لالتقاط إحداثيات جغرافية دقيقة لكل أسرة في منطقة MAF. كان الهدف الآخر هو تحسين دقة ميزات الطريق / المسار الخاصة بـ TIGER. يهدف المشروع إلى تعديل هندسة شبكات الشوارع لتتماشى في حدود 7.6 متر من تقاطعات الشوارع التي تمت ملاحظتها في الصور التقويمية أو المقاسة باستخدام نظام تحديد المواقع العالمي (GPS). الشوارع المصححة ضرورية ليس فقط لرسم الخرائط ، ولكن من أجل الترميز الجغرافي الدقيق. نظرًا لأن الشوارع غالبًا ما تشكل حدود مناطق التعداد ، فمن الضروري ربط المواقع المنزلية الدقيقة بشبكات الشوارع الدقيقة.

    دمج MTAIP أكثر من 2000 ملف مصدر تم إرساله من قبل حكومات الولايات والقبلية والمقاطعات والحكومات المحلية. استخدم المقاولون نظام تحديد المواقع العالمي (GPS) على مستوى المسح لتقييم دقة عينة عشوائية من تقاطعات الشوارع المركزية لملفات المصدر المتكاملة. أكد التقييم أن معظم الميزات في قاعدة البيانات المكانية ، وليس كلها ، تساوي أو تتجاوز هدف 7.6 متر. لم تكن الدقة الموحدة ممكنة بسبب تنوع مواد المصدر المحلية المستخدمة ، على الرغم من أن هذه الدقة هي المعيار في مقتطفات ملف الأشكال "All Lines". يتم توثيق الدقة الهندسية لفئات ميزات معينة متضمنة في ملفات أشكال معينة في البيانات الوصفية المرتبطة باستخراج ملف الشكل هذا.

    تم الانتهاء من MTAIP في عام 2008. وبالتزامن مع مسح المجتمع الأمريكي المستمر وعمليات التعداد الأخرى ، فإن التصحيحات والتحديثات جارية الآن. يتم الآن إصدار تحديثات TIGER / Line Shapefile سنويًا.


    ملخص المؤلف

    لا يزال توفير معلومات بيئية مفصلة على نطاق واسع لاستهداف جهود مكافحة حمى الضنك بشكل فعال يمثل تحديًا. في هذا البحث نقدم تصميم وتنفيذ خط أنابيب لاكتشاف الحاويات المفتوحة في الهواء الطلق والتي تشكل مواقع تكاثر محتمل لنواقل حمى الضنك من الصور ذات العلامات الجغرافية ولإنشاء خرائط مفصلة للغاية لكثافة الحاويات بمقياس غير مسبوق. على وجه التحديد ، نستخدم الشبكات العصبية التلافيفية لاكتشاف مجموعة متنوعة من أنواع حاويات مواقع التكاثر في صور التجوّل الافتراضي من Google واستخدام عدد الحاويات لإنشاء خرائط كثافة الحاوية. تم إجراء تقييم لهذا النهج في ثلاث مقاطعات في تايلاند: بانكوك وكرابي وناخون سي ثامارات. يوضح تقييمنا أن شبكة التعرف على الكائنات يمكنها التعرف بدقة على العديد من أهم أنواع الحاويات في تايلاند. تتوافق أعداد الحاويات التي تم الحصول عليها من صور التجوّل الافتراضي بشكل جيد مع عدد الحاويات من الاستطلاعات اليدوية المتاحة. نوضح كذلك أن النماذج البسيطة متعددة الخطوط التي تستخدم قيم كثافة الحاوية توفر تنبؤات جيدة لقيم مؤشر Breteau (عدد الحاويات الإيجابية لكل 100 منزل تم فحصها). هذه هي الدراسة الأولى التي تقدم نتائج تحقق من صحة عدد الحاويات من تحليل الصور مقابل هذه البيانات.

    الاقتباس: Haddawy P ، Wettayakorn P ، Nonthaleerak B ، Su Yin M ، Wiratsudakul A ، Schöning J ، et al. (2019) رسم خرائط تفصيلية واسعة النطاق لمواقع تكاثر ناقلات حمى الضنك باستخدام صور التجوّل الافتراضي. بلوس نيجل تروب ديس 13 (7): e0007555. https://doi.org/10.1371/journal.pntd.0007555

    محرر: روبرت سي راينر ، جامعة واشنطن ، الولايات المتحدة

    تم الاستلام: 7 يناير 2019 قبلت: 17 يونيو 2019 نشرت: 29 يوليو 2019

    حقوق النشر: © 2019 حداوي وآخرون. هذا مقال مفتوح الوصول يتم توزيعه بموجب شروط ترخيص Creative Commons Attribution License ، والذي يسمح بالاستخدام غير المقيد والتوزيع والاستنساخ في أي وسيط ، بشرط ذكر المؤلف والمصدر الأصليين.

    توافر البيانات: جميع البيانات ذات الصلة موجودة داخل المخطوطة وملفات المعلومات الداعمة الخاصة بها.

    التمويل: تم دعم هذا العمل جزئيًا بواسطة زمالة من معهد Hanse-Wissenschaftskolleg (https://www.hwk.de/) للدراسة المتقدمة ، Delmenhorst ، ألمانيا إلى PH ، ومن مؤسسة فولكس فاجن ، ألمانيا (https: // www. volkswagenstiftung.de/en/foundation) من خلال أستاذية Lichtenberg لـ JS والتي أجريت في مركز Bremen Spatial Cognition (BSCC) ، ألمانيا. لم يكن للممولين أي دور في تصميم الدراسة أو جمع البيانات وتحليلها أو اتخاذ قرار النشر أو إعداد المخطوطة.

    تضارب المصالح: وقد أعلن الباحثون إلى أن لا المصالح المتنافسة موجودة.


    هل تريد استيراد عدد كبير من ملفات الأشكال إلى فئة المعالم باستخدام ArcPy مع تعيين العمود؟ - نظم المعلومات الجغرافية

    في الأمثلة الواردة في الفصول السابقة ، كانت البيانات الجغرافية في شكل متغيرات فردية. يوفر برنامج Mapping Toolbox & # x2122 أيضًا وسيلة سهلة لعرض واستخراج ومعالجة مجموعات ميزات خريطة المتجه المنظمة في هياكل البيانات الجغرافية .

    بنية البيانات الجغرافية هي مصفوفة بنية MATLAB & # x00AE تحتوي على عنصر واحد لكل معلم جغرافي. يتم تمثيل كل ميزة من خلال الإحداثيات والسمات. تسمى بنية البيانات الجغرافية التي تحتفظ بالإحداثيات الجغرافية (خطوط الطول والعرض) أ الهيكل الجغرافي، وواحد يحمل إحداثيات الخريطة (المتوقعة x و ذ ) يسمى أ مابستركت. تحتوي هياكل البيانات الجغرافية على ميزات متجهة فقط ولا يمكن استخدامها للاحتفاظ بالبيانات النقطية (شبكات أو صور بيانات عادية أو محددة الموقع الجغرافي).

    ملفات الأشكال

    تنشأ هياكل البيانات الجغرافية بشكل متكرر عندما يتم استيراد البيانات الجغرافية المتجهة من ملف أشكال. صمم معهد أبحاث النظم البيئية تنسيق ملف الشكل للبيانات الجغرافية المتجهة. تقوم ملفات الأشكال بترميز إحداثيات النقاط أو النقاط المتعددة أو الخطوط أو المضلعات ، جنبًا إلى جنب مع السمات غير الهندسية.

    يخزن ملف الأشكال السمات والإحداثيات في ملفات منفصلة يتكون من ملف رئيسي وملف فهرس وملف xBASE. جميع الملفات الثلاثة لها نفس الاسم الأساسي وتتميز بالملحقات. shp و. shx و. dbf على التوالي. (على سبيل المثال ، بالنظر إلى الاسم الأساسي "concord_roads" ، فإن أسماء ملفات الأشكال ستكون "concord_roads.shp" و "concord_roads.shx" و "concord_roads.dbf").

    محتويات هياكل البيانات الجغرافية

    تقرأ دالة shaperead ميزات وسمات المتجه من ملف أشكال وتقوم بإرجاع مصفوفة بنية بيانات جغرافية. تحدد وظيفة shaperead أسماء حقول السمات في وقت التشغيل من جدول ملف الشكل xBASE أو من معلمات اختيارية يحددها المستخدم. إذا كان اسم سمة ملف الشكل لا يمكن استخدامه مباشرة كاسم حقل ، فإن shaperead يعين الحقل اسمًا معدلاً بشكل مناسب ، عادةً عن طريق استبدال الشرطات السفلية بالمسافات.

    الحقول في بنية البيانات الجغرافية

    أحد أنواع الأشكال التالية: "Point" أو "MultiPoint" أو "Line" أو "Polygon".

    يحدد الحد الأدنى والحد الأقصى لقيم تنسيق المعالم في كل بُعد بالشكل التالي:

    [min (X) min (Y) max (X) max (Y)]

    محذوف لنوع الشكل "نقطة".

    صفيف من فئة 1 × N من فئة مزدوجة

    ناقل الحرف أو الرقم القياسي

    اسم السمة ونوعها وقيمتها.

    اختياري. عادة ما تكون هناك سمات متعددة.

    وظيفة shaperead تفعل ليس دعم أي أنواع أشكال ثلاثية الأبعاد أو "مُقاسة": "PointZ" أو "PointM" أو "MultipointZ" أو "MultipointM" أو "PolyLineZ" أو "PolyLineM" أو "PolygonZ" أو "PolylineM" أو "Multipatch". أيضًا ، على الرغم من إمكانية وجود ميزات "Null Shape" في ملف شكل "Point" أو "Multipoint" أو "PolyLine" أو "Polygon" ، إلا أنه يتم تجاهلها.

    الأشكال المتعددة الخطوط والمضلع

    في هياكل البيانات الجغرافية ذات الأشكال الهندسية الخطية أو المضلعة ، يمكن أن تحتوي الميزات الفردية على أجزاء متعددة & # 8212 مقاطع خط غير متصلة وحلقات مضلع. يمكن أن تتضمن الأجزاء حلقات داخلية في عكس اتجاه عقارب الساعة تحدد "الثقوب". لتوضيح ذلك ، راجع إنشاء وعرض المضلعات. يتم فصل كل جزء مفصول عن التالي بواسطة NaN داخل متجهي X و Y (أو Lat و Lon). يمكنك استخدام الدالة isShapeMultipart لتحديد ما إذا كانت الميزة بها أجزاء مفصولة بـ NaN.

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

    الخرائط والبنى الجيولوجية

    بشكل افتراضي ، يقوم shaperead بإرجاع مخطط خريطة يحتوي على حقلي X و Y. هذا مناسب إذا كانت إحداثيات مجموعة البيانات مسقطة بالفعل (في نظام إحداثي خريطة). خلافًا لذلك ، إذا كانت إحداثيات مجموعة البيانات غير متوقعة (في نظام إحداثيات جغرافي) ، فاستخدم زوج قيمة المعلمة "UseGeoCoords" ، صحيحًا لجعل shaperead يُرجع بنية جغرافية بها حقول Lon و Lat.

    أنواع الإحداثيات. إذا كنت لا تعرف ما إذا كان ملف الأشكال يستخدم الإحداثيات الجغرافية أو إحداثيات الخريطة ، فإليك بعض الأشياء التي يمكنك تجربتها:

    إذا كان ملف الشكل يتضمن ملف إسقاط (.prj) ، فاستخدم معلومات الشكل للحصول على معلومات حول النظام المرجعي للإحداثيات. إذا كان الحقل CoordinateReferenceSystem للبنية التي تم إرجاعها هو كائن projcrs ، فلديك إحداثيات الخريطة. إذا كان الحقل عبارة عن كائن جغرافي ، فلديك إحداثيات جغرافية.

    إذا كان ملف الشكل لا يتضمن ملف إسقاط ، فاستخدم معلومات الشكل للحصول على BoundingBox. بالنظر إلى نطاقات الإحداثيات ، قد تتمكن من معرفة نوع الإحداثيات لديك.

    تعرض وظيفة geoshow المعالم الجغرافية المخزنة في الهياكل الجغرافية ، وتعرض وظيفة mapshow المعالم الجغرافية المخزنة في هياكل الخرائط. إذا حاولت عرض مخطط مع عرض جغرافي ، تصدر الوظيفة تحذيرًا وتستدعي عرض الخرائط. إذا حاولت عرض بنية جغرافية باستخدام mapshow ، فإن الوظيفة تعرض الإحداثيات بإسقاط Plate Carree وتصدر تحذيرًا.

    فحص بنية البيانات الجغرافية

    فيما يلي مثال على مخطط خرائطي غير مصفى تم إرجاعه بواسطة shaperead:

    يظهر الإخراج على النحو التالي:

    يحتوي ملف الشكل على 609 ميزات. بالإضافة إلى الحقول Geometry و BoundingBox والإحداثيات (X و Y) ، هناك خمسة حقول سمات: STREETNAME و RT_NUMBER و CLASS و ADMIN_TYPE و LENGTH.

    يظهر الإخراج على النحو التالي:

    يحتوي مخطط الخريطة هذا على ميزات "الخط". الخط العاشر له تسعة رؤوس. قيم السمتين الأوليين هي متجهات الأحرف. الثاني يحدث أن يكون ناقل حرف فارغ. السمات الثلاث الأخيرة رقمية. عبر عناصر S و X و Y يمكن أن يكون لها أطوال مختلفة ، ولكن يجب أن يحتوي STREETNAME و RT_NUMBER دائمًا على متجهات أحرف ، ويجب أن تحتوي CLASS و ADMIN_TYPE و LENGTH دائمًا على مضاعفات عددية.

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

    كيفية بناء هياكل البيانات الجغرافية

    تؤدي الوظائف مثل shaperead أو gshhs إلى إرجاع الهياكل الجغرافية عند استيراد البيانات الجغرافية المتجهة. ومع ذلك ، قد ترغب في إنشاء هياكل جغرافية أو بناء خرائط بنفسك في بعض الظروف. على سبيل المثال ، ربما يستورد البيانات الجغرافية المتجهة غير المخزنة في ملف شكل (على سبيل المثال ، من ملف MAT ، أو من جدول بيانات Microsoft & # x00AE Excel & # x00AE ، أو عن طريق القراءة في ملف نصي محدد). يمكنك أيضا إحصاء - عد ناقلات البيانات الجغرافية والسمات عن طريق استدعاء وظائف MATLAB أو Mapping Toolbox. في كلتا الحالتين ، تكون الإحداثيات والبيانات الأخرى عادةً متجهات أو مصفوفات في مساحة العمل. Packaging variables into a geostruct or mapstruct can make mapping and exporting them easier, because geographic data structures provide several advantages over coordinate arrays:

    All associated geodata variables are packaged in one container, a structure array.

    The structure is self-documenting through its field names.

    You can vary map symbology for points, lines, and polygons according to their attribute values by constructing a symbolspec for displaying the geostruct or mapstruct.

    A one-to-one correspondence exists between structure elements and geographic features, which extends to the children of hggroup objects constructed by mapshow and geoshow .

    Achieving these benefits is not difficult. Use the following example as a guide to packaging vector geodata you import or create into geographic data structures.

    Making Point and Line Geostructs

    The following example first creates a point geostruct containing three cities on different continents and plots it with geoshow . Then it creates a line geostruct containing data for great circle navigational tracks connecting these cities. Finally, it plots these lines using a symbolspec.

    Begin with a small set of point data, approximate latitudes and longitudes for three cities on three continents:

    Build a point geostruct it needs to have the following required fields:

    Geometry (in this case 'Point' )

    Lat (for points, this is a scalar double)

    Lon (for points, this is a scalar double)

    Display the geostruct on a Mercator projection of the Earth's land masses stored in the landareas.shp shapefile, setting map limits to exclude polar regions:

    Next, build a Line geostruct to package great circle navigational tracks between the three cities:

    Compute lengths of the great circle tracks:

    Map the three tracks in the line geostruct:

    You can save the geostructs you just created as shapefiles by calling shapewrite with a file name of your choice, for example:

    Making Polygon Geostructs

    Creating a geostruct or mapstruct for polygon data is similar to building one for point or line data. However, if your polygons include multiple, NaN-separated parts, recall that they can have only one value per attribute, not one value per part. Each attribute you place in a structure element for such a polygon pertains to all its parts. This means that if you define a group of islands, for example with a single NaN-separated list for each coordinate, all attributes for that element describe the islands as a group, not particular islands. If you want to associate attributes with a particular island, you must provide a distinct structure element for that island.

    Be aware that the ordering of polygon vertices matters. When you map polygon data, the direction in which polygons are traversed has significance for how they are rendered by functions such as geoshow , mapshow , and mapview . Proper directionality is particularly important if polygons contain holes. The Mapping Toolbox convention encodes the coordinates of outer rings (e.g., continent and island outlines) in clockwise order counterclockwise ordering is used for inner rings (e.g., lakes and inland seas). Within the coordinate array, each ring is separated from the one preceding it by a NaN.

    When plotted by mapshow or geoshow , clockwise rings are filled. Counterclockwise rings are unfilled any underlying symbology shows through such holes. To ensure that outer and inner rings are correctly coded according to the above convention, you can invoke the following functions:

    ispolycw — True if vertices of polygonal contour are clockwise ordered

    poly2cw — Convert polygonal contour to clockwise ordering

    poly2ccw — Convert polygonal contour to counterclockwise ordering

    poly2fv — Convert polygonal region to face-vertex form for use with patch in order to properly render polygons containing holes

    Three of these functions check or change the ordering of vertices that define a polygon, and the fourth one converts polygons with holes to a completely different representation.

    For an example of working with polygon geostructs, see Converting Coastline Data (GSHHG) to Shapefile Format.

    Mapping Toolbox Version 1 Display Structures

    Prior to Version 2, when geostructs and mapstructs were introduced, a different data structure was employed when importing geodata from certain external formats to encapsulate it for map display functions. هؤلاء display structures accommodated both raster and vector map data and other kinds of objects, but lacked the generality of current geostructs and mapstructs for representing vector features and are being phased out of the toolbox. However, you can convert display structures that contain vector geodata to geostruct form using updategeostruct . For more information about Version 1 display structures and their usage, see Version 1 Display Structures in the reference page for displaym . Additional information is located in reference pages for updategeostruct , extractm , and mlayers .


    7. Recommendations, Observations, and Conclusions

    This section discusses conclusions and recommendations. There is also a section on the issue of backwards compatibility. A number of issues for future discussion and consideration were also identified. وتشمل هذه:

    Forwards compatibility in the CDB context.

    How to let an application know what vector data encoding is/are available.

    Versioning and GPKG and CDB 1.2.

    Additional testing for Experiments 3 and 4 in terms of optimization.

    7.1. Backwards compatibility in the CDB context

    7.1.1. FlightSafety observations on backwards compatibility

    Our view is that a form of Experiment 2 is backwards compatible with the existing specification, for the following reasons:

    The CDB concept of a single "logical" file representing a vector file is preserved.

    The CDB conceptual model leans toward mixing the data model and the files on disk. This should be disentangled in a future version of CDB, but it is difficult to do in a minor revision.

    CDB Versioning, where one file from a CDB dataset replaces/hides a file from another CDB dataset, would be difficult to fit together with a GeoPackage that contained "all" the vector files for that dataset. A preferable solution is to evolve the conceptual model to handle this case in CDB 2.0.

    7.2. Findings

    7.2.1. Aechelon Findings

    For the three Experiment 2 options Aechelon tested, the best outcome in both time and file size came from option 1C.

    For Experiments 3 and 4, speed is slightly improved relative to Experiment 3 sub-option 1D but not sub-option 1C. On the other hand, the resulting storage size is markedly improved when compared against all options in Experiment 2, as would be expected. This is because, by design, these Experiments 3 and 4 go against the spirit of CDB data segmentation by file at the LOD level. This makes it more difficult to remove LODs, if so desired, when copying or exporting the CDB vector data. As such, the approaches used in Experiments 3 and 4 may not be as easy to incorporate and adopt as part of the CDB Standard.

    7.2.2. CAE Findings

    Although previous experiments with one-to-one Shapefile-to-GeoPackage conversion have been very positive, our experiences indicate mixed results. On one hand, we observe substantial benefit in reducing the number of files stored and loaded, and we also observe the possibility of a comparable (or faster) decode time. However, on the other hand, we see potentially-problematic increases in the amount of storage space required.

    The negative effects are amplified for CDBs with large numbers of Shapefiles that have small numbers of features. The GeoPackage format (especially as outputted by GDAL) is very space-inefficient when it comes to encoding tiles with small quantities of data. Notably, even if we moved to a 1-tile-per-table instead of a 1-tile-per-file approach, the underlying SQLite format seems to allocate a minimum of 4 KB per table regardless of how little data is in it.

    Please see CAE recommendations

    7.2.3. FlightSafety Findings

    Shapefiles are a problematic format for several reasons: -- Shapefiles are a multi-file format to represent a single "logical" file. Management of multi-file formats is always a bit harder than handing a single file. -- The CDB standard’s use of extra DBF (DBase III) files for class-level and extended-level attribution is not standard for any current GIS tool which makes the multi-file format problem worse. -- There are other small-level issues with Shapefiles, including limited field name length, limited numbers of attributes, limited data types, and a single geometry type per Shapefile. -- In all three test CDB datasets, the number of files greatly exceed the proportion of space on disk. The large number of small files causes problems with efficient disk space usage and slows the distribution of a CDB dataset.

    Replacing a single Shapefile with a GeoPackage (Experiment 2) seems to be a better solution for CDB 1.2 or a future CDB 1.x -- Changes to CDB clients involve less work than other than the Experiment 3 and 4 approaches. -- On average, the performance was better with GeoPackage -- On specific worst case tests, Line Strings and Polygons were faster with GeoPackage. Points were mixed, but likely fast enough for this use case. -- It would also fit within CDB’s pre-existing versioning mechanism better than the Experiment 3 and 4 approaches, as it can maintain the single "file" paradigm where a vector file replaces/hides another vector file (even if the "file" is really a multi-file format). -- The class-level attributes would be easy to import into a flattened GeoPackage. Importing extended-level attributes as a related table makes sense as well, although redesigning the odd extended attribute encoding would be recommended. -- The SWG is encouraged to implement a single vector encoding per CDB dataset/version, and a way to discover the vector encoding implemented from a file in the Metadata folder.

    GeoPackage Experiments 3 or 4 would be best suited to a future compatibility-breaking version of CDB 2.0. -- CDB client changes would be more extensive, but the performance gain would likely be worth the effort. -- More detail and additional specification requirements would be necessary to describe how to version CDB datasets when that dataset no longer maintains the "traditional" directory and file format that versioning was designed for. -- The SQL query when loading the vectors that would be contained within a single shapefile can take twice as long as when these vectors are in a single GeoPackage, but the open cost can be amortized across many queries if the GeoPackage files remain open for a longer period of time.

    The OGC Interoperability Experiment was a good testing ground to develop familiarity with GeoPackage and to help the SWG come to a better consensus on the use of GeoPackage. We would recommend having more IE’s as other parts of the specification are reviewed and improved.

    7.2.4. Hexagon/Luciad Findings

    Standard Visualization Metrics - Overall visualization performance was similar between all experiments for each dataset. Converting to GeoPackage has no significant impact either positive or negative on visualization once the data is loaded.

    Data Ingest - Data ingest for visualization was highly dependent on the size and structure of the underlying GeoPackage datasets and the architecture of the data ingest code. Both load times and heap memory usage were much greater for the combined GeoPackages on large datasets. While major adjustments to the GeoPackage interactivity was beyond the scope of this IE, minor modifications to reduce file I/O on the combined datasets showed potential for improvement in data loading time.

    Data Conversion - For data conversion the best results were also obtained from Experiments 3 & 4. The caveat here is that some memory issues were encountered with the provided datasets as more layers and data were added to a single GeoPackage which introduces questions of scalability for these approaches.

    7.3. Recommendations

    This section describes key recommendations from each of the participating organizations. A short summary of the recommendations is provided is the Summary Section of this Engineering report.

    7.3.1. Aechelon

    To achieve the improvements in storage while also maintaining the speeds comparable with sub-option 1C and addressing the file-per-LOD issue, Aechelon recommends two additional experiments: (a) where each component selector of each LOD is in its own GeoPackage file. This is effectively a variant of sub-option 1C where the U and R references of the same component selectors are combined into one file and (b) where each dataset’s LODs are in a separate geopackage file. This is effectively a variant of Experiment 3 where instead of storing each LOD in a separate layer in the same GeoPackage file, each LOD is a separate file.

    If Aechelon were to recommend only one processing alternative, among those in this experiment, for inclusion as an alternate primary vector format in a future OCG CDB revision, it would be option 1C in Experiment 2.

    7.3.2. CAE Recommendations

    Suggestion 1: Storage versus Transport Format

    CAE has essentially been using GeoPackage as a data transfer format in this experiment, when GeoPackage design seems to be much better used as a data storage format. The GeoPackage format encodes indexes, triggers, sequences, and metadata as well as feature data, and it also supports real-time addition, removal, and update of records. In this experiment, CAE made use of none of these features.

    CAE suggests considering GeoJSON as a candidate format for the one-to-one Shapefile conversion case (Option 1a). With GeoJSON, we may obtain the same reduction in file count while simultaneously obtaining better performance and storage characteristics for CDBs with large numbers of small vector files. To obtain scalable performance characteristics with GeoJSON, CAE suggests implementations use RapidJSON or similar parser (rather than libjson, which is currently used by GDAL).

    It is also worth noting that GeoJSON supports other variants of the Option 1 experiment e.g., attribute flattening (Options 1c/1d).

    Suggestion 2: GeoPackage as an Incremental Data Store Version

    In this experiment, CAE explored the idea of placing GeoPackages inside a CDB. CAE suggests that this may not be the best approach for maximizing compatibility. GeoPackage, like CDB, functions conceptually as an independent data store. CAE would like to raise the possibility of using GeoPackage as an incremental data store version, which would essentially allow a GeoPackage to replace a CDB version at its root (at least to the extent that all data inside the CDB can be converted losslessly into GeoPackage data). The idea is to be able to add a GeoPackage as an incremental version without modifying the underlying CDB, or vice versa. What CAE would have to do in this case is define a bidirectional equivalency between a CDB directory path and a GeoPackage/SQLite index—​this would allow us clearly-defined semantics for mixing and matching GeoPackage and CDB data stores, with minimal impact on existing standards and implementations.

    Suggestion 3: The CDB Directory Hierarchy as a Key-Value Store

    CAE would like to raise a particular opportunity for future-proofing the standard. Conceptually, the CDB directory hierarchy functions as an index: Any given directory path is essentially a key, and the value accessed by the key is a file. If we introduce a level of abstraction that allows us to discuss the CDB as a type of key-value store, then we open up a range of new possibilities in terms of physical implementation. For example, there are any number of database engines that are able to function as fast key-value stores, from lightweight mobile solutions like SQLite to highly-distributed cloud-capable NoSQL solutions like MongoDB. This would conceptually simplify the idea of a geographic database, allowing implementors more freedom to choose the storage technology that best suits them while simultaneously providing a natural path toward remote/Internet query of CDBs.

    7.3.3. FlightSafety Recommendations

    GeoPackage Recommendations

    From our experience, GDAL’s GeoPackage driver will create non-standard GeoPackage files. The SWG needs to decide if that is allowed, or if a stricter GeoPackage implementation is required.

    GDAL defaults to using "fid" as the primary key in geometry tables. GeoPackage specifies "id"

    As the conversion scripts use GDAL to convert geometry from Shapefile to GeoPackage, GDAL allows the creation of MultiPolygon and MultiLineString features in Polygon and LineString tables (respectively). When this happens, GDAL emits a warning that it is not creating standard GeoPackage files. We would recommend standardizing with GeoPackage, in only allowing a single geometry type within a table.

    The conversion from shapefile logical fields to GeoPackage should be standardized. It would be best to convert any CDB logical field (whether it was logical, string, or integer) into a GeoPackage boolean field.

    The table name should include enough information to be unique, no matter which approach as tested in Experiments 2, 3, and 4 is implemented.

    The dataset/component selectors/lod/up/right values must be stored in the table. Integers are recommended for storage for better performance.

    If the SWG decides on using option 3 or 4 for a future version of CDB, then index search tables should be required for better performance when querying data from a specific CDB Tile-LOD.

    7.3.4. Hexagon/Luciad Recommendation

    Further investigation into the optimal structure of combining multiple sub-datasets (rail, hydrography, etc) and multiple levels of detail into a single GeoPackage could alleviate several encountered performance drawbacks with the CDB datasets in Experiments 3 & 4. At this point without this investigation and guidance Hexagon US Federal recommends the CDB architecture presented in Experiment 2 which provides both a reduction in the dataset’s file count and minimizes the impact to existing CDB applications accessing data in the current tiled directory structure.

    7.3.5. Some unanswered questions for SWG discussion

    Forwards compatibility in the CDB context

    How to let an application know what vector data encoding is/are available.

    Versioning and GPKG and CDB 1.2

    Guidance on using conversion tools, such as GDAL, to generate consistent and "legal" GeoPackages so that interoperability is enhanced.


    شاهد الفيديو: كيف أبدأ مشروع الإستيراد (شهر اكتوبر 2021).