관련 포스팅 

PostGIS : PostGIS Setting Script  http://ngee.tistory.com/629

PostGIS : Create Geospatial Table :  http://ngee.tistory.com/631

PostGIS : Insert Geospatial Data into Table :  http://ngee.tistory.com/632

PostGIS : Select Geospatial Data from Table :  http://ngee.tistory.com/633
PostGIS : Delete Geometry Column in Geospatial Table :  http://ngee.tistory.com/635


앞선 포스팅에서 PostGIS를 설정하고, 

함수 AddGeometryColumn(....)를 이용해서 평범한 테이블에 공간정보를 저장할 수 있는 컬럼을 추가했죠.

또한 ST_GeomFromText (....) 함수를 이용해서 공간정보를 테이블에 입력했습니다. 


이번 포스팅에서는 테이블에 존재하는 공간정보를 가져와서 Text 형태로 출력하는 내용입니다. 

일단 공간정보는 Geometry / Geography 형태로 저장되는데요. 

제가 앞서 작성한 포스팅들에서는 모두 Geometry를 사용했습니다. 이번 포스팅도 역시 마찬가지구요. 


일단 테이블에 어떻게 공간정보가 저장되어 있는지 눈으로 확인하고 어떤 함수를 통해서 Text로 바꿀 수 있는지 확인해보겠습니다. 

아래 그림이 이전 포스팅에서 공간정보를 추가한 결과였죠. 

16진수가 엄청 길게 들어가 있습니다. 

실제로 입력했던 Text는  POLYGON((131060 33589, 131060 33833, 131319 33833, 131319 33589, 131060 33589))',3857  였거든요.. 

다시 위와 같은 Text를 받아낼 수 있으면 성공입니다. 


이때 사용할 수 있는 함수가 ST_AsText(....) 함수입니다. ST_AsText는 아래와 같이 정의되어 있습니다. 


text ST_AsText(geometry g1);

text ST_AsText(geography g1);


return은 text로 되고. 입력 변수는 딱 하나입니다. geometry / geography 죠.


그럼 예제를 통해서 ST_AsText(...) 함수를 확인해보죠.


SELECT ST_AsText(my_geom) from geotest;


출력 결과는 아래와 같습니다.

잘 나왔네요.!!


+ Recent posts