คำถามติดแท็ก st-dwithin

2
ST_ ระยะทางไม่ได้ใช้ดัชนีสำหรับการสืบค้นเชิงพื้นที่
ฉันไม่สามารถให้ PostGIS 2.1 ทำงานบน PostgreSQL 9.3.5 เพื่อใช้ดัชนีเชิงพื้นที่ได้แม้จะเป็นการสืบค้นที่ง่ายที่สุด ชุดข้อมูลทั้งหมดเป็น 8 ล้านคะแนน (จำนวนประชากรตารางจากที่นี่) ตารางถูกสร้างขึ้นเป็น CREATE TABLE points ( population DOUBLE PRECISION NOT NULL, location GEOGRAPHY(4326, POINT) NOT NULL ) CREATE INDEX points_gix ON points USING GIST(location); การสืบค้นนั้นง่ายมากตามที่ได้รับ SELECT SUM(population) FROM points WHERE ST_Distance( location, ST_GeographyFromText('SRID=4326; POINT(0 0)') ) < 1000 PostgreSQL ใช้การสแกน …

1
ค้นหาบรรทัดที่ใกล้เคียงที่สุดที่ให้ 2 คะแนนโดยใช้ PostGIS?
ฉันมีตาราง t ที่มีคอลัมน์line_positionsซึ่งเป็นประเภทบรรทัด ให้ 2 คะแนนฉันต้องการค้นหาเส้นที่ใกล้ที่สุดซึ่งอยู่ใกล้พอ (น้อยกว่า 10 กม.) และนั่นไม่ผ่านใกล้จุดที่ฉันต้องการหลีกเลี่ยง (ขั้นต่ำ 20 กม.) ปัจจุบันฉันใช้ SELECT t.* FROM path t WHERE ST_DWithin(ST_GeographyFromText('Point(69.835 22.596)'), t.line_positions, 10000, FALSE) AND ST_DWithin(ST_GeographyFromText('Point(69.856 22.519)'), t.line_positions, 10000, false) AND NOT ST_DWithin(ST_GeographyFromText('Point(-79.804 9.141)'), t.line_positions, 20000, false) ORDER BY ST_Distance(ST_GeographyFromText('Point(69.835 22.576)'), t.line_positions, false) + ST_Distance(ST_GeographyFromText('Point(69.856 22.519)'), t.line_positions, false) ASC …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.