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

PostGIS实现矢量数据转栅格数据【ST_AsRaster】

ST_AsRaster函数应用详解:将矢量数据转换为栅格数据

[文章目录]

一、函数概述

二、函数参数与分组说明

三、核心特性与注意事项

四、示例代码

五、应用场景

六、版本依赖

七、总结


一、函数概述

ST_AsRaster是PostGIS中用于将几何对象(如点、线、面)转换为栅格数据的核心函数。它通过多种参数组合,灵活控制输出栅格的空间参考、像素尺寸、对齐方式、波段数等属性,适用于地理数据栅格化、空间分析及可视化场景。

二、函数参数与分组说明

函数共有10种变体,可归纳为3大参数分组,每组核心差异在于栅格尺寸与对齐方式的定义方法。

1. 基于参考栅格的转换

通过已有栅格的属性(如像素大小、原点)定义输出栅格。

  • 适用场景:需保持与现有栅格一致的空间分辨率和对齐方式(如叠加分析)。
-- 单波段
raster ST_AsRaster(geometry geom, raster ref, text pixeltype, double precision value=1, double precision nodataval=0, boolean touched=false);
-- 多波段(数组参数)
raster ST_AsRaster(geometry geom, raster ref, text[] pixeltype=ARRAY['8BUI'], double precision[] value=ARRAY[1], double precision[] nodataval=ARRAY[0], boolean touched=false);

关键参数:

  • ref:参考栅格,决定输出栅格的scalex、scaley、gridx、gridy和 SRID。
  • pixeltype/pixeltype[]:像素类型(如’8BUI’表示 8 位无符号整数)。
  • value[]:各波段初始值(默认全为 1)。
  • touched:是否渲染与几何对象 “接触” 的像素(默认仅渲染内部像素)。

2. 基于像素尺寸的转换(自动计算栅格大小)

通过指定像素尺寸(scalex、scaley)定义栅格,输出栅格的宽度和高度由几何对象范围自动计算。

  • 适用场景:需固定像素分辨率,动态适配几何范围(如遥感影像处理)。
-- 单波段(指定网格原点)
raster ST_AsRaster(geometry geom, double precision scalex, double precision scaley, double precision gridx, double precision gridy, text pixeltype, ...);
-- 多波段(指定左上原点)
raster ST_AsRaster(geometry geom, double precision scalex, double precision scaley, text[] pixeltype, ..., double precision upperleftx=NULL, double precision upperlefty=NULL, ...);

关键参数:

  • scalex/scaley:像素宽度 / 高度(X/Y 方向分辨率)。
  • gridx/gridy:网格原点(左下角或任意角点)。
  • upperleftx/upperlefty:左上原点(替代gridx/gridy,更常用)。
  • skewx/skewy:像素倾斜参数(默认 0,用于非正交栅格)。

3. 基于固定尺寸的转换(自动计算像素尺寸)

通过指定栅格宽度和高度(width、height)定义栅格,像素尺寸由几何对象范围自动计算。

  • 适用场景:需固定栅格像素数量(如生成固定分辨率的缩略图)。
-- 单波段(指定网格原点)
raster ST_AsRaster(geometry geom, integer width, integer height, double precision gridx, double precision gridy, text pixeltype, ...);
-- 多波段(指定左上原点)
raster ST_AsRaster(geometry geom, integer width, integer height, text[] pixeltype, ..., double precision upperleftx=NULL, double precision upperlefty=NULL, ...);

关键参数:

  • width/height:栅格的列数 / 行数(像素数量)。
  • 其他参数与第二组类似,但scalex/scaley由几何范围与尺寸自动计算。

查看全部文章内容请转,更多开源GIS相关知识技能分享,提供学习问答交流

在这里插入图片描述

http://www.lryc.cn/news/2379090.html

相关文章:

  • FAST-DDS源码分析PDP(一)
  • python打卡day29@浙大疏锦行
  • 【数据结构】2-3-1单链表的定义
  • 贝塞尔曲线原理
  • 3D个人简历网站 4.小岛
  • 创建型:原型模式
  • 浅谈“量子计算应用:从基础原理到行业破局”
  • Java面试攻略:从Spring Boot到微服务架构的深入探讨
  • 关于文件分片的介绍和应用
  • Tapered Off-Policy REINFORCE_ 如何为LLM实现稳定高效的策略优化?
  • 使用lvm进行磁盘分区
  • [Java实战]Spring Boot整合Elasticsearch(二十六)
  • 图像分割(1)U-net
  • 数位和:从定义到编程实现
  • 2025抓包工具Reqable手机抓包HTTPS亲测简单好用-快速跑通
  • 使用 Auto-Keras 进行自动化机器学习
  • python 自动化教程
  • 简单使用Slidev和PPTist
  • RISC-V 开发板 MUSE Pi Pro V2D图像加速器测试,踩坑介绍
  • 人工智能100问☞第26问:什么是贝叶斯网络?
  • c++多线程debug
  • 如何畅通需求收集渠道,获取用户反馈?
  • 标准库、HAl库和LL库(PC13初始化)
  • LangGraph深度解析:构建持久化、可观测的智能体工作流
  • 设备预测性维护的停机时间革命:中讯烛龙如何用AI重构工业设备管理范式
  • day29 python深入探索类装饰器
  • Python数据分析三剑客:NumPy、Pandas与Matplotlib安装指南与实战入门
  • 二:操作系统之进程控制块(PCB)
  • Spring-Beans的生命周期的介绍
  • Android 自定义悬浮拖动吸附按钮