命令行脚本,用于将云优化GeoTIFF转换为h3单元格并插入到PostgreSQL数据库
项目描述
云优化GeoTIFF到H3单元格
此脚本处理云优化GeoTIFF(COGs),并将它们转换为H3六边形网格,将结果存储在PostgreSQL数据库中。它支持多波段栅格、重采样和各种处理选项。
功能
- 从URL下载并处理COGs
- 将栅格数据转换为H3六边形
- 支持多波段栅格
- 自定义H3分辨率
- 各种重采样方法
- 在重采样期间保留栅格值范围选项
- 使用PostgreSQL进行高效数据库存储
先决条件
-
Python 3.7+
-
PostgreSQL数据库
-
确保您的输入COG在WGS 1984投影中。如果不是,请使用gdalwarp进行重投影
gdalwarp -overwrite input.tif output.tif -s_srs EPSG:32645 -t_srs EPSG:4326
- 使用
gdalwarp
将nodata值设置为0
gdalwarp -dstnodata 0 input.tif output.tif
- 将GeoTIFF转换为COG格式
gdal_translate -of COG input.tif output_cog.tif
所有预处理步骤都包含在./pre.sh
bash脚本中
环境变量
设置以下环境变量或使用默认值
DATABASE_URL
: PostgreSQL连接字符串(默认: "postgresql://postgres:postgres@localhost:5432/postgres")STATIC_DIR
: 存储下载的COGs的目录(默认: "static")
示例
export DATABASE_URL="postgresql://user:password@host:port/database"
export STATIC_DIR="/path/to/cog/storage"
用法
使用以下命令运行脚本
python cog2h3.py --cog <COG_URL> --table <TABLE_NAME> [OPTIONS]
必需参数
--cog
: 云优化GeoTIFF的URL(必须位于WGS84投影中)--table
: 存储结果的数据库表名
可选参数
--res
: H3分辨率级别(默认:8)--preserve_range
: 在重采样时保留栅格的值域--multiband
: 处理多波段栅格的所有波段--sample_by
: 重采样方法(默认:"bilinear")
可用的重采样方法:nearest, bilinear, cubic, cubic_spline, lanczos, average, mode, gauss, max, min, med, q1, q3, sum, rms
示例
python cog2h3.py --cog my-cog.tif --table cog_h3 --res 8
贡献
欢迎贡献!欢迎
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
cog2h3-0.0.3.tar.gz (17.9 kB 查看哈希)
构建分发
cog2h3-0.0.3-py3-none-any.whl (18.7 kB 查看哈希)