PostgreSQL Geometry

초보자·2022년 12월 8일
0

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정보가 있다면 데이터가 나올것이다

profile
까먹기전에 기록하자

0개의 댓글