(可选)加载到SQLShapeFile数据库中
shapefile-to-sqlite的Python项目详细描述
形状文件到sqlite
将shapefile加载到SQLite(可选的spacealite)数据库中。在
项目背景:Things I learned about shapefiles building shapefile-to-sqlite
如何安装
$ pip install shapefile-to-sqlite
如何使用
可以对shapefile文件运行此工具,如下所示:
^{pr2}$这将在文本列中将几何图形作为GeoJSON加载。在
与SpatiaLite一起使用
如果有SpatiaLite可用,则可以将它们作为空间几何体加载,如下所示:
$ shapefile-to-sqlite my.db features.shp --spatialite
数据将根据shapefile的名称加载到名为features
-的表中。您可以使用--table
指定一个替代表名:
$ shapefile-to-sqlite my.db features.shp --table=places --spatialite
SpatiaLite将在以下模块中搜索位置:
/usr/lib/x86_64-linux-gnu/mod_spatialite.so
/usr/local/lib/mod_spatialite.dylib
如果已将模块安装在其他位置,则可以使用--spatialite_mod=xxx
选项指定位置:
$ shapefile-to-sqlite my.db features.shp \
--spatialite_mod=/usr/lib/mod_spatialite.dylib
您可以使用--spatial-index
选项在geometry
列上创建空间索引:
$ shapefile-to-sqlite my.db features.shp --spatial-index
如果使用--spatialite-mod
或{--spatialite
。在
投影
默认情况下,此工具将尝试将shapefile中的几何图形转换为WGS 84投影,以便与GeoJSON specification最佳一致。在
如果希望它将数据保留在shapefile使用的任何投影中,请使用--crs=keep
选项。在
通过将数据传递给--crs
选项,可以将数据转换为另一个输出投影。例如,要转换为EPSG:2227(加州3区),请使用--crs=espg:2227
。在
--crs
选项接受的格式的完整列表是documented here。在
正在提取列
如果您的数据包含具有少量重复值的列(例如负责地块的特定机构的名称),则可以使用-c
选项将这些列提取到由外键引用的单独的查找表中:
$ shapefile-to-sqlite my.db features.shp -c agency
这将创建一个包含id
和name
列的agency
表,并将在主表中创建agency
列作为对该表的整数外键引用。在
-c
选项可以多次使用。在
- 项目
标签: