나는 작동하는 쿼리가 있지만, 내가 사용할 수있는 더 둔한 덜 둔한 폼이 있는지 궁금합니다. 내 지오 메트릭 주위에 검색 범위를 좁히기위한 경계 상자를 이미 만들었지 만 ST_Transforms에 대한 여러 번 호출은 어색해 보입니다. BTW : 두 줄 (gg와 gm)은 동일한 점을 가지고 있습니다. 사전에POSTGIS SELECT optmization
감사합니다, 그것은 필터링하기 전에 형상의 모든을 버퍼링 할 필요가 있기 때문에, WHERE
에서 ST_Buffer
이 비싸다 사용
- 매트
CREATE TABLE lines
(
line_id bigserial NOT NULL,
line_gm_bbox geometry,
line_gm_line geometry,
line_gg_line geography(LineString,4326),
)
WITH (OIDS=FALSE);
CREATE INDEX line_bbox_idx
ON lines
USING gist
(line_gm_bbox);
SELECT l.* FROM lines AS l WHERE l.line_gm_bbox && ST_Transform(ST_Buffer(ST_Transform(ST_GeomFromText('POINT(-71.44513306666667 42.7368536)',4326),3395), 2000), 4326)
AND ST_DWithin(l.line_gg_line, ST_GeomFromText('POINT(-71.44513306666667 42.7368536)',4326), 200);