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

行情软件免费下载的网站网页模版图片

行情软件免费下载的网站,网页模版图片,报备小程序怎么制作,网站整体设计ST_AsBinary解析与应用实践(同ST_AsWKB) 一、函数概述二、核心参数解析三、典型用法示例四、Out-DB 波段处理机制五、二进制格式与其他格式的转换六、性能与存储优化七、应用场景八、注意事项九、扩展应用:基于Python Web的栅格二进制数据的…

ST_AsBinary解析与应用实践(同ST_AsWKB)

  • 一、函数概述
  • 二、核心参数解析
  • 三、典型用法示例
  • 四、Out-DB 波段处理机制
  • 五、二进制格式与其他格式的转换
  • 六、性能与存储优化
  • 七、应用场景
  • 八、注意事项
  • 九、扩展应用:基于Python Web的栅格二进制数据的网络传输
  • 十、总结

一、函数概述

ST_AsBinary和ST_AsWKB是 PostGIS 中用于将栅格数据(raster)转换为二进制格式的工具函数,主要用于:

  • 高效存储与传输栅格数据(避免文本格式的冗余)。
  • 支持二进制游标(Binary Cursor)从数据库中提取数据。
  • 兼容 OGC 标准的栅格二进制表示,便于与其他 GIS 系统交互。

两者本质功能相同,ST_AsWKB是ST_AsBinary的别名,均遵循 PostGIS 自定义的栅格 WKB(Well-Known Binary)格式规范。

二、核心参数解析

bytea ST_AsBinary(raster rast,                -- 输入栅格boolean outasin = FALSE     -- 控制外存波段处理方式
);

参数说明:

1. outasin 参数:

  • FALSE(默认):外存波段(Out-DB Bands)在二进制中存储文件路径。
  • TRUE:外存波段数据直接嵌入二进制中(类似内存波段),避免客户端访问文件路径权限问题。

2. 二进制格式规范:

  • PostGIS 栅格 WKB 格式遵循RFC2 规范,主要包含:

    • 栅格元数据(宽度、高度、波段数等)。
    • 每个波段的像素数据(按波段顺序存储)。
    • 空间参考信息(SRID、仿射变换参数)。

三、典型用法示例

示例 1:导出栅格为二进制数据(内存波段)

-- 将栅格转换为二进制,用于二进制流传输
SELECT ST_AsBinary(rast) AS raster_binary
FROM satellite_raster
WHERE acquisition_date = '2023-07-15' AND band_id = 1;

应用:通过网络接口传输栅格数据时,二进制格式比其他格式(如 GeoTIFF)更高效。

示例 2:处理外存波段

-- 外存波段栅格转换为自包含二进制
SELECT ST_AsBinary(rast := dem_rast,outasin := TRUE  -- 嵌入外存波段数据
) AS self_contained_binary
FROM raster_catalog
WHERE storage_type = 'out-db';

场景:当客户端无法访问服务器文件系统时,确保栅格数据完整传输。

示例 3:二进制数据导入与验证

-- 从二进制还原栅格并验证元数据
WITH binary_data AS (SELECT ST_AsBinary(rast) AS bin FROM dummy_rast WHERE rid = 1
),
restored_rast AS (SELECT ST_FromWKB(bin) AS rast FROM binary_data
)
SELECT ST_Width(rast) AS width,ST_Height(rast) AS height,ST_NumBands(rast) AS band_count
FROM restored_rast;

输出:验证还原栅格的元数据与原始栅格一致,确保二进制转换无损失。

四、Out-DB 波段处理机制

1. Out-DB 存储模式:

  • 栅格像素数据存储在文件系统,数据库仅记录文件路径(如/path/to/raster_123.dat)。
  • 优点:减少数据库体积,适合大尺寸栅格。

2. outasin=TRUE 的影响:

  • 强制将 Out-DB 波段的像素数据读取并嵌入二进制中,转换为 In-DB 存储模式(临时)。
  • 注意:可能导致二进制数据量大幅增加(如 1GB 栅格文件嵌入后二进制大小约 1GB)。

五、二进制格式与其他格式的转换

