用于将GeoJSON转换为SQLite的CLI工具(可选地使用SpatiaLite)
geojson-to-sqlite的Python项目详细描述
geojson到sqlite
用于将GeoJSON转换为SQLite的CLI工具(可选地使用SpatiaLite)
如何安装
$ pip install geojson-to-sqlite
如何使用
您可以对GeoJSON文件运行此工具,如下所示:
^{pr2}$这将把features.geojson
文件中的所有特性加载到名为features
的表中。在
每一行将有一个geometry
列,其中包含特性几何体,以及附加到这些特性的任何properties
中找到的每个键的列。在
表将在您第一次运行命令时创建。在
在随后的运行中,您可以使用--alter
选项添加表中缺少的任何新列。在
如果您的特性有一个"id"
属性,它将被用作表的主键。您还可以将--pk=PROPERTY
与其他属性的名称一起使用,以将其用作主键。如果您不想使用"id"
作为主键(可能它包含重复的值),可以使用--pk ''
不指定主键。在
如果没有指定主键,将使用SQLite rowid
列。在
您可以使用-
作为从标准输入导入的文件名。例如:
$ curl https://eric.clst.org/assets/wiki/uploads/Stuff/gz_2010_us_040_00_20m.json \
| geojson-to-sqlite my.db states - --pk GEO_ID
与SpatiaLite一起使用
默认情况下,geometry
列将包含JSON。在
如果安装了SQLite的SpatiaLite模块,则可以将几何图形导入到地理空间索引列中。在
您可以使用--spatialite
选项执行此操作,如下所示:
$ geojson-to-sqlite my.db features features.geojson --spatialite
该工具将在以下位置搜索SpatiaLite模块:
/usr/lib/x86_64-linux-gnu/mod_spatialite.so
/usr/local/lib/mod_spatialite.dylib
如果已将模块安装在其他位置,则可以使用--spatialite_mod=xxx
选项指定位置:
$ geojson-to-sqlite my.db features features.geojson \
--spatialite_mod=/usr/lib/mod_spatialite.dylib
在Datasette中使用这个
使用此工具创建的数据库可以使用Datasette进行浏览和发布。在
datasete文档包含一个关于how to use it to browse SpatiaLite databases的部分。在
datasette-leaflet-geojson插件可用于在Leaflet地图上可视化包含GeoJSON几何图形的列。在
如果使用的是SpatiaLite,则需要将几何体输出为GeoJSON,以便插件正常工作。您可以使用spitalite AsGeoJSON()
函数来实现这一点,如下所示:
selectrowid,AsGeoJSON(geometry)frommytablelimit10
- 项目
标签: