跳转到主要内容

将shapefile文件加载到SQLite(可选SpatiaLite)数据库中

项目描述

shapefile-to-sqlite

PyPI Changelog Tests License

将shapefile文件加载到SQLite(可选SpatiaLite)数据库中。

项目背景: 在构建shapefile-to-sqlite时我学到了关于shapefile的一些事情

如何安装

$ pip install shapefile-to-sqlite

如何使用

您可以使用此工具针对shapefile文件进行操作,如下所示

$ shapefile-to-sqlite my.db features.shp

这将把几何形状作为GeoJSON加载到文本列中。

与SpatiaLite一起使用

如果您有 SpatiaLite 可用,您可以将它们作为SpatiaLite几何形状以这种方式加载

$ shapefile-to-sqlite my.db features.shp --spatialite

数据将被加载到名为 features 的表中 - 基于shapefile的名称。您可以使用 --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--spatial-index 中的任何一个,您可以省略 --spatialite

投影

默认情况下,此工具将尝试将shapefile中的几何形状转换为WGS 84投影,以最佳地符合GeoJSON规范

如果您希望将其保留为shapefile使用的任何投影,请使用 --crs=keep 选项。

您可以通过传递到 --crs 选项来将数据转换为其他输出投影。例如,要将数据转换为EPSG:2227(加利福尼亚区3),请使用 --crs=espg:2227

--crs 选项接受的完整格式列表,请参阅此处文档

提取列

如果您的数据包含具有少量高度重复值的列(例如负责土地块的具体机构名称),您可以使用 -c 选项将这些列提取到单独的查找表中,并通过外键引用

$ shapefile-to-sqlite my.db features.shp -c agency

这将创建一个包含 idname 列的 agency 表,并在主表中创建 agency 列,作为对该表的整数外键引用。

可以多次使用 -c 选项。

CPAD_2020a_Units 是使用 -c 选项创建的表的示例。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

shapefile-to-sqlite-0.4.2.tar.gz (9.7 kB 查看哈希)

上传时间

构建分发

shapefile_to_sqlite-0.4.2-py3-none-any.whl (10.7 kB 查看哈希)

上传时间 Python 3

由以下支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面