1. 二进制→栅格对象:

  • 使用ST_FromWKB(bytea)或ST_FromBinary(bytea)还原栅格:
SELECT ST_FromWKB(raster_binary) AS restored_rast
FROM binary_storage;

2. 与 GDAL 格式互转:

  • 先转换为二进制,再通过ST_AsGDALRaster导出为其他格式:
SELECT ST_AsGDALRaster(ST_FromWKB(raster_binary), 'GTiff') AS tiff_data
FROM binary_table;

六、性能与存储优化

1. 二进制传输效率:

  • 相比文本格式,二进制格式传输速度提升约 30-50%,存储空间减少约 40%。

2. Out-DB 波段策略:

  • 若客户端可访问服务器文件系统,保持outasin=FALSE(仅存储路径,传输效率更高)。
  • 若需跨服务器传输,使用outasin=TRUE确保数据自包含。

3. 大栅格处理:

  • 对大尺寸栅格(如 10GB+),建议分块转换(ST_Tile)后再二进制化,避免内存溢出。

七、应用场景

1. 数据库备份与恢复:

  • 二进制格式用于栅格数据的高效备份,减少存储空间和恢复时间。

2. 实时数据传输:

  • 遥感卫星数据实时入库时,通过二进制流快速写入数据库。

3. 跨平台数据交换:

  • 与非 PostGIS 系统(如 ArcGIS、QGIS)交换栅格数据时,使用标准 WKB 格式。

4. 二进制缓存:

  • 将频繁访问的栅格数据缓存为二进制,加速后续查询。

八、注意事项

1. 权限问题:

  • outasin=FALSE时,客户端需有服务器文件系统的读取权限,否则无法解析 Out-DB 波段。

2. 数据一致性:

  • 若 Out-DB 波段文件被删除或移动,outasin=FALSE的二进制数据将无法还原。

3. 版本兼容性:

  • PostGIS 栅格 WKB 格式可能随版本更新,建议使用ST_Version()确认兼容性。

4. 二进制解析:

  • 自定义程序解析栅格 WKB 时,需严格遵循RFC2 规范,注意字节序(大端 / 小端)。

九、扩展应用:基于Python Web的栅格二进制数据的网络传输

… …

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

在这里插入图片描述

http://www.dtcms.com/wzjs/841859.html

相关文章:

  • 注册网站合集网站建设高端公司
  • 网站后台用什么做高端品牌鞋子有哪些牌子
  • 网站建设如何包含数据库网站的基础建设
  • 苏州网站建设设计公司企业电子商务网站建设问题
  • 昆山网站设计公司软件开发文档的基本格式
  • 沧州做网站优化网站建设督查报告
  • 深圳住房和城乡建设部网站wordpress侧边栏菜单
  • 网站建设的一般费用百度搜索大全
  • 北京建设监理协会官方网站青岛代理注册公司电话
  • 部门门户网站建设请示长春快速建站公司
  • 吉水县建设局网站怎样跟网站做优化呢
  • 百度突然搜不到我的网站自己做衣服的网站
  • 电子商务网站软件建设核心网站相册源码
  • 网站设计报价是多少钱可以帮忙做网站做公司
  • 用wordpress制作网站模板下载百度行发代理商
  • 郑州做网站锐深圳招聘信息最新招聘2021
  • 宝安网站建设方案外包网站建设结论
  • 昆明乐网网站建设php内容管理系统cms
  • 用html5做的简单的网站在线制作名片
  • 秦皇岛做网站seo的程序员40岁失业死定了
  • 南昌网站建设方案优化耒阳市建设局网站
  • wordpress 迁移网站如何注册域名网站
  • 怎么自己开个免费网站加工平台纳米所
  • 网站没有icp备案西安品牌网站建设
  • 佛山营销型网站定制网页设计培训怎么做好
  • 公司网站 域名 cn com访问网站的原理
  • php网站开发工作描述建设教育网站的国内外研究现状
  • 有没有免费的手机网站建设铁岭卫生职业学院官方网站建设
  • 渭南市建网站wordpress用redis和mem
  • 最简单的网站开发网站开发商品管理