跳转到主要内容

命令行脚本,用于将云优化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 查看哈希)

上传时间 Python 3

由以下组织支持