ओएसएम डेटा के साथ निजी आकार के डेटा को मिलाएं (मर्ज करें)


11

पृष्ठभूमि

जियोफैब्रिक से अल्बर्टा OSM डेटा डाउनलोड किया है और इसे PostgreSQL 9.1, PostGIS 2.0, Mapnik 2.1.0, osm2pgsql, Apache 2, mod_tile, renderd और OpenLayers का उपयोग करके एक निजी लिनक्स सर्वर पर चल रहा है:

डेटा osm2pgsqlनिम्नानुसार आयात किया गया था :

osm2pgsql -W -K -S /usr/local/share/osm2pgsql/default.style -d osm alberta.osm.bz2

मुसीबत

अलबर्टा के लिए OSM डेटा अधूरा है। मैं का एक सेट दिया गया था शेपफ़ाइलें कि OSM डेटा पर बेहतर बनाता है:

City.dbf, City.prj, City.sbn, City.sbx, City.shp, City.shp.xml, City.shx

गांवों, शहरी क्षेत्रों, नगरपालिका जिला सीमाओं और इसके आगे के लिए अतिरिक्त अतिरिक्त आकार। मैंने सफलतापूर्वक एक pgAdmin प्लगइन का उपयोग करके PostgreSQL में शेपफाइल्स आयात किया है । City.prjफ़ाइल के रूप में निम्नानुसार इसके प्रक्षेपण में बताता है:

GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]

आकार डेटा और OpenStreetMap (OSM) डेटा प्रत्येक का अपना डेटाबेस है, लेकिन मेरा मानना ​​है कि मैं OSM डेटाबेस में आकृति डेटा आयात करना चाहता हूं। (यह एक निजी सर्वर और OSM डेटा की एक स्थानीय प्रतिलिपि है; आकृति डेटा को कानूनी रूप से साझा नहीं किया जा सकता है।)

अपडेट # 1

स्पष्ट होने के लिए, आकार-प्रकार में सड़कें नहीं होती हैं: केवल नगर पालिका सीमाएँ (जो निश्चित रूप से OSM डेटा का हिस्सा नहीं हैं), शहरों (जिनमें से कुछ OSM डेटा का हिस्सा हैं), और बड़े शहरों के लिए शहर की सीमाएँ (जिनमें से कुछ हो सकती हैं) OSM डेटा के साथ संघर्ष)।

सवाल

मैं OSM डेटा के साथ शेपफाइल डेटा को कैसे मर्ज करता हूं ताकि नए शहर मैप पर दिखाई दें?

नोट: मेरी मुख्य चिंता डुप्लिकेट डेटा को हल करना है (उदाहरण के लिए, एडमॉन्टन को OSM और खरीदे गए शेपफाइल्स दोनों में सूचीबद्ध किया गया है)।

सम्बंधित लिंक्स

धन्यवाद!


ओएसएम टैग - wiki.openstreetmap.org/wiki/Canadian_tagging_guidelines#Naming का उपयोग करके अपने आकार को डाकियों में लोड करें। फिर अपने टाइल सर्वर को रिफ्रेश करें ताकि सभी नई सुविधाओं को ओएस स्टाइल वाले डेटा के रूप में लोड किया जाए।
Mapperz

जवाबों:


5

परिचय

यह संभवतः डुप्लिकेट किए गए डेटा का पता लगाने और निकालने के लिए मैन्युअल रूप से महत्वपूर्ण मात्रा में काम करने की आवश्यकता होगी। जब आप डुप्लिकेट डेटा का पता लगा रहे हैं और हल कर रहे हैं; आप चाहते हैं कि दोनों स्रोत एक ही भू प्रारूप में हों: आकारबद्ध, पोस्टगिस डीबी, या ओएसएम डेटा के रूप में।

कार्यप्रवाह

निम्नलिखित वर्कफ़्लो डुप्लिकेट डेटा को मर्ज करने और हल करने से पहले OSM के रूप में डेटा के दोनों स्रोतों पर आधारित है।

OSM में डेटा परिवर्तित करने के लिए कुछ विकल्प हैं:

ए]

  1. आकार-प्रकार के डेटा को OSM में परिवर्तित करें, हालांकि आप चाहें। 2013 या बाद में जारी किए गए ogr2ogr के संस्करण (संस्करण 1.10 या बाद में, IIRC) भी SHP को OSM में बदल सकते हैं। वहाँ भी है ogr2osmजैसा कि आपने नोट किया था: ogr2osm के कुछ अलग संस्करण हैं, कोई फर्क नहीं पड़ता कि आप किसका उपयोग करते हैं - मुझे pnorman पसंद है , यह सबसे अद्यतित है। कोई फर्क नहीं पड़ता कि क्या, सुनिश्चित करें कि अनुवाद फ़ाइलें ogr2osm के संस्करण के साथ संगत हैं जो आप उपयोग कर रहे हैं (सादगी के लिए, जिन्हें मैंने लिंक किया है, उन्हें ogr2osm के संस्करण के साथ संगत होना चाहिए)। यहाँ अनुवाद फ़ाइलों के लिए उदाहरण के रूप में देखें जो pnorman के ogr2osm के साथ संगत हैं।

