কিভাবে একটি রাউটেবল নেটওয়ার্ক সহজ করতে?


24

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

পোস্টজিআইএস বা গ্রাসে এটি কীভাবে অর্জন করা যায়? অথবা এর মতো নেটওয়ার্কটি স্বয়ংক্রিয়ভাবে সহজ করার জন্য আরও ভাল কোনও পন্থা রয়েছে?

আমি ইতিমধ্যে ST_SnapToGrid ফাংশনটি চেষ্টা করেছি তবে ফলাফলের সাথে আমি সন্তুষ্ট নই (ধূসর = মূল, কালো = ছিটানো):

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


1
আপনি কি নেটওয়ার্ক-ভিত্তিক বিশ্লেষণকে সহজ করার জন্য বা প্রদর্শনের উদ্দেশ্যে এটি করছেন? যদি এটি প্রাক্তন হয় তবে কী বিশ্লেষণ করা হবে?
whuber

এটি সবচেয়ে স্বল্পতম বিশ্লেষণের জন্য।
আন্ডার ডার্ক

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

আপনি কি প্রান্তের জ্যামিতিটি বজায় রাখতে চান (যেমন বক্ররেখা) বা কেবল টপোলজি বজায় রাখছেন + নোড XY যথেষ্ট? এছাড়াও, আপনার কি বিভিন্ন জেডে (যেমন ফ্লাইওভার) নোডগুলি একসাথে স্ন্যাপ না করে তা নিশ্চিত করা দরকার?
আনসারজিআইএস

টপোলজি কী। জ্যামিতি কিছুটা বদলে যেতে পারে। জেড অর্ডার অক্ষত থাকতে হবে।
আন্ডার ডার্ক

উত্তর:


7

আমি এখন পর্যন্ত কাছে এসেছি:

v.clean input=roads output=snap5rmline tool=snap,rmline thresh=5 

এটি 5 মিটার সহনশীলতার সাথে রাস্তাগুলি ছড়িয়ে দিচ্ছে এবং সমস্ত শূন্য দৈর্ঘ্যের লাইনগুলি সরিয়ে ফেলছে। এটি কোনও অনুকূল সমাধান নয় যেহেতু এটিকে কিছু শীর্ষবিন্দুতে এলোমেলোভাবে স্ন্যাপ বলে মনে হচ্ছে।

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


নিশ্চয় ফলাফলের হয়তো সঠিক নয় কিন্তু ব্যবহারের v.clean মজার, ভাগ করে নেওয়ার জন্য ধন্যবাদ
simo

সেই চিত্র কি ঘাসে তৈরি?
নেটকন্সট্রাক্টর.কম

চিত্রটি কিউজিআইএস-এ ভিজ্যুয়ালাইজড জিআরএসএস ভি ক্লেইনের ফলাফল দেখায়।
আন্ডার ডার্ক

"অদ্ভুত ছেদ" বা গ্রেড পৃথক রাস্তা বজায় রাখার কোনও সমস্যা?
দাসৌকি

V.clean এর পরে ST_SnapToGrid প্রক্রিয়াজাতকরণ সম্পর্কে কীভাবে?
kttii

5

আপনি গ্রাস v.generalize চেষ্টা করেছেন ?

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

এবং অতিরিক্ত প্যারামিটার হিসেবে threshold, degree_thresh, angle_thresh(মনোনীত অ্যালগরিদম উপর নির্ভর করে) আপনি একটি সঠিক ফলাফল পেতে সাহায্য করতে পারে।

এখানে একটি টিউটোরিয়াল আসে ।


লিঙ্ক করার জন্য আপনাকে ধন্যবাদ। আমি এটি চেষ্টা করে দেখছি যদিও আমি যে পদ্ধতি এবং প্রান্তিক মানগুলির সংমিশ্রণটি সন্ধান করছি তা আসলেই পাবে না will
আন্ডার ডার্ক

আমি সত্যিই একটি v.generalize পদ্ধতি খুঁজে পাচ্ছি না যা আমার যা করতে চায় তা করবে।
আন্ডার ডার্ক

2
এটি দুঃখের বিষয়, কমান্ডটি অনেক অ্যালগরিদম সমৃদ্ধ তবে আপনি যেমন আগে বলেছিলেন, প্রত্যাশিত ফলাফল পাওয়ার জন্য এটি সেট আপ করা সম্ভবত বেশ জটিল। সম্ভবত কোন জেনারালাইজেশন আলগোরিটম গুরু, এখানে? আপনি কি সাপ পদ্ধতি ব্যবহার করে দেখেছেন ?
সিমো

