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

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相关知识技能分享,提供学习问答交流

在这里插入图片描述

相关文章:

  • pnpm项目内网迁移
  • minicom串口调试助手
  • Linux云计算训练营笔记day10(MySQL数据库)
  • MapReduce-WordCount实现按照value降序排序、字符小写、识别不同标点
  • 计算机科技笔记: 容错计算机设计05 n模冗余系统 TMR 三模冗余系统
  • C++多态与虚函数详解——从入门到精通
  • 编译原理--期末复习
  • 【2025软考高级架构师】——2022年11月份真题与解析
  • 浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
  • Python字符串格式化(一):三种经典格式化方法
  • Filament引擎(一) ——渲染框架设计
  • 宝塔面板部署前后端项目SpringBoot+Vue2
  • 【C语言】字符串函数及其部分模拟实现
  • 【数据结构】2-3-4 单链表的建立
  • 实现菜谱二级联动导航
  • java每日精进 5.18【文件存储】
  • 张 心理问题的分类以及解决流程
  • Django 项目创建全攻略
  • NE555双音门铃实验
  • Docker配置SRS服务器 ,ffmpeg使用rtmp协议推流+vlc拉流
  • 西浦国际教育创新论坛举行,聚焦AI时代教育本质的前沿探讨
  • 官方数据显示:我国心血管疾病患者已超3亿人
  • 四大皆空!赛季还没结束,曼城已经吃上“散伙饭”了
  • 《风林火山》千呼万唤始出来,戛纳首映后口碑崩盘?
  • 莫高义在第四届中国新闻发言人论坛开幕式上的致辞
  • 张国清将赴俄罗斯举行中俄“长江—伏尔加河”地方合作理事会第五次会议和“东北—远东”政府间合作委员会双方主席会晤