অনুরূপ লাইনগুলির সাথে তুলনা করুন এবং স্তরগুলি আপডেট করুন


16

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

কিউগিস স্তরগুলি।

উদাহরণস্বরূপ: চিত্রের মাঝখানে, উভয় স্তরগুলিতে একটি বর্গক্ষেত্র রয়েছে, তবে আমি কীভাবে নীল রঙটিকে সবুজ রঙের সমান বলে চিহ্নিত করতে এবং সাম্প্রতিক স্তরটিকে আপডেট করতে মানচিত্রে কী করব?

আমি এটা কিভাবে করবো? এর সাথে কি কোনও প্লাগইন বা টুলস সাহায্য করে?


আপনি নীল স্তর থেকে বৈশিষ্ট্যযুক্ত বা নীল স্তর থেকে অতিরিক্ত বৈশিষ্ট্য সহ লাল স্তর আপডেট করতে চান?
dmh126

গুণাবলী। পরিস্থিতি: লাল স্তরটিতে কলামগুলি রয়েছে (ক, খ, সি, ডি) এবং নীল রঙের একটি কলাম (d, e, f)। আমি লাল স্তরটিতে অন্যান্য স্তর থেকে কলামগুলি (ই, এফ) যুক্ত করতে চাই এবং এর ফলাফলগুলি মেলে।
ঝোনাতন অলিভিরা

একটি কনফ্লেশন প্লাগইন জন্য এখানে কিছু ডকুমেন্টেশন আছে । উন্নয়ন সম্পন্ন হয়েছে কিনা তা নিশ্চিত নয়।
বারবারোসা

1
আপনি লাফানোর চেষ্টা করেছেন?
Radouxju

কিন্তু ব্লু লাইনের কলাম "ডি" এবং লালটির "ডি" একটি অনন্য সাধারণ আইডি? তারা কি ধারণ করে?
সার্জিও

উত্তর:


6

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

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

  1. ভাল জ্যামিতি সেট নিন (যেখানে আপনি বৈশিষ্ট্যগুলি শেষ করতে চান) এবং এটির একটি বাফার তৈরি করুন *

  2. প্রতিটি বাফারের বৈশিষ্ট্যগুলির মাধ্যমে পুনরাবৃত্তি করুন:

    2A। বৈশিষ্ট্যের সাধারণ ওরিয়েন্টেশন গণনা করুন (সর্বোচ্চ_আর - মিনিট_ই / সর্বোচ্চ_ x - মিনিট x বা এর মতো কিছু)

    2b। এই একক বৈশিষ্ট্যটি ব্যবহার করে অন্য স্তরে লোকেশন ক্যোয়ারী অনুসারে একটি নির্বাচন করুন

    1. আপনার কাছে একাধিক বৈশিষ্ট্য রয়েছে যা লোকেশন কোয়েরি অনুসারে নির্বাচনের সাথে মেলে, সুতরাং এই নির্বাচিত বৈশিষ্ট্যগুলির মাধ্যমে পুনরাবৃত্তি করুন এবং প্রত্যেকটির অভিযোজন গণনা করুন

    2. বাফারের বৈশিষ্ট্যের নিকটবর্তী যে কোনও বৈশিষ্ট্যটির একটি ওরিয়েন্টেশন রয়েছে তার থেকে বৈশিষ্ট্যগুলি পান।

* আমি খুব অল্প দূরত্ব (একটি মানচিত্রের একক বা কোনও কিছু) দিয়ে শুরু করব এবং এরপরে এই প্রক্রিয়াটি ক্রমবর্ধমান দূরত্বের সাথে চালাচ্ছি, আপনি ইতিমধ্যে স্থানান্তরিত কোনও বৈশিষ্ট্য ওভাররাইট না করার বিষয়ে সতর্ক থাকবেন।

** আপনি সম্ভবত সম্ভবত বাফার বৈশিষ্ট্য তৈরি করতে ভুলে যেতে পারেন এবং এটিতে একটি বাফার দূরত্বের সাথে অবস্থানের অনুসন্ধান অনুসারে নির্বাচন করুন। আমি কিউজিআইএস-এর সাথে খুব বেশি পরিচিত নই তবে আমি নিশ্চিত যে আপনি এটি করতে সক্ষম হবেন।

এটি আপনার সমস্ত বৈশিষ্ট্যের জন্য নিখুঁতভাবে কাজ করবে এমন কোনও উপায় নেই, তবে এটি একটি সূচনা এবং এরপরে এটি স্থানান্তর পরীক্ষা করে পরীক্ষা করার জন্য একটি ভাল QA / QC কৌশল বিকাশ করতে নেমে আসে।

এডিট সম্পর্কে আরও চিন্তাভাবনা করুন, এখানে একটি প্রাথমিক উদাহরণ যা সিস্টেমটি সম্পূর্ণরূপে ভেঙে ফেলবে যদি আপনি খুব ছোট বাফার দূরত্ব দিয়ে শুরু করেন এবং আমার প্রস্তাবিত অনুসারে সেরা মিলিত অভিযোজন সহ বৈশিষ্ট্যটি চয়ন করেন:

এখানে চিত্র বর্ণনা লিখুন

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

