当前位置: 首页 > news >正文

PostGIS实现栅格数据导出TIFF应用实践【ST_AsTiff】

ST_AsTIFF 解析与应用实践

一、函数概述

ST_AsTIFF是 PostGIS 中用于将栅格数据(raster)转换为 TIFF(Tagged Image File Format)格式的工具函数。TIFF 是地理空间数据中最常用的栅格格式之一,支持多波段、无损压缩和地理参考信息嵌入,适用于高精度遥感影像、数字高程模型(DEM)等数据的存储与交换。该函数通过封装 GDAL 库功能,提供灵活的参数配置,满足不同场景下的 TIFF 导出需求。

二、核心参数解析

bytea ST_AsTIFF(raster rast,                -- 输入栅格mixed compression/options,  -- 压缩方式或GDAL选项数组integer[] nbands = NULL,    -- 选择导出的波段数组integer srid = sameassource -- 空间参考ID
);

参数说明:

  • 波段选择(nbands):

    • 未指定时导出所有波段,多波段按顺序映射为 RGB(如ARRAY[3,2,1]将波段 3→红,波段 2→绿,波段 1→蓝)。
    • TIFF 支持任意波段数,但常见遥感影像多为 3-4 波段(RGB + 近红外)。
  • 压缩方式(compression):

    • 无损压缩:LZW(推荐,平衡压缩率与画质)、DEFLATE(类似 ZIP)。
    • 有损压缩:JPEG(如JPEG90表示 90% 质量),适用于非高精度影像。
    • 特殊压缩:PACKBITS(适用于二值影像)、CCITT Group 4(传真压缩,适用于黑白影像)。
  • GDAL 选项(options):

    • 常用选项:
      • PHOTOMETRIC=RGB:设置色彩模式。
      • TILED=YES:生成 tiled TIFF(便于分块读取)。
      • BIGTIFF=YES:支持超过 4GB 的大文件
    • 完整选项见GDAL GTiff 驱动文档。
  • 空间参考(srid):

    • 默认为栅格自身 SRID,可显式指定(如导出时转换坐标系)。

三、典型用法示例

示例 1:导出多波段遥感影像(LZW 无损压缩)

SELECT ST_AsTIFF(rast, nbands := ARRAY[4,3,2],  -- 近红外、红、绿波段→假彩色compression := 'LZW',    -- 无损压缩srid := 3857             -- Web墨卡托坐标系
) AS tiff_data
FROM landsat_8
WHERE acquisition_date = '2023-07-15';

应用:生成用于植被分析的假彩色 TIFF,保留原始数据精度。

示例 2:导出单波段 DEM(JPEG 压缩)

SELECT ST_AsTIFF(rast, nband := 1,              -- 第1波段(高程)compression := 'JPEG75',  -- 75%质量有损压缩options := ARRAY['PHOTOMETRIC=GRAY']  -- 灰度模式
) AS dem_tiff
FROM dem_raster
WHERE region = 'mountainous';

效果:文件大小减少约 60%,适用于预览或非高精度分析。

示例 3:自定义 GDAL 选项(分块存储 + 元数据)

SELECT ST_AsTIFF(rast, nbands := ARRAY[1,2,3],  -- RGB三波段options := ARRAY['TILED=YES',           -- 分块存储(256×256像素)'COMPRESS=LZW',        -- 无损压缩'METADATA=VAL1=value1,VAL2=value2'  -- 自定义元数据],srid := 4326             -- WGS84坐标系
) AS tiled_tiff
FROM aerial_photography
WHERE flight_id = 'AP_2023';

优势:分块 TIFF 支持快速随机访问,适合 WebGIS 瓦片服务。

四、TIFF 格式与栅格转换规则

1. 波段映射规则:

  • 多波段导出时,顺序决定色彩通道(如ARRAY[2,1,3]将波段 2→红,波段 1→绿,波段 3→蓝)。
  • 4 波段时,第 4 波段自动映射为 Alpha 通道(透明)。

2. 数据类型转换:

  • PostGIS 栅格类型(如16BSI)自动转换为 TIFF 支持的类型:
    • 8BUI → Byte(0-255)
    • 16BSI → Int16(-32768~32767)
    • 32BF → Float32(浮点型)

3. 地理参考信息:

  • TIFF 通过以下方式存储空间参考:
    • SRID参数指定的坐标系(如 EPSG:4326)。
    • 世界文件(.tfw)或 GeoTIFF 标签(包含仿射变换参数)。

五、性能与优化

1. 大文件处理:

… …

全部文章内容请转【PostGIS专栏】,原创不易,求关注支持,更多开源GIS相关知识技能分享,免费提供学习问答交流。

在这里插入图片描述

相关文章:

  • RK3399 Android13设备插拔无线鼠标键盘设备出现APP或系统界面刷新现象
  • RISC-V 开发板 MUSE Pi Pro OpenCV结合Gstreamer实时显示CSI摄像头
  • 从负债到上岸:湖北理元理律师事务所的专业债务规划之道
  • 开源工具自建AI大模型底座:打造你的专属智能助理
  • 数据分析概述and环境配置
  • 驱动开发学习20250523
  • Unity 打包程序全屏置顶无边框
  • Docker端口映射与容器互联
  • 从 Docker 到 runC
  • 微信小程序:列表项上同样的css样式在IOS上字体大小不一样
  • uniapp uts 插件开发指南
  • 电路图识图基础知识-电气符号(二)
  • Nginx-配置详解
  • 【论文精读】2023 CVPRW--EAVSR现实世界视频超分辨率(RealWorld VSR)
  • 响应面法(Response Surface Methodology ,RSM)
  • 鸿蒙Ability对比Android的Fragment
  • CSS2相关知识点
  • IvorySQL-WASM:免安装的数据库探索之旅
  • 【沉浸式求职学习day47】【JSP详解】
  • [Datagear] [SQL]实现分组统计同时带汇总行的两种方式对比分析
  • 如何办理医药网站icp备安的前置审批/最基本的网站设计
  • qq建设网站首页/焦作seo公司
  • 简洁网站设计/图片优化
  • 建设旅游网站/搜外网友情链接
  • 福建省人民政府网站/网络广告营销的典型案例
  • 手机网站建设需要多少钱/seo搜索引擎优化业务