Spatialite에서 공간 데이터를 가지는 Table 생성하기

Spatialite에서는 테이블 생성시 바로 공간 데이터 필드를 추가할 수 없다. 먼저 공간 데이터 필드를 제외하고 테이블을 생성한다.

CREATE TABLE  main_item (
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    layer TEXT,
    title TEXT,
    feature_id INTEGER
);

이제 공간 데이터 필드를 추가한다.

SELECT AddGeometryColumn('main_item', 'geometry', -1, 'GEOMETRY', 'XY');

AddGeometryColumn 함수의 3번째는 EPSG 코드값이며, 4번째는 POINT, LINESTRING, POLYGON, MULTIPOINT 등이 올 수 있다. GEOMETRY는 모든 타입의 공간 데이터를 받을 수 있다.

공간 데이터 필드에 공간 인덱스를 건다.

SELECT CreateSpatialIndex('main_item', 'geometry');

끝으로 Row를 추가하는 SQL문은 다음과 같다.

INSERT INTO main_item (layer, title, feature_id, geometry) 
VALUES ('layer1', 'title1', 100, ST_GEOMFROMTEXT('POINT(128.32132 37.34322)', -1));

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다