আকর্ষণীয় প্রশ্ন। আমি নিজেকে পোস্টজিআইএস গুরু হিসাবে বিবেচনা করি না, তবে আমি আপনার সমস্যার সাথে কথা বলি এবং নীচের প্রশ্নটি নিয়ে এসেছি যা হাইওয়ে 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
চিয়ার্স। :)