أكثر

Osm2po لاستيراد الكوكب كله

Osm2po لاستيراد الكوكب كله


وجهة نظري هي استخدام pgrouting مع بيانات الكوكب. فشل osm2pgrouting في استيراد الكوكب بأكمله ، لذلك حاولت استخدام osm2po. بدا جيدًا ، فقد أنشأ ملف SQL في حوالي 2.5 ساعة. بعد استيراده إلى db على الرغم من أنني وجدت أن هناك العديد من الطرق المستبعدة من db. النظر عن كثب في سجلات osm2po:

معلومات 46،421،095 من أصل 235،414،299 طريقة مستخرجة - 25،018 مليونًا

لذلك قمت بالتعليق على كل إدخال wtr.finalMask في ملف osm2po.config. ساعد قليلا:

معلومات 74،660،756 من أصل 235،414،299 طريقة مستخرجة - 15،761 مليون

ولكن لا يزال هناك العديد من الطرق المفقودة. لذا فقد ألغيت تعليقًا على هذا السطر:

DisablePreFilter = صحيح

ولكن بعد ذلك مباشرة قبل طريقة الاستخراج ، حصلت على هذا:

INFO 2،362،909،765 من 2،362،909،765 عقدة مستخرجة - 29،114M استثناء قاتلي في الخميس 02 يوليو 07:34:50 CEST 2015- 8،932M الرسالة: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: Arrayava index خارج النطاق: -214748 .lang.RuntimeException Stacktrace: de.cm.osm2po.converter.OsmXmlParser.parse (OsmXmlParser.java:83) de.cm.osm2po.Main.runTiler (Main.java:214) de.cm.osm2po.Main.main ( Main.java:159)

بعد قراءة جميع الإجابات هنا ، أفهم أن osm2po لا يستخرج طرقًا باستخدام علامات لا يعرفها. هل أفهم بشكل صحيح أن تعطيل الفلتر المسبق يجب أن يستخرج كل الطرق؟ إذا كان الأمر كذلك ، فهل هناك أي طريقة لتكوين osm2po لبناء ملف sql بكل الطرق من osm؟

أنا أستخدم إصدار osm2po 5.0.0. تم تنفيذه بـ:

جافا -Xmx32G -jar osm2po-core-5.0.0-signature.jar cmd = tjsp TileSize = x، c ./planet-140522.osm

على نظام به ذاكرة وصول عشوائي بسعة 64 جيجابايت. ملف الخريطة قديم بعض الشيء ، لكنني بحاجة إلى هذا الإصدار بالضبط. يوجد تكوين osm2po الخاص بي: osm2po.config

مثال على الطرق المفقودة (أو المقاطع ، عدم التأكد مما تعنيه "الطريقة" بالضبط في osm) موجود: part.of.osm.file (هذا جزء من ملف osm الأحدث ، وليس الكوكب ، لتتمكن من grep بشكل معقول سريعًا ، لكنه بدا مشابهًا عندما التقطته في ملف الكوكب) تاركًا في db هذه الصفوف الثلاثة فقط:

osm_id؛ osm_source_id؛ osm_target_id 111729593؛ 252343523؛ 1370502399 111729593؛ 1370502399؛ 252343594 111729593؛ 252343594؛ 252343601

ما إصدار osm2po الذي استخدمته وكيف بدأت (المعلمات؟)؟ هممم ... 74،660،756 من 235،414،299 يبدو رائعًا. الباقي عبارة عن مباني أو أماكن أو مناطق أو أجزاء حدودية وما إلى ذلك ولا توجد طرق أو مسارات قابلة للتوجيه.

هل يمكنني رؤية ملف السجل الكامل للعثور على استثناء ArrayIndexOutOfBounds؟ بالمناسبة: الخطأ يقول ، أن مصفوفة واحدة مليئة بأكثر من ملياري عنصر !!! لتجاوز هذه المشكلة ، استخدم معلمة TileSize. (البلاط الحجم = 30x30،1) على سبيل المثال

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


شاهد الفيديو: Jordan B Peterson u0026 Sam Harris Debate God