هذا هو الأمر osm2pgsql الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
osm2pgsql - بيانات خريطة الشارع المفتوح لمحول PostgreSQL.
موجز
osm2pgsql [الخيارات] الكوكب
osm2pgsql [الخيارات] planet.osm. {gz، bz2، pbf}
osm2pgsql [الخيارات] file1.osm file2.osm file3.osm
الوصف
توثق صفحة الدليل هذه بإيجاز ملف osm2pgsql أمر.
osm2pgsql يستورد البيانات من ملف (ملفات) OSM إلى قاعدة بيانات PostgreSQL المناسبة للاستخدام من قبل ملف
عارض Mapnik أو المكود الجغرافي Nominatim.
يمكن تنزيل لقطات كوكب OSM من http://planet.openstreetmap.org/. جزئي
ملفات الكوكب ("مقتطفات") لمختلف البلدان متوفرة ، انظر
http://wiki.openstreetmap.org/wiki/Planet.osm.
تتوفر أيضًا مقتطفات بتنسيق PBF (ProtoBufBinary) من
http://download.geofabrik.de/osm/.
عند العمل في الوضع "النحيف" (وعلى قاعدة بيانات تم إنشاؤها في الوضع "النحيف"!) ، osm2pgsql يمكن
تقوم أيضًا بمعالجة ملفات تغيير OSM (ملفات osc) ، وبذلك تصل قاعدة البيانات الحالية إلى
التاريخ.
OPTIONS
تتبع هذه البرامج الصيغة المعتادة لسطر أوامر جنو ، مع بدء الخيارات الطويلة بـ
شرطان ("-"). يتم تضمين ملخص من الخيارات أدناه.
-a| --لحق
أضف ملف OSM إلى قاعدة البيانات دون إزالة البيانات الموجودة.
-b| --بوكس
قم بتطبيق مرشح الصندوق المحيط على البيانات المستوردة. يجب تحديده على النحو التالي:
مينلون ، مينلات ، ماكسلون ، ماكسلات على سبيل المثال --bbox -0.5,51.25,0.5,51.75
-c| --إنشاء
إزالة البيانات الموجودة من قاعدة البيانات. هذا هو الافتراضي إذا --ألحق ليس
محدد.
-d| - اسم قاعدة البيانات
اسم قاعدة بيانات PostgreSQL المراد الاتصال بها (الافتراضي: gis).
-i| --tablespace-index اسم الجدول
قم بتخزين جميع الفهارس في مساحة جداول منفصلة PostgreSQL تسمى هذه المعلمة.
هذا يسمح لأحد على سبيل المثال تخزين المؤشرات على تخزين أسرع مثل محركات أقراص الحالة الصلبة.
--tablespace-main-data tablepacename
قم بتخزين جداول البيانات (غير ضئيلة) في مساحة الجدول المحددة.
--tablespace-main-index tablepacename
قم بتخزين مؤشرات الجداول الرئيسية (غير ضئيلة) في مساحة الجدول المحددة.
--tablespace-slim-data tablepacename
قم بتخزين جداول الوضع الصغير في مساحة الجدول المحددة.
--tablespace-slim-index اسم الجدول
قم بتخزين مؤشرات جداول الوضع الصغير في مساحة الجدول المحددة.
-l| --لاتلونج
تخزين البيانات بدرجات خطوط الطول والعرض.
-m| - ميرك
قم بتخزين البيانات في Mercator الكروية المناسبة (الافتراضي).
-E| --proj الأسطوانات
استخدم الإسقاط EPSG: الأسطوانات
-u| --utf8- تطهير
إصلاح بيانات إدخال UTF-8 السيئة (موجودة في مقالب الكواكب قبل أغسطس 2007). يضيف
حوالي 10٪ النفقات العامة.
-p| - بادئة البادئة_string
بادئة لأسماء الجدول (افتراضي: planet_osm).
-r| --تنسيق قارئ الإدخال
حدد قارئ تنسيق الإدخال. الخيارات المتاحة libxml2 (افتراضي) لـ OSM XML
تنسيق الملفات ، o5m للملف المنسق o5m و PBF لتنسيق OSM PBF الثنائي (قد لا
تكون متاحة على جميع المنصات).
-s| - سليم
تخزين البيانات المؤقتة في قاعدة البيانات. بدون هذا الوضع ، تكون جميع البيانات المؤقتة
مخزنة في ذاكرة الوصول العشوائي وإذا لم يكن لديك ما يكفي ، فلن يعمل الاستيراد بنجاح.
باستخدام الوضع النحيف ، يجب أن تكون قادرًا على استيراد البيانات حتى على نظام محدود
ذاكرة الوصول العشوائي ، على الرغم من أنه إذا لم يكن لديك ذاكرة وصول عشوائي كافية لتخزين جميع العقد على الأقل ، فإن ملف
من المرجح أن يزداد وقت استيراد البيانات بشكل كبير.
--قطرة
قم بإسقاط جداول الوضع النحيف من قاعدة البيانات بمجرد اكتمال الاستيراد. هذا يمكن
تقليل حجم قاعدة البيانات بشكل كبير ، حيث أن جداول الوضع النحيف هي عادةً ملفات
نفس الحجم ، إن لم يكن أكبر قليلاً من الطاولات الرئيسية. ومع ذلك ،
تقليل الحد الأقصى لارتفاع استخدام القرص أثناء الاستيراد. علاوة على ذلك يمكن أن تزيد
سرعة الاستيراد ، حيث لا يلزم إنشاء مؤشرات لجداول الوضع الصغير ، والتي
(اعتمادًا على الأجهزة) يمكن أن يقلل وقت الاستيراد بمقدار النصف تقريبًا. ومع ذلك ، تحتوي جداول الوضع النحيف على
لتكون ثابتًا إذا كنت تريد أن تكون قادرًا على تحديث قاعدة البيانات الخاصة بك ، مثل هذه الجداول
هناك حاجة لمعالجة الفروق.
-S| --style / path / to / style
موقع ملف نمط osm2pgsql. هذا يحدد العلامات من البيانات التي تحصل عليها
يتم استيرادها إلى أعمدة قاعدة البيانات والعلامات التي يتم إسقاطها. افتراضات إلى
/usr/share/osm2pgsql/default.style.
-C| - عدد ذاكرة التخزين المؤقت
فقط للوضع النحيف: استخدم ما يصل إلى عدد ميغا بايت من ذاكرة الوصول العشوائي للتخزين المؤقت للعقد. إعطاء
عادة ما تزداد ذاكرة التخزين المؤقت الكافية osm2pgsql لتخزين جميع العقد المستوردة بشكل كبير
سرعة الاستيراد. تتطلب كل عقدة مخزنة مؤقتًا 8 بايت من ذاكرة التخزين المؤقت ، بالإضافة إلى حوالي 10٪
- 30٪ النفقات العامة. بالنسبة لاستيراد كوكب OSM الكامل الحالي مع حوالي 3 مليارات عقدة ، أ
ستكون القيمة الجيدة 27000 إذا كان لديك ذاكرة وصول عشوائي كافية. إذا لم يكن لديك ذاكرة وصول عشوائي كافية ، فسيتم ذلك
من المحتمل أن يكون من المفيد إعطاء osm2pgsql قريبًا من المقدار الكامل المتاح من ذاكرة الوصول العشوائي.
الافتراضي هو 800.
- استراتيجية استراتيجية المخبأ
هناك عدد من الأوضاع المختلفة التي يمكن من خلالها لـ osm2pgsql تنظيم عقدتها
ذاكرة التخزين المؤقت في ذاكرة الوصول العشوائي. تم تحسين هذه الافتراضات المختلفة للبيانات و
موارد الأجهزة المتاحة. الاستراتيجيات المتاحة حاليا هي كثيف, مقطوع,
متناثر و الأمثل. كثيف يفترض أن أرقام معرف العقدة معبأة بكثافة ،
أي فقط عدد قليل من المعرفات في النطاق مفقودة / محذوفة. لمقتطفات الكوكب هذا هو
عادة ليس هذا هو الحال ، مما يجعل ذاكرة التخزين المؤقت غير فعالة للغاية ومضيعة لذاكرة الوصول العشوائي. متناثر
يفترض أن معرفات العقدة في البيانات ليست معبأة بكثافة ، مما يؤدي إلى زيادة التخزين المؤقت بشكل كبير
الكفاءة في هذه الحالات. إذا كانت معرفات العقدة معبأة بكثافة ، مثل الكاملة
الكوكب ، فهذه الإستراتيجية بها عبء أعلى لفهرسة ذاكرة التخزين المؤقت. الأمثل يستخدم
استراتيجيات كثيفة ومتفرقة لنطاقات مختلفة من مساحة المعرف. على كتلة
حسب قاعدة الكتلة ، فإنه يحاول تحديد ما إذا كان تخزين الكتلة أكثر فعالية
المعرفات في الوضع المتناثر أو الكثيف. هذا هو الإعداد الافتراضي ويجب استخدامه عادةً.
-U| --اسم المستخدم
اسم مستخدم Postgresql.
-W| --كلمة المرور
فرض موجه كلمة المرور.
-H| --اسم المضيف
اسم مضيف خادم قاعدة البيانات أو موقع مأخذ التوصيل.
-P| - رقم المنفذ
منفذ خادم قاعدة البيانات.
-e| - expire-البلاط [min_zoom-] max-zoom
إنشاء قائمة انتهاء البلاط.
-o| - expire-output /path/to/expire.list
اسم ملف الإخراج لقائمة المربعات منتهية الصلاحية.
-o| - الإخراج
تحدد الواجهة الخلفية للإخراج أو مخطط قاعدة البيانات المراد استخدامه. حاليا osm2pgsql
وتدعم pgsql, المعجم و فارغة. pgsql هو مخطط الإخراج الافتراضي
وتم تحسينه للعرض باستخدام Mapnik. المعجم هو مخطط ديسيبل الأمثل ل
الترميز الجغرافي ويستخدمه Nominatim. فارغة لا يكتب أي إخراج وهو فقط
مفيد للاختبار.
-x| - سمات إضافية
قم بتضمين سمات لكل كائن في قاعدة البيانات. يتضمن هذا اسم المستخدم ،
معرف المستخدم والطابع الزمني والإصدار. ملاحظة: يتطلب هذا الخيار أيضًا إدخالات إضافية
في ملف النمط الخاص بك.
-k| - مخزن
أضف علامات بدون عمود إلى عمود hstore (مفتاح / قيمة) إضافي إلى PostgreSQL
الجداول.
-j| - مخزن-الكل
أضف جميع العلامات إلى عمود hstore (مفتاح / قيمة) إضافي في جداول PostgreSQL.
-z| --اسم مفتاح عمود المتجر
أضف عمود hstore (مفتاح / قيمة) إضافيًا يحتوي على جميع العلامات التي تبدأ بامتداد
السلسلة المحددة ، على سبيل المثال - عمود التخزين "الاسم:" ستنتج عمود hstore إضافي
الذي يحتوي على جميع علامات الاسم: xx
--hstore-match-only
احتفظ فقط بالعناصر التي لها قيمة في أحد الأعمدة (إجراء عادي مع
- المخزن هو الاحتفاظ بجميع الأشياء).
- مخزن إضافة فهرس
إنشاء فهارس لأعمدة hstore أثناء الاستيراد.
-G| - يذوب-الهندسة
عادةً ما يقسم osm2pgsql الأشكال الهندسية متعددة الأجزاء إلى صفوف قاعدة بيانات منفصلة لكل
جزء. لذلك يمكن أن يحتوي معرف OSM واحد على عدة صفوف. مع هذا الخيار ،
بدلاً من ذلك ، تنشئ PostgreSQL ميزات متعددة الأشكال الهندسية في جداول PostgreSQL.
-K| --حافظة على السواحل
احتفظ ببيانات الخط الساحلي بدلاً من تصفيتها. بشكل افتراضي طبيعي = الساحل
سيتم تجاهل البيانات ذات العلامات بناءً على افتراض أن الخط الساحلي الذي تمت معالجته لاحقًا
سيتم استخدام ملفات شكل المدقق.
- استبعاد المضلع غير صالح
يتم تعريف بيانات OpenStreetMap من حيث العقد والطرق والعلاقات وليس في
شروط الخصائص الهندسية الفعلية. لذلك يحاول Osm2pgsql بناء postgis
هندسة من تمثيل البيانات هذا. لكن ليس كل الطرق والعلاقات
تتوافق مع هندسة postgis الصالحة (مثل المضلعات المتقاطعة ذاتيًا). بواسطة
يحاول osm2pgsql الافتراضي إصلاح هذه الأشكال الهندسية تلقائيًا باستخدام ST_Buffer(0)
حول المضلعات غير الصالحة. باستخدام هذا الخيار ، يتم استخدام المضلعات غير الصالحة بدلاً من ذلك
أسقطت من قاعدة البيانات.
- غير مسدود
استخدم جداول postgresql غير المسجلة لتخزين البيانات. يتطلب هذا PostgreSQL 9.1 أو
فوق. البيانات المكتوبة على جداول غير مسجلة لا تُكتب إلى PostgreSQL في الكتابة المسبقة
log ، مما يجعلها أسرع بكثير من الجداول العادية. ومع ذلك ، هم
غير آمن ضد التعطل: يتم قطع الجدول غير المسجَّل تلقائيًا بعد حدوث عطل أو
الاغلاق غير النظيف.
- عدد العمليات الأس
يحدد عدد العمليات المتوازية المستخدمة لعمليات معينة. إذا كانت الأقراص
تكون سريعة بما يكفي ، على سبيل المثال إذا كان لديك SSD ، فيمكن أن يؤدي ذلك إلى زيادة سرعة
مراحل "تجاوز الطرق المعلقة" و "تجاوز العلاقات المعلقة" أ
خادم متعدد النواة.
-I| --تعطيل - الفهرسة المتوازية
بشكل افتراضي ، يبدأ osm2pgsql بناء الفهرس في جميع الجداول بالتوازي مع
زيادة الأداء. يمكن أن يكون هذا عيوبًا على الأقراص البطيئة ، أو إذا لم يكن لديك
ذاكرة RAM كافية لـ PostgreSQL لأداء ما يصل إلى 7 عمليات بناء فهرس متوازية
(على سبيل المثال ، نظرًا لتعيين درجة عالية من Maintenance_work_mem).
- عقد مسطح /path/to/nodes.cache
وضع العقد المسطحة هو طريقة منفصلة لتخزين معلومات عقدة الوضع الرقيق عليه
القرص. بدلاً من تخزين هذه المعلومات في قاعدة بيانات PostgreSQL الرئيسية ، هذا
يقوم الوضع بإنشاء قاعدة بيانات مخصصة منفصلة خاصة به لتخزين المعلومات. على هذا النحو
قاعدة البيانات المخصصة لديها معرفة على مستوى التطبيق حول البيانات المراد تخزينها وليست كذلك
للأغراض العامة ، يمكنه تخزين البيانات بشكل أكثر كفاءة. تخزين العقدة
تتطلب معلومات الكوكب بأكمله حوالي 100 جيجابايت في PostgreSQL ، وهي نفس البيانات
يتم تخزينه في حوالي 16 جيجابايت فقط باستخدام وضع العقد المسطحة. يمكن أن يؤدي هذا أيضًا إلى زيادة السرعة
لتطبيق ملفات فرق. ينشط هذا الخيار وضع العقد المسطحة ويحدد الامتداد
موقع ملف قاعدة البيانات. إنه ملف واحد كبير> 16 جيجابايت. هذا الوضع هو فقط
موصى به لواردات الكوكب الكامل لأنه لا يعمل بشكل جيد مع المستخلصات الصغيرة.
الافتراضي هو تعطيل.
-h| --مساعدة
معلومات المساعدة.
أضف -v لعرض الإسقاطات المدعومة.
-v| - الإسراف
إخراج مطول.
أيد التوقعات
Latlong (-l) SRS: 4326 (لا شيء)
مركاتور كروي (-m) SRS: 900913 + مشروع = merc + a = 6378137 + b = 6378137 + lat_ts = 0.0
+ lon_0 = 0.0 + x_0 = 0.0 + y_0 = 0 + k = 1.0 + الوحدات = m + nadgrids = @ null + no_defs + over
معرّف EPSG (-E) SRS: + init = epsg: (كما هو وارد في المعلمة)
استخدم osm2pgsql عبر الإنترنت باستخدام خدمات onworks.net