ওএসএম ডেটার সাথে প্রাইভেট শেফফিল ডেটা কনফ্লেট (মার্জ) করুন


11

পটভূমি

জিওফ্যাব্রিক থেকে অ্যালবার্টা ওএসএম ডেটা ডাউনলোড হয়েছে এবং এটি পোস্টগ্র্রেএসকিউএল ৯.১, পোস্টজিআইএস ২.০, ম্যাপনিক ২.১.০, ওএসএমপিজকিএসএল, অ্যাপাচি ২, মোড_টাইল, রেন্ডারড এবং ওপেনলায়ার্স ব্যবহার করে একটি প্রাইভেট লিনাক্স সার্ভারে চলছে:

ডেটা osm2pgsqlনিম্নরূপ ব্যবহার করে আমদানি করা হয়েছিল :

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

সমস্যা

আলবার্তার জন্য ওএসএম ডেটা অসম্পূর্ণ। আমাকে শেফফিলের একটি সেট দেওয়া হয়েছিল যা ওএসএম ডেটার উপরে উন্নতি করে:

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

গ্রাম, নগর অঞ্চল, পৌর জেলা সীমানা, এবং আরও কিছু জন্য প্লাস অতিরিক্ত শ্যাফিল ফাইল। আমি সফলভাবে একটি পিজিএডমিন প্লাগইন ব্যবহার করে পোস্টগ্রাইএসকিউএলে শেফফিলগুলি আমদানি করেছি । 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]]

শেফফাইল ডেটা এবং ওপেনস্ট্রিটম্যাপ (ওএসএম) ডেটার প্রত্যেকের নিজস্ব ডেটাবেস রয়েছে তবে আমি বিশ্বাস করি যে আমি ওএসএম ডাটাবেসে শেফফাইল ডেটা আমদানি করতে চাই। (এটি একটি বেসরকারী সার্ভার এবং ওএসএম ডেটার স্থানীয় কপি; আকৃতি ফাইলটি আইনত ভাগ করে নেওয়া যায় না))

আপডেট # 1

স্পষ্টতই, শেফফাইলে রাস্তা থাকে না: কেবল পৌরসভা সীমানা (এটি অবশ্যই ওএসএম ডেটার অংশ নয়), শহরগুলি (যার মধ্যে কিছুগুলি ওএসএম ডেটার অংশ) এবং বৃহত্তর শহরগুলির জন্য শহরের সীমানা (যার মধ্যে কয়েকটি সম্ভবত) ওএসএম ডেটার সাথে দ্বন্দ্ব)।

প্রশ্ন

ওএসএম ডেটার সাথে আমি কীভাবে শেফফাইল ডেটাটি মার্জ করব যাতে নতুন শহরগুলি মানচিত্রে উপস্থিত হয়?

দ্রষ্টব্য: আমার মূল উদ্বেগ হ'ল সদৃশ ডেটা সমাধান করা (যেমন, এডমন্টন ওএসএম এবং সংগ্রহ করা শেফফাইলে উভয় তালিকাভুক্ত)।

সম্পর্কিত লিংক

ধন্যবাদ!


ওএসএম ট্যাগগুলি ব্যবহার করে আপনার শেফফিলগুলি পোস্টগিজগুলিতে লোড করুন - উইকি.ওপেনস্ট্রিটম্যাপ.আর / উইকি / কানাডিয়ান_ট্যাগিং_ গাইডলাইনস নামকরণের পরে আপনার টাইল সার্ভারটি রিফ্রেশ করুন ওস স্টাইলযুক্ত ডেটা হিসাবে সমস্ত নতুন বৈশিষ্ট্য লোড করা উচিত।
ম্যাপারজ

উত্তর:


5

ভূমিকা

