将shapefile文件加载到SQLite(可选SpatiaLite)数据库中
项目描述
shapefile-to-sqlite
将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
这将创建一个包含 id
和 name
列的 agency
表,并在主表中创建 agency
列,作为对该表的整数外键引用。
可以多次使用 -c
选项。
CPAD_2020a_Units 是使用 -c
选项创建的表的示例。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
构建分发
shapefile-to-sqlite-0.4.2.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 68bccd2fbdd5a9edacf2398e1c72d5261b965ba4e835c7580601990b26711a21 |
|
MD5 | 7d7c01fd36c741e908df63daa9e17bd3 |
|
BLAKE2b-256 | 8955fe8b70938e8b20a2864d0439760b840a71296abdc78e2f7c650b81f27941 |
shapefile_to_sqlite-0.4.2-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c57d3654746cad7c83ce7f649eedd00bfc5751e7a0b0c90a3b48b37ad4af5d5 |
|
MD5 | 1076a5ad54977079178913458f339555 |
|
BLAKE2b-256 | ae4becda285141fe5ae43aeebc6902a7460fc07bf93510cd536a146f0d6e5417 |