এখানে কোনও অ্যালগো-গুরু নয়, তবে আমি অতীতে বানানো আমার কিছু ভি। জেনারালাইজ রানগুলির জন্য সাপগুলির পদ্ধতিটি সেরা খুঁজে পাই।
11:30 এ ম্যানেজিং

1
রেকর্ডের জন্য, গ্রাস এসভিএন-তে প্যারামিটারগুলি আজ সরল করা হয়েছে। গ্রাসের অংশ হতে 6.4.2।
মার্কাসএন

4

আমি এটি করিনি তবে আমি মনে করি আমি কোনও দিকনির্দেশনার পরামর্শ দিতে পারি।

  1. আপনার গ্রাফের জন্য পোস্টজিআইএস দিয়ে টপোলজি তৈরি করুন।
  2. মাত্র দুটি প্রান্তযুক্ত সমস্ত নোড সন্ধান করুন।
  3. প্রান্তগুলি নিরাময় করুন।

ST_ModEdgeHeal এক প্রান্তটিকে অন্য প্রান্তে একীভূত করবে। ST_NewEgegeeal উভয়কে নতুন প্রান্তে প্রতিস্থাপন করবে।

পোস্টজিআইএস টপোলজি ম্যানুয়াল


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

@ উন্দরদার্ক, আমি সাধারণ কিছু দেখছি না। আপনি এটি পিএল / এসকিউএল এ সমস্ত করতে পারেন তবে এটি সম্ভবত সাহায্য করে না। আপনি কি প্রথমে ST_SnapToGrid চালাতে পারবেন?
শান

1

@unddark, আমি দেখতে পাচ্ছি যে আপনি Sextante এ লাইনগুলি ঘন করার জন্য একটি সরঞ্জাম লিখেছেন । সুতরাং আমি আপনার বিন্দুগুলির কোনও একটি "এলোমেলো" এড়ানোর জন্য নীচের অ্যালগরিদমটি প্রস্তাব করছি।

আপনি যে দৈর্ঘ্যের অংশগুলি তাদের দৈর্ঘ্যের উপর ভিত্তি করে মুক্তি পেতে চান তা নির্বাচন করুন।

এই বিভাগগুলির প্রত্যেকের জন্য, মাঝারি বিন্দুতে একটি বিন্দু তৈরি করুন

ছোট অংশটি মুছুন

এখন আপনি PostGIS এ ST_Snap ব্যবহার করতে পারেন (উদাহরণ এখানে দেখুন )

সম্পাদনা: নোট করুন যে আপনার ক্ষেত্রে, আপনি v.net ও ব্যবহার করতে পারেন সিউডো-নোডগুলি সরিয়ে ফেলতে প্রথমে করতে পারেন (নোড যা কেবল দুটি লাইন সংযুক্ত করে)


দয়া করে বিশদ নোডগুলি অপসারণ করতে কীভাবে v.net ব্যবহার করা যেতে পারে তা বিশদ করুন। ধন্যবাদ
ওস্মিত

0

ওপেনজাম্প বিকাশকারী তালিকায় মাইকেল মাইকেল কীভাবে এটি বিশ্লেষণ করেছেন তা ফরোয়ার্ড করে:

> Interesting question. There has been so much research works about
> generalization that it is surely not a simple task. I have tested the
> following approach with mitigated results :
> - make the layer planar with the noder plugin
> - detect small cycles with the graph plugin
> - merge adjacent cycles
> - create a point inside each cycles surface
> - remove network segments along these cycles (query + DE-9IM)
> - detect roads touching the cycles
> - project the center points of cycles to the road endpoints ==> replace small roundabout by simple nodes
> 
> Possible improvements (probably need a dedicated plugin)
> - make it work on non planar graph (or just remove bridges/tunnels from the graph)
> - replace small edges between two nodes with degree 3+ by a single node,    not only small cycles
> - process iteratively starting with smallest edges/cycles

এই উত্তর পোস্ট করার জন্য আপনাকে ধন্যবাদ। আমি গ্রাফিককে প্ল্যানারে চাপিয়ে দেবে কেন আমি কিছুটা বিভ্রান্ত। সর্বোপরি, রাস্তার নেটওয়ার্কগুলি প্ল্যানার গ্রাফ নয় (সেতু, টানেল)।
আন্ডার ডার্ক

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

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