Postgre에서 공간정보데이터를 저장, 조회하는 방법을 알아보자
INSERT
INSERT INTO place (geom)
VALUES (
ST_Transform(ST_GeomFromText('POINT(X좌표 Y좌표)',5181),5181)
)
이렇게 넣으면 된다 POINT에서 X와 Y좌표는 반드시 띄워야 한다
굳이 Transform 해주는 이유는 범위구역으로 검색을 할 때 geom좌표들이 mixed됐다고 에러가 떠가지고 Text를 5181로 한 번 더 바꿔서 넣어줬다
SELECT
SELECT ST_AsText(geom)
from place
이렇게 하면 좌표가 검색되어 나온다
만약에 WHERE에 해당 좌표의 반경으로 검색해보고 싶다면
SELECT ST_AsText(geom)
FROM place a,(
select ST_Buffer(
ST_SetSRID(ST_MakePoint( #{x좌표}::double precision,#{y좌표}::double precision ),5181),
{검색반경}::double precision
) as buffergeom
) b
이렇게 검색한다면 해당 좌표반경에 geom정보가 있다면 데이터가 나올것이다