这个项目名叫SpatiaLite,与其一同分发的还有一个VirtualShape。前者为SQLite增加空间数据支持,后者可以把一个Shapefile作为SQLite的数据库的虚表,通过SQL直接访问。
登录SpatiaLite的网站有各个平台的编译版本下载,在Windows上建议下载SQLiteGeo,将其解压到SQLite的目录即可,最好将SQLite的目录添加到Path中方便使用。
在命令行中执行
SQLiteGeo test.db
之后就可以用标准的SQL语句对数据库进行操作了,而涉及几何数据的函数和MySQL及PostGIS中的使用方法相同,如ASTEXT,GEOMFROMTEXT等等。
目前SpatiaLite支持的空间关系判断还仅仅是在最小外接矩形的层面上,即MBRContians等,这一点与MySQL5.0相同。
不过比MySQL5.0强大的是SpatiaLite支持CRS,可以通过SRID函数查询空间数据的坐标系信息,如
SELECT DISTINCT Srid(GaiaGeometry) FROM Towns;
可以通过TRANSFORM函数进行坐标系的转换,如:
BEGIN;
ALTER TABLE Towns ADD COLUMN wgs84 BLOB;
UPDATE Towns SET wgs84 = Transform(GaiaGeometry, 4326);
COMMIT;
对于没有定义坐标系信息的数据,可以通过SETSRID函数定义:
BEGIN;
UPDATE NewTowns SET geom = SetSrid(geom, 32632);
COMMIT;
与PostGIS等数据库相比,SQLite数据库更加便携,管理更加方便,跨平台,可以作为个人空间数据管理的解决方案。
参考: SpatiaLite Tutorial

