উত্তর:
অসমোসিস ডক্সের জন্য, আমি কমান্ড বিকল্পটি দেখতে পাচ্ছি :
--bounding-box top=49.5138 left=10.9351 bottom=49.3866 right=11.201
পোস্টজিআইএস-এর জন্য আপনি একটি বাউন্ডিং বক্স তৈরি করতে ST_MakeEnvelope (বাম, নীচে, ডান, উপরে, sid) ব্যবহার করতে পারেন , তারপরে &&
বাউন্ডিং বক্স অপারেটরটি কোথায় খুঁজে যাবে তা সন্ধান করতে:
SELECT *
FROM mytable
WHERE mytable.geom && ST_MakeEnvelope(10.9351, 49.3866, 11.201, 49.5138, 4326);
এসআরআইডি 4326 ডাব্লুজিএস 84 ল্যাট / লং এর জন্য এবং এটি কেবল পোস্টজিআইএস 1.5 এর জন্য প্রয়োজনীয়; এটি পরবর্তী সংস্করণগুলির জন্য বাদ দেওয়া যেতে পারে।
আমি মনে করি এটি এরকম কিছু হবে: পোস্টজিআইএসের বাউন্ডিং বাক্সটি তৈরি করেছে
ST_GeomFromText('POLYGON((ulx uly, urx ury, llx llr, lrx lry, ulx uly))', <srid>)
কোয়েরিটি সাব-কোয়্যারির সাথে ST_ আন্তঃব্যবহার ব্যবহার করবে।
SELECT bbox_nodes.id, bbox_nodes.tag, nodes_geom
FROM (SELECT nodes.id, nodes.tag,
ST_Intersection(nodes.the_geom,
ST_GeomFromText('POLYGON((ulx uly, urx ury, llx llr, lrx lry, ulx uly))', <srid> )).geom AS nodes_geom
FROM nodes
WHERE ST_Intersects(nodes.the_geom,
ST_GeomFromText('POLYGON((ulx uly, urx ury, llx llr, lrx lry, ulx uly))', <srid> )) AS bbox_nodes
WHERE ST_Dimension(bbox_nodes.nodes_geom)=0;
পোস্টজিআইএস সহায়তা পৃষ্ঠাগুলি থেকে আমি কমবেশি এটি গ্রহণ করেছি
, উপরের মতো নকশাকৃত উপায়গুলির টেবিলে একটি দ্বিতীয় ক্যোয়ারীটি পাওয়া উচিত (তবে এস 07 ডাইমেনশন () = 1 সহ) উপায়গুলি পাওয়া উচিত।
এইচটিএইচ, মীখা
এখানে একটি বিষয় রয়েছে যা এখানে আপনার প্রশ্নের অনুরূপ ...
ST_ সংযোগ - (টি) এমন একটি জ্যামিতি ফিরিয়ে দেয় যা জিওএমএ এবং জিওএমবির ভাগ করা অংশকে উপস্থাপন করে। ভূগোল বাস্তবায়ন ছেদটি করার জন্য জ্যামিতিতে রূপান্তর করে এবং তারপরে ডাব্লুজিএস 84 এ ফিরে আসে।
1. আপনি এখানে জ্যামিতি নির্মাণ কার্যাদি সম্পর্কে কিছু তথ্য পেতে পারেন ।
SELECT ST_AsText(ST_Intersection(
ST_Buffer('POINT(0 0)', 2),
ST_Buffer('POINT(3 0)', 2)
));
আন্তঃসমাংশ ছেদ করা সম্পর্কে এখানে অন্য কোনও তথ্য : পোস্টজিআইএস - এসT_ আন্তঃসন্ধি, এসT_ আন্তঃ ...
SELECT b.the_geom As bgeom, p.the_geom As pgeom,
ST_Intersection(b.the_geom, p.the_geom) As intersect_bp
FROM buildings b INNER JOIN parcels p ON ST_Intersection(b,p)
WHERE ST_Overlaps(b.the_geom, p.the_geom)
LIMIT 1;
আমি এটি আপনাকে সাহায্য করে আশা করি...
এটি @ মিখার কোডের উপর একটি মন্তব্য।
POLYGON
প্রান্তের জন্য স্থানাঙ্কযুক্ত জোড়গুলি ঘড়ির কাঁটার (অথবা একটি পাল্টা ঘড়ির কাঁটা) ক্রম অনুসরণ করা উচিত: উপরের বাম, উপরের ডানদিকে, নীচের ডানদিকে, নীচে বামে, উপরের বামে আবার।
সুতরাং, ঘড়ির কাঁটার দিকে, ফাংশন কলটি হওয়া উচিত:
ST_GeomFromText('POLYGON((ulx uly, urx ury, lrx lry, llx llr, ulx uly))', <srid>)
বা ঘড়ির কাঁটার বিপরীতে:
ST_GeomFromText('POLYGON((ulx uly, llx llr, lrx lry, urx ury, ulx uly))', <srid>)