সদৃশ ডেটা সনাক্ত এবং মুছে ফেলার জন্য এটি সম্ভবত ম্যানুয়ালিভাবে কাজের পরিমাণের প্রয়োজন হবে। আপনি যখন সদৃশ ডেটা সনাক্ত এবং সমাধান করছেন; আপনি উভয় উত্স একই জিও ফর্ম্যাটে থাকতে চান: শেফফিল, পোস্টজিআইএস ডিবি, বা ওএসএম ডেটা হিসাবে।

কর্মধারা

নিম্নলিখিত কর্মপ্রবাহটি ডুপ্লিকেট ডেটা মার্জ করার এবং সমাধান করার আগে ওএসএম হিসাবে উভয় ডেটার উত্স থাকার উপর ভিত্তি করে।

তথ্যকে ওএসএম-তে রূপান্তর করার জন্য কয়েকটি বিকল্প রয়েছে:

এক]

  1. আপনি চাইলে শেফফাইল ডেটা ওএসএম এ রূপান্তর করুন। 2013 বা তার পরে প্রকাশিত ogr2ogr এর সংস্করণগুলি (সংস্করণ 1.10 বা তার পরে, আইআইআরসি) এসএইচপিকে ওএসএম রূপান্তর করতে পারে। এর রয়েছে ogr2osmযেমন আপনি উল্লিখিত করেছেন: সেখানে ogr2osm দুয়েক বিভিন্ন সংস্করণ আছে, কোন ব্যাপার আপনি কোনটি ব্যবহার করেন - আমি পছন্দ pnorman এর , এটা সবচেয়ে আপ-টু-ডেট আছে। যাই হউক না কেন, নিশ্চিত করুন যে অনুবাদ ফাইলগুলি আপনি যে ওগ্রে 2osm সংস্করণটি ব্যবহার করছেন তার সাথে সামঞ্জস্যপূর্ণ (সরলতার জন্য, যেগুলির সাথে আমি সংযুক্ত করেছি সেগুলি ওগ্রোওসোম সংস্করণের সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত)। অনুবাদ ফর্মগুলির উদাহরণ হিসাবে এখানে দেখুন যা নরমন এর ওগ্রোসোমের সাথে সামঞ্জস্যপূর্ণ।

আপনার শেফফাইলে আপনি যে সমস্ত তথ্য চান তা অনুবাদ ফাইলটি সম্পূর্ণরূপে নিশ্চিত করুন। অনুবাদ ফাইলটি আপনার টাইপ এবং শেফফিলের বৈশিষ্ট্যগুলিকে ওএসএম কল হিসাবে ট্যাগগুলিতে রূপান্তরিত করে , যা কী এবং মানগুলি অন্তর্ভুক্ত করে।

1A। ogr2osm চালান।

  1. ওপেন josm , conflation প্লাগইন ডাউনলোড

  2. আপনার সরকারী ডেটা এখন একটি অসম ফাইল। জোসম খুলুন, ফাইল> ওপেন করুন আপনার ডেটা স্তর হিসাবে রয়েছে।

  3. যদি আপনার কম্পিউটারে ইতিমধ্যে ওএসএম ডেটা স্থানীয়ভাবে সঞ্চিত থাকে তবে এটি জোসেমে খুলুন, এটি একটি নতুন স্তর হিসাবেও খুলবে।

  4. এই দুটি উত্সের ডেটা একসাথে একত্রিত করা এবং সদৃশ ডেটা সমাধান করার বিষয়টি কনফ্লেশন হিসাবে পরিচিত । কনফ্লেশন প্লাগইন চালান এবং সমস্ত দ্বন্দ্ব সমাধান করুন।

যদি জেএসএম মেমরির বাইরে চলে যায় (উদাহরণস্বরূপ, বড় ফাইলগুলি ব্যবহার করার সময়), বৈশিষ্ট্যের ধরণগুলি পৃথক করুন এবং এই ওয়ার্কফ্লোটি একাধিকবার সম্পূর্ণ করুন, প্রতিটি আলাদা আলাদা ডেটা (যেমন সীমানা এবং জমির ব্যবহার; মহাসড়ক; বিল্ডিং) সহ, এবং শেষ পর্যন্ত মার্জ করুন osmium বা অন্য কোনও সরঞ্জাম ব্যবহার করে osm ফাইলগুলি একসাথে।

