新闻详情

新闻详情

首页 / 资讯中心 / 详情

PostGIS 矢量数据裁剪与合并拼接实践

发布时间:2026/11/12 8:03:46来源:尧图网络
PostGIS 矢量数据裁剪与合并拼接实践
1. 引言在空间数据处理中矢量数据的裁剪与合并拼接是两类高频且基础的操作。裁剪通常指用一个面如行政区边界去切割另一个面或线得到相交部分合并拼接则指把多个相邻或重叠的几何对象融合成一个整体或把分散的要素拼接为连续图层。本文以 PostGIS 为例结合 POLYGON 等几何类型梳理常用函数、SQL 写法和注意事项。2. 矢量数据裁剪矢量裁剪的核心是求两个几何对象的交集常用函数包括 ST_Intersection、ST_ClipByBox2D 和 ST_Intersects 过滤。2.1 ST_Intersection 裁剪ST_Intersection 返回两个几何对象的公共部分是最通用的裁剪方式。例如用一个矩形窗口裁剪一个多边形得到落在窗口内的部分。-- 用矩形窗口裁剪多边形 SELECT ST_Intersection( geom, ST_MakeEnvelope(112.66592, 26.10227, 112.75225, 26.24774, 4326) ) AS clipped_geom FROM polygon_table;2.2 ST_ClipByBox2D 快速裁剪当裁剪窗口是轴对齐矩形时ST_ClipByBox2D 比 ST_Intersection 更快因为它只做矩形裁剪不处理任意多边形相交的复杂情况。-- 使用边界框快速裁剪 SELECT ST_ClipByBox2D( geom, ST_MakeEnvelope(112.66592, 26.10227, 112.75225, 26.24774, 4326) ) AS clipped_geom FROM polygon_table;2.3 结合 ST_Intersects 过滤大批量裁剪时先用 ST_Intersects 做空间索引过滤只对真正相交的要素执行 ST_Intersection可显著提升性能。SELECT a.id, ST_Intersection(a.geom, b.geom) AS clipped_geom FROM target_table a JOIN clip_table b ON ST_Intersects(a.geom, b.geom);2.4 实战按 PID 裁剪并更新数据库实际业务中表里往往存有多条多边形记录一条数据就是一个多边形。下面演示查询 PID2 的所有多边形与给定矩形面做裁剪去掉矩形内的部分并把结果更新回数据库。-- 1. 查询 PID2 的所有多边形与矩形面做差集去掉矩形内的部分 WITH rect AS ( SELECT ST_GeomFromText( POLYGON((112.66592 26.24774, 112.75225 26.24774, 112.75225 26.10227, 112.66592 26.10227, 112.66592 26.24774)), 4326 ) AS geom ), clipped AS ( SELECT id, ST_Difference(p.geom, r.geom) AS new_geom FROM polygon_table p CROSS JOIN rect r WHERE p.pid 2 ) -- 2. 更新数据库用裁剪后的几何覆盖原几何 UPDATE polygon_table SET geom c.new_geom FROM clipped c WHERE polygon_table.id c.id;说明ST_Difference 返回第一个几何减去与第二个几何相交部分后的结果正好满足「去掉矩形内的部分」的需求。若某个多边形完全落在矩形内裁剪后几何可能为空更新前可用 ST_IsEmpty 判断按业务决定是保留空几何还是删除该记录。3. 矢量数据合并拼接合并拼接通常指把多个几何对象融合为一个整体或把相邻要素拼接成连续图层。常用函数包括 ST_Union、ST_Collect 和 ST_MakeValid。3.1 ST_Union 融合ST_Union 会把多个几何对象融合为一个消除重叠部分并合并边界适合把相邻多边形拼接成完整区域。-- 把同一区域的多块多边形融合为一个整体 SELECT ST_Union(geom) AS merged_geom FROM parcels WHERE district_id 101;3.2 ST_Collect 聚合拼接ST_Collect 把多个几何对象收集为一个集合MultiPolygon 或 GeometryCollection不做边界融合适合保留原始要素边界的拼接场景。-- 收集多个多边形为一个 MultiPolygon SELECT ST_Collect(geom) AS collected_geom FROM parcels WHERE district_id 101;3.3 ST_MakeValid 修复后合并实际数据常存在自相交、重复点等拓扑错误直接 ST_Union 可能失败。先用 ST_MakeValid 修复再合并更稳妥。-- 修复无效几何后再融合 SELECT ST_Union(ST_MakeValid(geom)) AS merged_geom FROM parcels WHERE district_id 101;4. 完整示例裁剪并拼接下面用一个完整示例演示先按行政区边界裁剪原始多边形再把裁剪结果拼接为一个整体。-- 1. 裁剪只保留落在目标区域内的部分 WITH clipped AS ( SELECT ST_Intersection(a.geom, b.geom) AS geom FROM raw_polygon a JOIN boundary b ON ST_Intersects(a.geom, b.geom) WHERE b.name 目标区域 ) -- 2. 拼接把裁剪结果融合为一个整体 SELECT ST_Union(geom) AS final_geom FROM clipped;5. 注意事项坐标系一致裁剪和合并前务必确保参与运算的几何对象使用相同坐标系SRID否则结果可能错位。拓扑有效性合并前建议先执行 ST_MakeValid避免自相交、重复点等错误导致函数失败或结果异常。性能优化大批量裁剪时先建空间索引并用 ST_Intersects 过滤再执行 ST_Intersection可大幅减少计算量。结果验证合并后可用 ST_IsValid 和 ST_Area 检查结果是否有效、面积是否符合预期。6. 总结PostGIS 中矢量数据的裁剪与合并拼接核心是掌握 ST_Intersection、ST_ClipByBox2D、ST_Union、ST_Collect 等函数的适用场景。裁剪时优先用空间索引过滤提升性能合并前先修复拓扑错误保证结果有效。结合坐标系统一和结果验证可以稳妥地完成从原始多边形到目标区域的裁剪与拼接。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/12 9:50:02

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/12 9:25:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/12 15:57:44

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