GIS Data Analysis

자주 사용하는 공간 쿼리

무혼 2023. 11. 22.
728x90

[1] 주요 공간 쿼리 함수

1. 면적 반환 : SELECT ST_AREA(GEOM) FROM TABLE;
2. 객체 경계 반환 : SELECT ST_ASTEXT(GEOM), ST_BOUNDARY(GEOM) FROM TABLE;
3. 객체의 중심점 반환 : SELECT ST_CENTROID(GEOM) FROM TABLE;
4. 두 객체사이의 최단 거리 반환 : 
SELECT ST_DISJOINT(
	SELECT A.GEOM AS GEOM1 FROM TABLE_A A WHERE A.KEY = 'xxx'
, SELECT B.GEOM AS GEOM2 FROM TABLE_B B WHERE B.KEY = 'xxx'
);


[2] Geometry 타입의 객체 컬럼을 조회하여 새로운 테이블 생성

새 테이블 생성 : 
CREATE TABLE 새 테이블명 AS
SELECT
	컬럼명,
	컬럼명,
	컬럼명
FROM
	조회 테이블명
WHERE
	조건;

※ 참고
컬럼 추가 : ALTER TABLE 테이블명 ADD 컬럼명 VARCHAR(25) <- 데이터 타입
컬럼 삭제 : ALTER TABLE 테이블명 DROP 컬럼명
컬럼 변경 : ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 VARCHAR(100) <- 변경할 데이터 타입

 

 

공간 쿼리를 사용하여 필요한 컬럼만 SELECT → DBMS에 해당 쿼리에 맞는 테이블 생성 → Server로 연동 순으로 진행


[3] 다각형 내에 있는 점 판별하는 공간 쿼리

1. 각 테이블의 좌표계 확인

SELECT ST_SRID(GEOM) FROM 테이블명 LIMIT 1;

 

2. 좌표계 맞추기

ST_TRANSFROM(GEOM, 바꿔줄 좌표계 코드);

 

3. 공간 쿼리 실행 (ex. 포인트를 포함하는 폴리곤 검색하기)

SELECT A.컬럼명, B.컬럼명
FROM 테이블1 AS A, 테이블2 AS B
WHERE ST_WITHIN(ST_TRANSFROM(A.GEOM, 바꿔줄 좌표계 코드), B.GEOM) AND 조건2...
728x90