পয়েন্টগুলি স্বয়ংক্রিয়ভাবে স্ন্যাপ করে?


19

আমার দুটি ভেক্টর শেফফাইল রয়েছে: একটি ফাইল হ'ল ম্যানহোলগুলি উপস্থাপনের পয়েন্ট এবং অন্যটি ম্যানহোলগুলি থেকে আগত পাইপের প্রতিনিধিত্বকারী একটি পললাইন ফাইল line আমার নিকটতম ম্যানহোলের একটি নির্দিষ্ট দূরত্বে লাইনগুলি স্ন্যাপ করতে হবে।

ম্যানুয়ালি না করে এটি সম্পাদন করার সহজ উপায় কি আছে?

লাইন -> পয়েন্ট

হালনাগাদ

আলেকজান্দ্রির অনুসারে আমি আমার শেফফিলগুলি স্থানিক বিন্যাসে রফতানি করেছি। পরবর্তী কি হবে তা নিশ্চিত নয়।

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

আপডেট # 2 আমি একটি নতুন ডিবি ফাইল তৈরি করেছি এবং স্প্রেটিয়ালাইট-গুঁই ব্যবহার করে নতুন ডিবিতে শেফফিলগুলি আমদানি করেছি, আমি আমার এসকিউএল কোয়েরিটি সামঞ্জস্য করেছি তবে আপনি দেখতে পাচ্ছেন যে আমি একটি ত্রুটি পেয়েছি "এ জাতীয় কোনও কলাম নেই: f.geom"

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


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

আমি একটি ত্রুটি পেয়েছি "এই জাতীয় কোনও ক্রিয়াকলাপ নেই: ST_Nap"। আমি উইন্ডোজ 7 64 বিটটিতে কিউজিআইএস 1.8 ব্যবহার করছি।
গ্রেহিপ্পো

আপনার কি স্পাটিয়ালাইট আছে? আপনি এটিকে QGIS> সহায়তা> সম্পর্কে
আলেকজান্দ্রে নেটো

"এরকম কোনও কলাম নেই: f.geom" - f.Geometry দিয়ে চেষ্টা করুন
বিনায়ান

আমার স্পাটিয়ালাইট সংস্করণটি 3.0.1
গ্রেহিপ্পো 20'13

উত্তর:


26

আপনি আপনার ডেটা করা ইচ্ছুক হন, তাহলে Postgis (অথবা Spatialite ), আপনি ব্যবহার করতে পারে ST_Snap কি আপনি চান না।

ইনপুট হিসাবে কেবল লাইন স্তর \ টেবিল এবং আপনার পয়েন্ট স্তরটিকে রেফারেন্স হিসাবে ব্যবহার করুন এবং সহনশীলতা সেট করুন। এটার মতো কিছু:

SELECT
    f.gid as gid,
    ST_Snap(f.Geometry, g.Geometry, 2) as geom
FROM
    pipe as f,
    (SELECT ST_Collect(Geometry) as Geometry
     FROM mh) as g

ফলাফল এটি:

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

তারপরে আপনি বৈশিষ্ট্য শনাক্তকারী ব্যবহার করে আপনার জ্যামিতিগুলি আপডেট করতে পারেন।


আমি "নির্বাচিত ... থেকে ..." কোডটি কোথায় রাখব? "বৈশিষ্ট্য শনাক্তকারী ব্যবহার করে" এর অর্থ কী?
গ্রেহিপ্পো

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

আলেকজান্দ্রে, উপরে আপডেট দেখুন। আমি দুটি স্প্যাসিটালাইট ফাইল রফতানি করেছি।
গ্রেহীপ্পো

আপনার উভয় ফাইল একই স্পাটিয়ালাইট ডাটাবেসে রাখা উচিত, "পাইপ" বলার জন্য "mh.sqlite" ডাটাবেসটিতে টানুন। এর পরে "পয়েন্টগুলি" "এমএইচ" এবং "লাইনগুলি" "পাইপ" এ পরিবর্তন করতে এসকিউএল কোড আপডেট করুন। আপনার "পাইপ" আইডিতে "গিড" এডাপ্ট করুন। এর পরে আপনি ফলাফল কার্যকর করতে এবং লোড করতে পারেন।
আলেকজান্দ্রি নেট

3

আমি কিউজিআইএস বা গ্রাস সম্পর্কে তেমন কিছু জানি না, তবে কিছু দ্রুত গুগলিং গ্রাসে ভি.ক্লিয়েন পেয়েছে এই কৌশলটি করা উচিত।

কটাক্ষপাত আছে এই পোস্টে এবং এই এক

কিউজিআইএস এবং গ্রাসের বিকল্প:

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

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


আমি ভি ক্লেয়ান দেখেছি তবে এটি কেবল একটি স্তর ব্যবহার করে, আমার একটি স্তরকে অন্য স্তরের সাথে তুলনা করতে হবে। এছাড়াও, আমি একটি QGIS / ওপেনসোর্স বিকল্পের জন্য আরও সন্ধান করছিলাম।
গ্রেহিপ্পো

1
@ গ্রেইহিপ্পো, গ্রাস হ'ল ওপেনসোর্স
আর্টওয়ার্ক 21

1
আমি জানি গ্রাস ওপেনসোর্স তবে আপনার অন্যান্য বিকল্পগুলি নেই।
গ্রেহিপ্পো


-1

ম্যানুয়াল উপায়

কিউগিস -> সেটিংস -> স্নেপিং বিকল্পগুলি (এবং আমি নিশ্চিত নই তবে এটির জন্য ক্যাডটুলস এক্সটেনশন প্রয়োজন হতে পারে) এবং টপোলজিকাল সম্পাদনা সক্ষম করে।

স্বয়ংক্রিয় উপায়

vGlean যা QGIS- এ SEXTANTE টুলবক্সে গ্রাস সরঞ্জামগুলিতে রয়েছে। আপনার যদি PostGIS 2.0 থাকে তবে ST_Snap এবং ST_SnapToGrid () (এবং আপনি এটি ব্যবহার করতে পারবেন না এমন কোনও কারণ নেই, এটি খুব ভাল স্থানিক সরঞ্জাম)

বাণিজ্যিক উপায়

এফএমই এবং এমআরএফ সরঞ্জাম (বাণিজ্যিক সম্প্রসারণ, আমার একটি বিবর্তন সংস্করণ ছিল It এটি খুব ভাল)।

এছাড়াও আমি ওপেন সোর্স সরঞ্জামগুলির সাথে জলের পাইপ / নর্দমা ব্যবস্থা সম্পর্কে আগ্রহী, আপনার কি কোনও ইঙ্গিত রয়েছে?


আমি মনে করি গ্রেইইপ্পো এর অর্থ "ম্যানুয়ালি এটি করা" by স্নেপিং বিকল্পগুলি ব্যবহার করে, স্নেপিং সক্রিয় করতে আপনাকে প্রতিটি ঝোলা নোডটি হাতে নিয়ে যেতে হবে। নাকি আমি কিছু মিস করছি?
জেক

কোন। আমি অন্ধ ছিলাম.
সিমপ্লেসিও

সিম্প্লেক্সিও, আমি নিজে এটি করতে চাই না। আমি এমন প্লাগইন বা প্রক্রিয়াটির জন্য আশা করছিলাম যা আমি জানিনা।
গ্রেহিপ্পো

আমি মনে করি না আপনি দুটি স্তরে জিআরএসএস v.clean ব্যবহার করতে পারবেন?
গ্রেইপ্পি

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