ฉันมี minLat, minLong, maxLat และ maxLong จากกล่องที่วาดบนแผนที่ ตอนนี้ข้อความค้นหาของฉันเพื่อให้ได้คะแนนทั้งหมดในกล่องมีลักษณะดังนี้:
SELECT *
FROM geomTable
WHERE (longitude BETWEEN minLon AND maxLon)
AND (latitude BETWEEN minLat AND maxLat)
ฉันต้องการใช้คอลัมน์รูปทรงเรขาคณิตแทนคอลัมน์ lat / long เพื่อให้ได้ผลลัพธ์ ฉันลองใช้คำค้นหานี้:
SELECT *
FROM mytable
WHERE mytable.geom && ST_MakeEnvelope(minLon, minLat, maxLon, maxLat, 4326);
จากโพสต์นี้: เลือกกล่องขอบโดยใช้โพสต์จิสแต่ไม่พบผลลัพธ์
ไม่มีใครมีตัวอย่างของวิธีการเลือกจุดทั้งหมดที่อยู่ในกล่องที่สร้างขึ้นโดยนาทีและสูงสุด lat / long โดยใช้รูปทรงเรขาคณิตใน postgis?
คุณใช้ PostGIS รุ่นใด
—
Mapperz
PostGIS ของฉันคือรุ่น 2.0.1
—
bl8rchk
ทั้งสองคอลัมน์ทางภูมิศาสตร์ใน SRID เดียวกันหรือไม่
—
nickves
ฉันคิดว่าฉันอาจจะหลุดพ้นจากแนวทางของฉัน ... ฉันมีเพียงคอลัมน์เดียว มันคือ SRID คือ 2223
—
bl8rchk
@ bl8rchk ตาราง
—
theartofbeing
geomTable
และฟิลด์mytable.geom
คืออะไร?