বি। জসোম আকস্মিক ফাইলগুলি পড়তে পারে যদিও এসএইচপি সমর্থনটি নিখুঁত নয় এবং এই পদ্ধতিটি ধরে নেয় শেফফাইলটি পুরোপুরি মেমরিতে লোড করা যায় ...

  1. JOSM শুরু করুন।
  2. শেফফাইলটি খুলুন (যেমন, filename.shp)।
  3. সমস্ত নির্বাচন করুন।
  4. JOSM এ, SHP থেকে আমদানিকৃত বৈশিষ্ট্য এবং বৈশিষ্ট্যগুলি সম্পাদনা করুন এবং সেগুলিকে পরিবর্তন করুন যাতে প্রতিটি বৈশিষ্ট্য একটি ওএসএম ট্যাগ সম্পর্কিত।
  5. ওএসএম ফর্ম্যাট হিসাবে সংরক্ষণ করুন।
  6. এ 4 থেকে চালিয়ে যান এবং বিবাদ করুন

ওএসএম হিসাবে আমদানি করুন

নিম্নলিখিত হিসাবে সিস্টেমে ওপেনস্ট্রিটম্যাপ ডেটা আমদানি করুন:

  1. ওপেনস্ট্রিটম্যাপ (ওএসএম) ফাইলগুলি JOSM ব্যবহার করে রূপান্তরিত ডিরেক্টরিতে পরিবর্তন করুন।
  2. ডাটাবেসে নিম্নলিখিত কমান্ডগুলি প্রয়োগ করুন:
    বিস্তৃত বিবরণ তৈরি করুন;
    osm2pgsql -j -W \
              -d osm filename.osm

-jযেমন নির্দেশাবলী একটি মধ্যে ট্যাগ আমদানি করতে osm2pgsql বিকল্প চাবিকাঠি hstore, এই অন্তর্নিহিত ডাটা স্ট্রাকচার সংরক্ষণের কলাম এবং ডাটাবেস সব ট্যাগ আমদানি করবে।

ম্যাপনিক লেয়ার তৈরি করুন

মানচিত্রে ডেটা উপস্থিত হওয়ার জন্য, স্তরটির জন্য একটি স্তর এবং একটি শৈলী যুক্ত করুন। এটি নিম্নলিখিতগুলির মতো সহজ হতে পারে:

  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>

ম্যাপনিক স্টাইল তৈরি করুন

পূর্ববর্তী বিভাগ থেকে অবিরত:

  1. শেষ </Style>ট্যাগটি (প্রায় 3350 লাইনের) সন্ধান করুন।
  2. &layer-shapefiles;নির্দেশের আগে নিম্নলিখিত এক্সএমএল কোডটি সন্নিবেশ করান :

...

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

Roadmatcher

রোডমেচার আরেকটি সরঞ্জাম যা সহায়ক হতে পারে


ওপেনজাম্প 1.5.1 রোডম্যাচার 1.4 এর সাথে সামঞ্জস্যপূর্ণ নয়। ওপেনজাম্প ১.৩.১, যা রোডম্যাচার ১.৪ ব্যবহার করতে পারে, পোস্টজিআইএস ২.০ এর সাথে সামঞ্জস্যপূর্ণ নয় (কারণ ওপেনজাম্প কলগুলির find_extentপরিবর্তে st_find_extent)। ডাটাবেসে PostGIS 2.0 ইনস্টল করা আছে।
ডেভ জার্ভিস

JOSM- র ওপেনডাটা প্লাগইনটি শেফফিলগুলি পড়ে: উইকি.ওপেনস্ট্রেটম্যাপ.আর
ডেভ জার্ভিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.