আপনার বিবৃতিতে আপনার তিনটি সমস্যা রয়েছে যদিও ত্রুটি বার্তাটি এর অংশে কেবল ইঙ্গিত দিচ্ছে ... "" যেখানে টাইপ বুলিয়ান হতে হবে "এর অর্থ হ'ল আপনি WHERE দিয়েছিলেন সেই তথ্যটি বুলিয়ান ফলাফলের জন্য মূল্যায়ন করছে না।
ST_MakeEnvelope এই আদেশ তার পরামিতি জন্য জিজ্ঞেস করল: xmin, ymin, xmax, ymax, srid
।
আপনি ভুলভাবে প্রবেশ করেছেন ymax, ymin, xmax, xmin, srid
।
বুলিয়ান জন্য মূল্যায়ন করতে হবে যেখানে:
কোনও জ্যামিতি এবং খামের কোনও সাধারণ উপাদান রয়েছে কিনা তা নির্ধারণ করতে WHEREটি এমনভাবে তৈরি করা উচিত: WHERE geom && envelope_geom
অন্যথায় আপনি ST_Contains ব্যবহার করতে পারেন
খামের মধ্যে জ্যামিতি অন্তর্ভুক্ত রয়েছে কিনা তা নির্ধারণ করতে: `যেখানে ST_Contains (খামে_জিয়াম, জিওম)
আপনি এর জন্য তুলনার কোনও পদ্ধতি সরবরাহ করেন নি WHERE
।
সারণী 'গ্রহ_অসেম_ওয়েস'-তে কোনও জ্যামিতি কলাম থাকে না, যদিও' গ্রহ_সৌম_রোডস'-এ 'উপায়' নামে জ্যামিতি কলাম থাকে।
আপনি সম্পর্কিত প্ল্যানেট_সোম_নোড.লট এবং প্ল্যানেট_সোম_নোড.লোন থেকে টেবিল 'গ্রহ_আসেম_ওয়েস' তে জ্যামিতি কলাম তৈরি করতে পারেন।
'প্ল্যানেট_সোম_রোডস' ব্যবহার করে, এটি জ্যামিতি কলাম সহ একটি টেবিলের বিপরীতে একটি সীমানা বাক্স কীভাবে ব্যবহার করবেন তা দেখায়:
SELECT *
FROM planet_osm_roads
WHERE planet_osm_roads.way && ST_Transform(
ST_MakeEnvelope(-122.271189, 37.804339, -122.275244, 37.808264,
4326),3857
);
বা এটিতে এটি পরিবর্তন করুন:
SELECT *
FROM planet_osm_roads
WHERE ST_Contains(
ST_Transform(
ST_MakeEnvelope(-122.271189, 37.804339, -122.275244, 37.808264,
4326)
,3857)
,planet_osm_roads.way);