Loading...
MySQL 9.5 Reference Manual 9.5의 13.4.1 Spatial Data Types의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL에는 OpenGIS 클래스에 대응하는 공간 데이터 타입이 있습니다. 이러한 타입의 기반은 Section 13.4.2, “The OpenGIS Geometry Model”에 설명되어 있습니다.
일부 공간 데이터 타입은 단일 지오메트리 값을 보관합니다:
GEOMETRY
POINT
LINESTRING
POLYGON
GEOMETRY는 어떤 타입이든 지오메트리 값을 저장할 수 있습니다.
다른 단일 값 타입(POINT,
LINESTRING, POLYGON)은
각각 특정 지오메트리 타입으로 값을 제한합니다.
다른 공간 데이터 타입은 값의 컬렉션을 보관합니다:
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION
GEOMETRYCOLLECTION은 어떤 타입이든
오브젝트의 컬렉션을 저장할 수 있습니다.
다른 컬렉션 타입
(MULTIPOINT,
MULTILINESTRING,
MULTIPOLYGON)은 컬렉션 멤버를
특정 지오메트리 타입을 가진 값으로 제한합니다.
예: geom이라는 이름의 테이블을 생성하고,
어떤 지오메트리 타입의 값이든 저장할 수 있는
g라는 컬럼을 두려면, 다음 스테이트먼트를 사용합니다:
1CREATE TABLE geom (g GEOMETRY);
공간 데이터 타입을 가진 컬럼은
컬럼에 저장된 값의 공간 참조 시스템(SRS)을
명시적으로 나타내기 위해 SRID 애트리뷰트를 가질 수 있습니다.
예를 들어:
1CREATE TABLE geom ( 2 p POINT SRID 0, 3 g GEOMETRY NOT NULL SRID 4326 4);
SPATIAL 인덱스는 공간 컬럼이
NOT NULL이고 특정 SRID를 가지는 경우에 생성할 수 있습니다.
따라서 컬럼에 인덱스를 생성할 계획이라면,
NOT NULL 및 SRID
애트리뷰트를 사용하여 컬럼을 선언하십시오:
1CREATE TABLE geom (g GEOMETRY NOT NULL SRID 4326);
InnoDB 테이블은 카테시안 및 지리 SRS에 대해
SRID 값을 허용합니다.
MyISAM 테이블은 카테시안 SRS에 대해
SRID 값을 허용합니다.
SRID 애트리뷰트는 공간 컬럼을
SRID 제한 컬럼으로 만들며, 이는 다음과 같은 의미를 가집니다:
컬럼에는 지정된 SRID를 가진 값만 포함될 수 있습니다. 다른 SRID를 가진 값을 삽입하려고 하면 에러가 발생합니다.
옵티마이저는 컬럼에 대해 SPATIAL 인덱스를
사용할 수 있습니다.
Section 10.3.3, “SPATIAL Index Optimization”을 참조하십시오.
SRID 애트리뷰트가 없는 공간 컬럼은
SRID 제한 컬럼이 아니며, 어떤 SRID든 값을 허용합니다.
그러나 옵티마이저는 컬럼 정의를 수정하여
SRID 애트리뷰트를 포함시키기 전까지는
해당 컬럼에 SPATIAL 인덱스를 사용할 수 없습니다.
이 경우 모든 값이 동일한 SRID를 가지도록
먼저 컬럼 내용을 수정해야 할 수 있습니다.
MySQL에서 공간 데이터 타입을 사용하는 다른 예시는 Section 13.4.6, “Creating Spatial Columns”을 참조하십시오. 공간 참조 시스템에 대한 정보는 Section 13.4.5, “Spatial Reference System Support”를 참조하십시오.
13.4 Spatial Data Types
13.4.2 The OpenGIS Geometry Model