सुनिश्चित करें कि अनुवाद फ़ाइल उन सभी सूचनाओं के साथ पूरी हो जो आप अपने आकार में चाहते हैं। अनुवाद फ़ाइल आपके प्रकार और आकार की विशेषताओं को OSM कॉल टैग में बदल देगी , जिसमें कुंजी और मान शामिल होते हैं।

1 क। रन ओगर 2osm।

  1. ओपन josm , कन्फलेशन प्लगइन डाउनलोड करें

  2. आपका gov डेटा अब एक ऑस्म फाइल है। ओपन josm, फ़ाइल> ओपन आपका डेटा वहाँ एक परत के रूप में है।

  3. यदि आपके पास पहले से ही आपके कंप्यूटर पर स्थानीय रूप से संग्रहीत OSM डेटा है, तो इसे josm में खोलें, यह एक नई परत के रूप में भी खुलेगा।

  4. डेटा के इन दो स्रोतों को एक साथ विलय करना और डुप्लिकेट डेटा को हल करना टकराव के रूप में जाना जाता है । कॉन्फ्लिक्शन प्लगइन चलाएं और सभी विवादों को हल करें।

यदि JOSM मेमोरी से बाहर निकलता है (जैसे, बड़ी फ़ाइलों का उपयोग करते समय), अलग-अलग विशेषताओं के प्रकारों को अलग करें और इस वर्कफ़्लो को कई बार पूरा करें, प्रत्येक एक अलग तरह के डेटा (जैसे सीमाएँ और भूमि उपयोग; राजमार्ग; भवन), और फिर अंत में विलय करें। ऑस्मियम या किसी अन्य उपकरण का उपयोग करके ऑस्म फाइल।

B. JOSM शेपफाइल्स भी पढ़ सकता है, हालांकि SHP सपोर्ट सही नहीं है और यह तरीका मानता है कि शेपफाइल को पूरी तरह से लोड किया जा सकता है ...

  1. JOSM प्रारंभ करें।
  2. शेपफाइल (जैसे, filename.shp) खोलें ।
  3. सभी का चयन करे।
  4. JOSM में, उन विशेषताओं और गुणों को संपादित करें जो SHP से आयात किए गए थे, और उन्हें परिवर्तित करें ताकि प्रत्येक विशेषता OSM टैग के अनुरूप हो।
  5. OSM प्रारूप के रूप में सहेजें।
  6. A4 से जारी रखें और गोपनीय करें

OSM के रूप में आयात करें

सिस्टम में OpenStreetMap डेटा आयात करें:

  1. JOSM का उपयोग करके कनवर्ट की गई OpenStreetMap (OSM) फ़ाइलों वाली निर्देशिका में बदलें।
  2. डेटाबेस में निम्नलिखित कमांड निष्पादित करें:
    सृजन विस्तार की दुकान;
    osm2pgsql -j -W \
              -d ओसम फाइलन.ओएसएम

-jके रूप में यह निर्देश एक में टैग आयात करने के लिए osm2pgsql विकल्प कुंजी है hstore, इस अंतर्निहित डेटा संरचना संरक्षण स्तंभ और डेटाबेस में सभी टैग आयात करेगा।

Mapnik परत बनाएँ

मानचित्र पर डेटा दिखाई देने के लिए, उस परत के लिए एक परत और एक शैली जोड़ें। यह निम्नलिखित के रूप में सरल हो सकता है:

  1. संपादित करें mapnik-stylesheets/osm.xml
  2. समापन </Map>टैग से पहले निम्नलिखित XML कोड डालें ...

...

<Layer name="prefix_zone" status="on" srs="&osm2pgsql_projection;">
  <StyleName>zones</StyleName>
  <Datasource>
    <Parameter name="table">
    (select way from prefix_line order by tags desc, z_order) as zones
    </Parameter>
    &datasource-settings;
  </Datasource>
</Layer>

Mapnik शैली बनाएँ

पिछले अनुभाग से जारी:

  1. अंतिम </Style>टैग (लाइन 3350 के आसपास) का पता लगाएं ।
  2. &layer-shapefiles;निर्देश से पहले निम्नलिखित XML कोड डालें :

...

<Style name="zones">
  <Rule>
    &maxscale_zoom1;
    &minscale_zoom19;
    <LineSymbolizer stroke="#0065BD" stroke-width="2.5" />
  </Rule>
</Style>

Roadmatcher

रोडमेकर एक और उपकरण है जो सहायक हो सकता है


OpenJUMP 1.5.1 रोडमेकर 1.4 के साथ संगत नहीं है। OpenJUMP 1.3.1, जो RoadMatcher 1.4 का उपयोग कर सकता है, PostGIS 2.0 के साथ संगत नहीं है (क्योंकि OpenJUMP कॉल के find_extentबजाय st_find_extent)। डेटाबेस में PostGIS 2.0 स्थापित है।
डेव जार्विस

JOSM का OpenData प्लगइन शेपफाइल्स पढ़ता है: wiki.openstreetmap.org/wiki/JOSM/Plugins/OpenData
डेव जार्विस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.