2 এডিট করুন ওফ, এই বহুভুজগুলি কি? আমার ধারণা আমি কেবল ধরে নিয়েছি যে তারা ধূসর পটভূমিতে লাইন were যদি তারা বহুভুজ হয়, তবে আমি সত্যিই জানি না যে এই ওরিয়েন্টেশন ধারণাটি ভাল। তবে আপনি সমস্ত ছেদযুক্ত বৈশিষ্ট্যগুলি নির্বাচন করতে পারেন এবং সর্বাধিক ওভারল্যাপ রয়েছে এমনটি খুঁজে বের করতে পারেন (ইউনিয়ন ধরণের একটি সরঞ্জাম চালান এবং তারপরে বৃহত্তম অঞ্চল সহ বহুভুজটি ব্যবহার করুন ...)।


সেই যুক্তিটি সুস্পষ্ট। আমি সি # / আর্কওবজেক্টসগুলিতে একটি অনুরূপ পদ্ধতির ব্যবহার করেছি কোনও গুণাবলী ছাড়াই একটি নির্ভুল ডেটাসেটে অ্যাট্রিবিউটস সহ একটি ভুল ডেটাसेट থেকে বৈশিষ্ট্য অনুলিপি করতে ... 95% সঠিক। শক্ত অঞ্চলগুলিতে ম্যানুয়াল চেকিং / ফিক্সিং প্রয়োজনীয় ছিল তবে এটি ম্যানুয়ালি করার চেয়ে অবশ্যই তাড়াতাড়ি ছিল।
মাইকেল সিলিমসন

2

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

আমি এখানে সে সম্পর্কে লিখেছি ।

  1. লেয়ার প্যানেলে আপনার লাল শেফফাইল স্তরটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি নির্বাচন করুন ।
  2. তারপরে জয়েন ট্যাবে যান।
  3. প্রেস + + বোতাম, এটা নতুন যোগদানের তৈরি করে দেব।
  4. জয়েন স্তরটি আপনার লাল শেফফাইল স্তর। উভয় ক্ষেত্রে সাধারণ মানের সাথে ফিল্ড হ'ল জয়েন ফিল্ড। লক্ষ্য ক্ষেত্র হ'ল আপনার ক্ষেত্রটি আপনি নীল স্তর থেকে যোগ দিতে চান।
  5. এর পরে আপনি আপনার শেফফিলস সারণিতে একটি নতুন বৈশিষ্ট্য পাবেন।

এটাই.

স্ক্রিনশট সহ এখানে আপনার একটি উদাহরণ রয়েছে।


1

আমি @ dmh126 থেকে উত্তরটি বেশি পছন্দ করি কারণ তার পদ্ধতিটি আপনার লাল_লাইন স্তরটি খুব সহজেই আপডেট হতে দেয় ।

কেবল একটি বিকল্প যুক্ত করতে, আপনি প্রসেসিং সরঞ্জামবাক্স থেকে জয়যুক্ত বৈশিষ্ট্য সারণী সরঞ্জামটি ব্যবহার করতে পারেন এবং সাধারণ স্তর সহ আপনার স্তরগুলি নির্বাচন করতে পারেন। নোট করুন যে এই পদ্ধতিটি বিদ্যমানটিকে আপডেট করার পরিবর্তে একটি নতুন শেফফাইল তৈরি করে :

বৈশিষ্ট্য সারণীতে যোগদান করুন


0

যদি আপনার উভয় স্তরে কিছু অনন্য আইডি থাকে যা আপনি সহজেই পুরানো থেকে নতুন স্তরে মানগুলিতে যোগ দিতে পারেন তবে এটি কেকের অংশ। তবে এটি সেই ক্ষেত্রে মনে হয় না।

যদি তা না হয় তবে এটি বেশ কঠিন সমস্যা। আমি ভাবছি কেন 30304 ব্যবহারকারীর থেকে ওপেনজাম্প এবং প্লাগইন http://www.vividsolutions.com/products.asp?catg=spaapp&code=roadmatcher ব্যবহার করার পরামর্শ দেওয়ার কারণে মন্তব্যটি উত্তর হিসাবে পোস্ট করা হয়নি কারণ এ ক্ষেত্রে এটি আমার কাছে পুরোপুরি বৈধ বলে মনে হচ্ছে।

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

একটি পদ্ধতির ক্ষেত্রে নীল রেখার সাথে কিছুটা যুক্তিসঙ্গতভাবে বড় রেখার বড় বাফারটির তুলনা করা এবং ম্যাচের বৈশিষ্ট্য এবং এটি কতটা মিলছে তার অনুপাত পেতে। সিউডো কোডে:

for r_line in red_lines:
  r_line_buf = r_line.buffer()
  intersecting_b_lines = []
  for b_line in blue_lines:
    if r_line_buf.intersects(b_line):
      intersect_length = calculateIntersectionLength(r_line_buf,b_line)
      b_line_values = getAttributes(b_line)
      intersecting_b_lines.append((b_line_values,intersect_length))
  b_line_best_fit = findLongestLineWithinIntersected(intersecting_b_lines)
  r_line_length = r_line.length
  b_vs_r_line_ratio = compareLength(r_line_length,b_line_best_fit)
  saveToNewColumns(r_line, b_line_best_fit.Atribute1, b_line_best_fit.Atribute2..., b_vs_r_line_ratio)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.