ওপেনস্ট্রিটম্যাপে সংস্করণ দেওয়ার জন্য কীভাবে?


11

আরও সাধারণ অর্থে জিওপ্যাটিয়াল ডেটা পরিচালনার বিষয়টি এখানে আগে উঠে এসেছে । সংস্করণকরণের বিষয়টি সেখানেও উল্লেখ করা হয়েছিল, তবে বাস্তবে এর সাথে মোকাবিলা হয়নি।

Ditionতিহ্যবাহী জিওস্প্যাটিয়াল ডেটা সংগ্রহ এবং রক্ষণাবেক্ষণের জন্য কেবল অভ্যন্তরীণভাবে সংস্করণ করা দরকার, কারণ কেবলমাত্র সংস্থার মধ্যেই ডাটাবেস আপডেট করা হয়। ওপেনস্ট্রিটম্যাপের মতো ভিড়ের উত্সযুক্ত জিওডাটাবেজে এটি নয়। সেখানে, যে কেউ আসতে পারে এবং অবজেক্টগুলি যুক্ত করতে, সংশোধন করতে বা মুছতে পারে। ওপেনস্ট্রিটম্যাপে এটি একটি প্রাথমিক পদ্ধতিতে মোকাবেলা করা হয়: প্রতিটি বস্তুর একটি পূর্ণসংখ্যার সংস্করণ নম্বর থাকে এবং কেবলমাত্র লাইভ ডাটাবেসে সর্বোচ্চ সংস্করণযুক্ত অবজেক্টটি প্রকাশিত হয়। ডাটাবেসটি আশাবাদী লকিং ব্যবহার করে, তাই ব্যবহারকারীরা অবদানগুলি ম্যানুয়ালি আপলোড করার সময় ঘটে যাওয়া সমস্ত বিবাদগুলি সমাধান করতে হবে।

সম্পাদকগণের মাধ্যমে মানুষের অবদান ( JOSM , পটল্যাচ ) অবদানের একমাত্র উপায় - এইগুলি যথাযথভাবে কাজ করে তবে তা তা নয়। ক্রমবর্ধমান, উন্মুক্ত পাবলিক সেক্টরের ডেটা আমদানি করা হয়। এগুলি আরও জটিল সংস্করণ সংক্রান্ত সমস্যা তৈরি করে। নিম্নলিখিত পরিস্থিতিতে বিবেচনা করুন:

  1. একটি উন্মুক্ত পাবলিক সেক্টরের ডেটাসেট থেকে একটি বিল্ডিং অবজেক্ট আমদানি করা হচ্ছে
  2. বিল্ডিংটি মানুষের অবদানকারীদের (বৈশিষ্ট্য, জ্যামিতি বা উভয়) কিছু পরিবর্তন পেয়েছে
  3. পাবলিক সেক্টরের ডেটাগুলির একটি নতুন সংস্করণ উপলভ্য হয়ে যায় এবং আমদানি করা হয়।

বর্তমানে, ৩ য় ধাপে মানুষের অবদানগুলি নষ্ট হয়ে যাবে, যদি না সম্প্রদায় পরিবর্তনগুলি গ্রহণ করে এমন প্রতিটি বিল্ডিং ম্যানুয়ালি নতুন আমদানির সাথে একত্রীকরণ না করে।

ওপেনস্ট্রিটম্যাপ কীভাবে এই পরিস্থিতি মোকাবেলা করতে পারে? আমাদের কি সফ্টওয়্যার বিকাশে বিতরণিত সংস্করণ নিয়ন্ত্রণের দিকে নজর দেওয়া দরকার? বিতরণকৃত স্থানিক ডেটা রক্ষণাবেক্ষণের জন্য ডিভিসির পদ্ধতিগুলি কীভাবে মানিয়ে নেওয়া যায়?

উত্তর:


5

আমি স্বপ্ন দেখেছি যে কেউ জিআইএস ডেটার জন্য অ-ধ্বংসাত্মক সম্পাদনা প্রয়োগ করছে। এটি গণনা নিবিড় তবে একটি আরডিবিএমএসে প্রয়োগ করা কঠিন হওয়া উচিত নয়।

ডেটা একটি স্ন্যাপশট দিয়ে শুরু করুন। কোনও পরিবর্তন সম্পাদনা হিসাবে সংরক্ষণ করা হয়, মূল ডেটা অপরিবর্তিত থাকে। আপনার উদাহরণে, ভবনগুলি প্রাথমিকভাবে সরকারী খাতের ডেটা থেকে আসে। যখন কোনও ব্যবহারকারী কোনও সম্পাদনা করেন, পরিবর্তন বা পার্থক্যটি একটি পৃথক সারণীতে সংরক্ষণ করা হয়। কেউ যখন বৈশিষ্ট্যটি দেখেন তখন তাদের মূল প্লাস দেওয়া হয় এবং প্রয়োগগুলি সম্পাদনা করা হয়। পরবর্তী সম্পাদনাগুলি নতুন বৈশিষ্ট্য আকৃতি এবং মূল প্লাস সমস্ত পূর্ববর্তী সম্পাদনের মধ্যে গণিত পার্থক্য।

