2010년 6월 30일 수요일

SpatiaLite 개요 및 사용

PostgreSQLPostGIS가 있다면 SQLite에는 SpatiaLite가 있습니다.

PostGIS와 마찬가지로 Geometry Engine은 GEOS(3.2.0), 좌표변환은
PROJ.4(4.7.0)
를 사용하고 있습니다.  PostGIS보다 경량이면서 속도면에서는 빠르군요..

PostGIS를 사용해본 사람이라면 금방 익숙해질 수 있을 것 같네요. 단, PG와는 Spatial Function 이름들이 약간씩 다릅니다.(ST_가 없으나 2.4버전 이후로는 OGC ST_ 이름을 지원합니다).


라이센서는 각각의 프로그램마다 다릅니다.

▣ SpatiaLite 공식 사이트
 - http://www.gaia-gis.it/spatialite/
 - 2010년 6월 30일 현재 버전 2.4.0

▣ 주요 기능
 *  SQLite is a popular DBMS, simple, robust, easy to use and really lightweight
  * each SQLite database is simply a file; you can freely copy it, compress it, send it on a LAN or WEB with no complication at all
 They are also portables; the same database file will work on Windows, Linux, MacOs etc
 * the SpatiaLite extension enables SQLite to support spatial data too [aka GEOMETRY], in a way conformant to OpenGis specifications
   o supports standard WKT and WKB formats
   o implements SQL spatial functions such as AsText(), GeomFromText(), Area(), PointN() and alike
   o the complete set of OpenGis functions is supported via GEOS, this comprehending sophisticated spatial analysis functions such as Overlaps(), Touches(), Union(), Buffer() ..
   o supports full Spatial metadata along the OpenGis specifications
   o supports importing and exporting from / to shapefiles
   o supports coordinate reprojection via PROJ.4 and EPSG geodetic parameters dataset
   o supports locale charsets via GNU libiconv
   o implements a true Spatial Index based on the SQLite's RTree extension
 * the VirtualShape extension enables SQLite to access shapefiles as VIRTUAL TABLEs
   o you can then perform standard SQL queries on external shapefiles, with no need for importing or converting them
  * the VirtualText extension enables SQLite to access CSV/TxtTab files as VIRTUAL TABLEs
   o you can then perform standard SQL queries on external CSV/TxtTab files, with no need for importing or converting them
  * the GUI tool supports all this, in an user friendly way
 
* 이 외에도 RasteLite를 이용해서  래스터 저장, VirtualNetwork를 이용해서 라우팅 기능도 지원합니다.

▣ 설치 방법
 - 윈도우 기준입니다.
 - SQLite 최신버전(현재 3.6.23.1)을 다운로드한다. http://www.sqlite.org/download.html
 - SpatiaLite 최신버전(현재 2.4.0)을 다운로드 한다. http://www.gaia-gis.it/spatialite/
 - 폴더(SpatiaLite)를 하나 생성한 후 다운받은 파일들을 이 폴더에 모두 압축해제한다.
 - SQLite를 이용하거나 spatialite-gis.exe를 실행 후 DB를 생성 한 후 사용하면 된다.
 - SpatiaLite는 Quantum GIS에서도 지원하므로 이 프로그램을 이용하면 쉽게 데이터를 확인하거나 분석기능 등을 수행할 수 있다.

▣ SpatiaLite GUI

▣ SpatiaLite GIS

▣ Quantum GIS

다음 시간에는 SpatiaLite를 Java에서 활용하는 법 및 샘플코드를 준비하도록 하겠습니다.