背景
sqlite3是轻量级关系型数据库,使用非常方便,可以满足日常需求,但有时候需要geojson来表达物理世界,通过geojson可见即可达,那么如果转换sqlite3为geojson呢?
ogr2ogr是功能非常强大的开源工具,可以支持ogr规范所有数据表达模型
通过ogr2ogr直接转换sqlite3为geojson,我没有执行成功,总是报错,通过曲线救国方式最终完成了转换。如果有人直接转换成功了,辛苦赐教下。
转换步骤
1. sqlite3->shapefile
# output: 输出目录
# sample.sq3:源sqlite3数据库
ogr2ogr -lco encoding=UTF-8 -f 'ESRI Shapefile' output sample.sq3
# 查看shp文件信息内容
ogrinfo -al -ro sample.shp
2. shapefile->geojson
# 如果有shp文件,即有几何信息,shp:存储几何信息
ogr2ogr -f 'GeoJSON' sample.geojson sample.shp
重点
sqlite3->shapefile精度丢失
修复前
sqlite3->shapefile,如果数据库第一条记录为整数,及时数据库该字段声明为decimal,转换为shapefile的时候,该字段类型会被设置为整形。
查看sqlite3的表结构用.schema table_name