এটি আপনাকে সূক্ষ্ম-স্তরের স্তরে পূর্বাবস্থায় ফেলার ক্ষমতা দেয়। এটি মূলত সংস্করণ নিয়ন্ত্রণ কী করে। অ-ধ্বংসাত্মক সম্পাদনার একটি ভাল উদাহরণ হ'ল অ্যাপলের অ্যাপারচার। অ্যাপারচারে আমদানি করা ডিজিটাল চিত্রগুলি সরাসরি সংশোধিত হয় না। স্তরের পরিবর্তন, তীক্ষ্ণকরণ, অস্পষ্টতা ইত্যাদি সম্পাদনা হিসাবে সংরক্ষণ করা হয় এবং আপনি যখন কোনও চিত্রের সাথে কাজ করেন তখন ফ্লাইতে প্রয়োগ করা হয়। যে কোনও পরিবর্তন তাত্ক্ষণিকভাবে সরানো যেতে পারে।

অবশ্যই, আপনি পরিবেশ পরিবেশে বিতরণ এবং ব্যবহারের জন্য ডিবি-এর স্ন্যাপশট নেবেন। এটি কেবল উন্নয়ন এবং সম্পাদনার জন্য।

কটাক্ষপাত ভারশনিং PostGIS , pgVersion এবং পোস্ট ফ্যাক্টো ধারণা ও সম্ভাব্য সমাধানের জন্য। এগুলি পোস্টগ্রেএসকিউএল ডেটাবেজে প্রয়োগ করা সংস্করণ নিয়ন্ত্রণ সিস্টেম।


3

ওএসএম Postgres এবং Postgis ব্যবহার করে যা ডাটাবেসের একটি স্ন্যাপশট রাখে।

এটি আপনার নিজের সার্ভার এবং ডাটাবেসে প্রয়োগ করতে

http://wiki.openstreetmap.org/wiki/Databases#Choice_of_DBMS

ডাটাবেস (প্ল্যানট.ওসেম) সাপ্তাহিক http://wiki.openstreetmap.org/wiki/Planet_dump আপডেট করা হয়

আস্রবণ করতে ব্যবহৃত হয়"এটিতে ডাটাবেস এবং ফাইল থেকে পড়া, ডাটাবেসে লেখার জন্য উপাদান এবং ফাইল করার উপাদান রয়েছে, উপাত্ত উত্সে পরিবর্তন সেট আনার এবং প্রয়োগের উপাদান রয়েছে"

http://wiki.openstreetmap.org/wiki/Osmosis

পরিবর্তনগুলি: http://wiki.openstreetmap.org/wiki/Osmosis/ বিবরণ_কাজ


0

আমি যদিও এই সমস্যাটি সম্পর্কে এবং আমার একটি ধারণা ছিল, তবে এটি পরীক্ষিত হয়নি। এটি কাজ করতে পারে:

মার্চুরিয়াল বা গিটের মতো সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করুন। মার্চুরিয়াল সহজ হবে, যেহেতু এটি সহজেই বেনামে শাখা তৈরি করতে দেয়।

এখন, প্রাথমিক সংশোধন থেকে পাবলিক ডেটাसेट আমদানির জন্য একটি শাখা শুরু করুন। সুতরাং, 2 টি শাখা থাকবে:

  1. মূললাইন (ওএসএম)
  2. পাবলিক ডেটাসেট এক্স

পাবলিক ডেটাसेट থেকে আমদানিটি শাখা 2 এ করা উচিত, তারপরে ওএসএম শাখায় মার্জ করা উচিত।

আপনার পরিস্থিতি এটির মতো কাজ করতে পারে:

  • একটি বস্তুর অস্তিত্ব ছিল না
  • তারপরে এটি আমদানি করা হয় এবং শাখা 1 এ মার্জ করা হয়
  • তারপরে এটি জ্যামিতি সহ মূল লাইনে পরিবর্তিত হয়
  • এটি আবার শাখা 2 এ আমদানি করা হয়েছে
  • যখন এটি শাখা 1 এ একীভূত হবে, তখন কেবল শাখা 2 তে আপডেট হওয়া তথ্যটি শাখা 1 এ আপডেট করা হয়

এটির জন্য একাধিক ফাইলগুলিতে ডেটা বিভক্ত করা প্রয়োজন হতে পারে, প্রতিটি বস্তুর জন্য একটি এবং সম্ভবত জসসনের মতো একটি ফর্ম্যাটে, যাতে ভিসিএস সহজেই পৃথক বৈশিষ্ট্যের পরিবর্তনের সাথে ডিল করতে পারে।

{
     id: 1357
     lat: 1,
     lon: 2,
     tags: {
          'building': 'entrance'
     }
     type: 'node',
}
{
     nodes: [
         1357,
         2468
     ],
     tags: {
         building: 'yes',
     }
     type: 'way',
}

আমি জানি যে কোনও বিলিয়ন ফাইলে তথ্য বিভক্ত করা যে কোনও সিস্টেমের পক্ষে খুব বেশি। পরিবর্তে ভিসিএসের মূল ব্যবহার করা উচিত এবং ওএসএম ডেটা প্রক্রিয়াকরণ করা উচিত এবং একটি সংস্করণযোগ্য ফর্মের মধ্যে ভিসিএসে খাওয়ানো উচিত। (বা একটি ফাইল সিস্টেমের উপহাস করা যেতে পারে)।

আমি গ্যারান্টি দিতে পারি না এটি কাজ করবে।

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