0.Spatialite介绍
SpatiaLite是一个为SQLite增加空间数据支持的项目。
Spatialite中的函数与Postgis中的空间函数基本一致,还能通过它将数据导入到Arcgis中进行数据处理,这极大方便了我们进行数据传输和使用,不管是在CS系统还是BS系统,我们都可以用它来进行数据存储。
SpatiaLite是一个用来扩展SQLite的内核的开源库,支持完全成熟的空间SQL功能。其特点有:
- 一个实现完整的SQL引擎的轻量级库
- 标准的SQL执行:几乎完全的SQL-92标准
- 没有复杂的客户端/服务器结构
- 整个数据库简单地对应于单个文件,且文件大小没有限制
- 跨平台
- 无需安装,无需配置
Spatialite提供一个完整而强大的空间数据库管理系统(主要是与OGC-SFS兼容),而且由于其跨平台及轻量级的特点,常被用于涉及LBS功能的移动端应用开发中。
1.安装使用
从官网上下载mod_spatialite的压缩包,下载地址
官网地址
在Windows环境下应用可以参照下无法加载“mod_spatialite”模块问题章节
2.Java后端服务连接Spatialite库
Java中使用主要用到spatialite-jdbc库,这个库可能比较小众,在Maven仓库中没有,需要直接将jar包引用进来,项目地址:https://github.com/benstadin/spatialite4-jdbc
2.1Maven项目引入spatialite-jdbc库
将项目jar包放在系统resources目录下面,然后在pom文件中添加下面的引用,注意jar包的命名和版本根据实际情况来。
<dependency>
<groupId>org.hdm</groupId>
<artifactId>spatialite-jdbc</artifactId>
<version>4.2.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/spatialite-jdbc-4.2.1-rc1.jar</systemPath>
</dependency>
2.2使用spatialite-jdbc操作Sqlite库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import