• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 1. 데이터 형식 요약
    2. 수치형
    3. 날짜와 시간 형
    4. 문자열
    5. 공간 데이터의 확장
    1. 공간 데이터 형식
    2. OpenGIS 공간 모델
    3. 공간 데이터 사용
    1. 지원되는 공간 데이터 형식
    2. 공간 컬럼 작성
    3. 공간 컬럼에 데이터 이입
    4. 공간 데이터 가져 오기
    5. 공간 분석의 최적화
    6. 공간 인덱스 만들기
    7. 공간 인덱스 작업
    6. 데이터 형 기본값
    7. 데이터 유형의 스토리지 요구 사항
    8. 컬럼에 적절한 형태의 선택
    9. 기타 데이터베이스 엔진의 데이터 형식 사용
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

11.5.3.1 지원되는 공간 데이터 형식

쿼리에서 기하학적 개체를 표현하기 위해 두 개의 표준 공간 데이터 형식이 사용됩니다.

  • WKT (Well-Known Text) 형식

  • WKB (Well-Known Binary) 형식

MySQL의 내부에서는 WKT, WKB 중의 형식과도 다른 형식으로 기하 값이 저장됩니다.

다른 데이터 형식 간의 변환에 사용할 수있는 함수가 있습니다. 섹션 12.15.6 "기하 형식 변환 함수" 를 참조하십시오.

11.5.3.1.1 WKT (Well-Known Text) 형식

기하 값의 WKT (Well-Known Text) 표현은 ASCII 형식의 기하 데이터를 교환 할 수 있도록 설계되어 있습니다. OpenGIS 사양은 WKT 값을 기입하기위한 공식 운영 규칙을 지정하는 박카스 - 나우아 기법이 준비되어 있습니다 ( 섹션 11.5 "공간 데이터의 확장" 을 참조하십시오).

기하학적 개체의 WKT 표현의 예 :

  • Point :

     POINT (15 20)
    

    점의 좌표는 구분을위한 쉼표없이 지정됩니다. 이것은 좌표 사이에 쉼표를 필요로하는 SQL Point() 함수의 구문과 다릅니다. 특정 공간 연산의 문맥에 적합한 구문을 신중하게 사용하십시오. 예를 들어, 다음 명령문은 모두 Point 객체에서 X 좌표를 추출합니다. 첫 번째 경우는 Point() 함수를 직접 사용하여 객체를 생성합니다. 두 번째 경우는 GeomFromText() 에서 Point 로 변환 된 WKT 표현을 사용합니다.

    mysql> SELECT X(Point(15, 20));
    +------------------+
    | X(POINT(15, 20)) |
    +------------------+
    |               15 |
    +------------------+
    
    mysql> SELECT X(GeomFromText('POINT(15 20)'));
    +---------------------------------+
    | X(GeomFromText('POINT(15 20)')) |
    +---------------------------------+
    |                              15 |
    +---------------------------------+
    
  • 4 개의 점을 포함 LineString :

     LINESTRING (0 0 10 10 20 25 50 60)
    

    점의 좌표 쌍은 쉼표로 구분됩니다.

  • 외부 링과 내부 링을 하나씩 포함 Polygon :

     POLYGON ((0 0,10 0,10 10,0 10,0 0), (5 5,7 5,7 7,5 7 5 5))
    
  • 3 개의 Point 값을 포함 MultiPoint :

     MULTIPOINT (0 0 20 20 60 60)
    
  • 두 LineString 값을 포함 MultiLineString :

     MULTILINESTRING ((10 10 20 20), (15 15 30 15))
    
  • 2 개의 Polygon 값을 포함 MultiPolygon :

     MULTIPOLYGON (((0 0,10 0,10 10,0 10,0 0)) ((5 5,7 5,7 7,5 7 5 5)))
    
  • 2 개의 Point 값과 1 개의 LineString 에서 구성된 GeometryCollection :

     GEOMETRYCOLLECTION (POINT (10 10) POINT (30 30) LINESTRING (15 15 20 20))
    
11.5.3.1.2 WKB (Well-Known Binary) 형식

기하 값 WKB (Well-Known Binary) 표현은 기하 WKB 정보를 포함한 BLOB 치에 의해 표현 된 바이너리 스트림으로 기하 데이터를 교환하는 데 사용됩니다. 이 형식은 OpenGIS 사양에 의해 정의되어 있습니다 ( 섹션 11.5 "공간 데이터의 확장" 을 참조하십시오). 이것은 또한 ISO SQL / MM Part 3 : Spatial 표준에 정의되어 있습니다.

WKB는 1 바이트의 부호없는 정수 4 바이트의 부호없는 정수 및 8 바이트의 배정 수 (IEEE 754 형식)를 사용합니다. 1 바이트는 8 비트입니다.

예를 들어, POINT(1 1) 에 대응하는 WKB 값은 각각 2 개의 16 진수로 표시 한 다음 21 바이트의 시퀀스로 구성됩니다.

 0101000000000000000000F03F000000000000F03F

이 순서는 다음과 같이 구성됩니다.

 Byte order : 01
 WKB type : 01000000
 X coordinate : 000000000000F03F
 Y coordinate : 000000000000F03F

각 구성 요소가 나타내는 내용은 다음과 같습니다.

  • 바이트 순서는 1 또는 0 중 하나에서 리틀 엔디안 또는 빅 엔디안 스토리지를 나타냅니다. little endian 바이트 순서 빅 endian 바이트 순서는 각각 NDR (Network Data Representation), XDR (External Data Representation)라고도합니다.

  • WKB 형은 기하 형을 나타내는 코드입니다. 1-7의 값은 Point , LineString , Polygon , MultiPoint , MultiLineString , MultiPolygon 및 GeometryCollection 을 나타냅니다.

  • Point 값은 X 좌표와 Y 좌표가 포함되지만 각각 배정 밀도 값으로 표현됩니다.

또한 복잡한 기하 값 WKB 값은 OpenGIS 사양에 자세히 기록되어있다 같이보다 복잡한 데이터 구조입니다.


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved