পোস্টজিআইএস বা জিআরএসএস এ সাধারণ বৈশিষ্ট্যগুলিতে লাইনগুলি দ্রবীভূত বা আনস্প্লিট করুন?


9

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

ডেস্কটপ সফ্টওয়্যারটির জন্য এসরির আর্কজিআইএসটি ডিসলভ কমান্ড এবং ইউএনএসপিএলআইলাইন বিকল্পের সাহায্যে এটিকে মঞ্জুরি দেয় seems

আমি কিউজিআইএস-তে একটি ডিসলভ কমান্ডও পেয়েছি তবে এটি কেবল বহুভুজ এবং একক ক্ষেত্রে কাজ করে বলে মনে হচ্ছে।

কিউজিআইএস-এর জন্য কিছু বিদ্যমান নেই বলে ধরে নেওয়া, কেউ কি পোস্টজিআইএস বা গ্রাসে এটি করতে হয় তা জানেন?



আজ যদি এই প্রশ্ন জিজ্ঞাসা করা হত তবে আমি মনে করি এটি খুব বিস্তৃত হিসাবে বন্ধ হয়ে যাবে। এখনই এটি বন্ধ করার চেষ্টা করার পরিবর্তে, আমি বিদ্যমান উত্তরগুলি পুনঃনির্ধারণ এবং আরও বিস্তৃত উত্তরগুলি রোধ করতে এটি সম্পাদনা করতে যাচ্ছি।
পলিজিও

উত্তর:


4

আকর্ষণীয় প্রশ্ন। আমি নিজেকে পোস্টজিআইএস গুরু হিসাবে বিবেচনা করি না, তবে আমি আপনার সমস্যার সাথে কথা বলি এবং নীচের প্রশ্নটি নিয়ে এসেছি যা হাইওয়ে LINESTRINGরেকর্ডগুলিকে রেকর্ডে দ্রবীভূত করে MULTILINESTRINGযখন তাদের একাধিক ক্ষেত্রে সাধারণ মূল্য থাকে (আমার ডেটাসেটে, আমি nameএবং stateক্ষেত্রগুলির সাথে মিল রেখে )। আমি হাইজিওয়েজের শেফফাইল (ইউএসউইজে নামকরণ করা হয়েছে) পোস্টজিআরএসকিএল-তে ঠেলাতে ওজিআর ব্যবহার করেছি; সুতরাং আমার জ্যামিতি ক্ষেত্র বলা হয় wkb_geometry। আপনার ডেটা এবং ক্ষেত্রের শর্তগুলি সমন্বিত করতে এই কোয়েরিকে হ্যাক করার চেষ্টা করুন:

SELECT 
u.name, 
u.state, 
ST_AsText( ST_Multi( ST_Collect( u.wkb_geometry ) ) ) as multilines 
FROM ushwys u
GROUP BY u.name, u.state 
ORDER BY u.state 
LIMIT 100; --########### DROP THE LIMIT WHEN YOU'RE DONE EXPERIMENTING

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

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

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


পিএস যদি আপনি জিডাটাটাকে পোস্টজিআইএসে ঠেলার জন্য ogr2ogr ব্যবহারের সাথে পরিচিত না হন তবে আমি আমার ডেটা আমদানি করতে নিম্নলিখিত ওগ্র 2ogr স্ক্রিপ্টটি ব্যবহার করেছি ( ওয়েব থেকে অনুলিপি করুন এবং সরাসরি আপনার ওগ্র2ogr কমান্ড উইন্ডোতে পেস্ট করুন, যেমন আমি পৃষ্ঠা ফর্ম্যাটিংটি পেয়েছি ডাবল-কোটগুলির জন্য লাইনব্রেকস এবং ফন্ট / চরিত্রের বিকল্পগুলি উপস্থাপন করে যা ওজি স্ক্রিপ্টটি ভেঙে দেয় :

ogr2ogr -f "PostGreSQL" PG:"host=127.0.0.1 user=postgres dbname=gisdb password=my_password" 
"E:\GISData\UnitedStates\highways.shp" -nln ushwys -nlt geometry

[হালনাগাদ]

আমি জানতে চেয়েছিলাম কিউজিআইএস-এ কীভাবে এটি "দেখায়" এই ক্যোয়ারীটি চালানোর পরে, তাই আমি এই WHEREধারাটি প্রয়োগ করার জন্য কোয়েরিটি সংশোধন করেছিলাম (যা আমাকে মিসৌরি রাজ্যের ইউএস হাইওয়ে 65 এর সমস্ত রূপ দেয়):

where u.state = 'MO' and u.name LIKE '%US%65%'

এরপরে আমি আমার ফলাফলের হাইওয়ে MULTILINESTRINGরেকর্ডের সমস্ত আট (8) ভিজ্যুয়ালাইজ করতে QGIS এবং QuickWKT প্লাগইন ব্যবহার করেছি । আপনি যেমন স্ক্রিনশটটিতে দেখতে পাচ্ছেন, চূড়ান্ত ফলাফলগুলি হিউয় 65 কে আইসুয়ের উত্তর সীমান্ত থেকে আরকানসাসের দক্ষিণ সীমান্ত পর্যন্ত পুরোপুরি নিয়ে যাবে:

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

আমার কাছে, এই দৃশ্যায়নটি দেখায় যে আমার কোয়েরিতে কোনও অপ্রত্যাশিত সদৃশতা বা বৈশিষ্ট্যগুলি অপসারণ করা হয়নি। এরপরে আমি ভাবলাম "ঠিক আছে, দ্রবীভূত করে আটটি বৈশিষ্ট্য ফিরে এসেছিল, তবে মূল টেবিলের কতগুলি বৈশিষ্ট্য আসলে মউসুরিতে Hwy 65 উপস্থাপন করে?" আমার পরবর্তী প্রশ্নটি এই প্রশ্নের উত্তর দিয়েছে। দেখে মনে হচ্ছে আসল ডেটাসেটটি মিসৌরিতে Hwy 65 উপস্থাপনের জন্য আটত্রিশ (38) টি বৈশিষ্ট্য ব্যবহার করে:

SELECT count(*) FROM ushwys WHERE state = 'MO' AND name LIKE '%US%65%';
-- returned 38

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

চিয়ার্স। :)


3

পোস্টজিআইএস-এ, লাইনগুলি মার্জ করার জন্য একটি ডেডিকেটেড ফাংশন রয়েছে

ST_LineMerge - একাধিক মাল্টলাইনস্ট্রিংয়ের সেলাইয়ের মাধ্যমে গঠিত একটি (সেট) লাইনস্ট্রিং (গুলি) প্রদান করে।

http://www.postgis.org/docs/ST_LineMerge.html


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