DataBase/Mysql

공간 데이터 입력

e코딩꼬라지 2023. 1. 12. 10:16

- 공간 테이블 생성

CREATE TABLE 테이블명 (
    컬럼명 VARCHAR(11NOT NULL,
    컬러명 VARCHAR(3NOT NULL,
    POINT_XY POINT ,
    LINE_STRING LINESTRING,
    PRIMARY KEY (`컴럼명``컬럼명`)
);




* POINT는 X, Y 좌표 * LINESTRING 라인 폴리곤 - 공간 데이터 입력

INSERT INTO 테이블명 VALUES ( '1''1', ST_GeomFromText('POINT(126.9052383 37.5157702)'), NULL);




- 공간 데이터 수정

UPDATE 테이블명 SET POINT_XY = ST_GeomFromText(CONCAT ('POINT(',POINT_X,' ',POINT_Y,')')) WHERE 컴럼명 = 1;




- 해당 위치 10K 내외 데이터 구하기

SELECT 
    컬럼명, 
    ST_Distance_Sphere(POINT(126.901953237.5170112), 공간 컬럼명) AS POINT_XY
FROM 테이블명
WHERE ST_Distance_Sphere(POINT(126.901953237.5170112), 공간 컬러명) <= 10000




- 공간 테이블 X, Y 좌표 조회

SELECT ST_ASTEXT(공간 컬럼명) AS POINT_XY, ST_X(공간 컬럼명), ST_Y(공간 컬러명) FROM 테이블명;