with one click
postgis-analysis
PostGIS空间数据库分析技能。使用ST_*空间函数执行空间查询、距离计算、面积统计和空间关系判断。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
PostGIS空间数据库分析技能。使用ST_*空间函数执行空间查询、距离计算、面积统计和空间关系判断。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
AI-assisted custom skill creation from natural language requirements
卫星影像数据获取与分析技能。预置Sentinel-2/Landsat/SAR/DEM数据源模板、LULC土地利用数据下载、影像预处理和多源数据集成。
遥感光谱分析技能。计算15+光谱指数(NDVI/EVI/NDWI/NDBI/NBR等)、智能指数推荐、云覆盖评估、多时相对比和植被/水体/城市/火灾监测。
测绘成果质量检查与验收智能体,遵循 GB/T 24356 标准
地理空间世界模型技能(Tech Preview)。基于 Google AlphaEarth 嵌入 + LatentDynamicsNet 残差 CNN,在潜空间中自回归预测土地利用变化趋势。支持 5 种情景模拟,构成 JEPA 架构的地理空间世界模型。
数据入库前质量审查技能(Reviewer 模式)。基于可替换检查清单执行结构化审查,确保数据满足入库标准。
| name | postgis-analysis |
| description | PostGIS空间数据库分析技能。使用ST_*空间函数执行空间查询、距离计算、面积统计和空间关系判断。 |
| metadata | {"domain":"database","version":"2.0","intent_triggers":"PostGIS, SQL, 空间查询, ST_, 数据库分析, 空间SQL"} |
本技能用于通过 PostGIS 空间函数对入库的矢量数据执行高效空间分析。涵盖空间关系判断、
距离与面积计算、几何操作和空间聚合,适用于用地合规检查、缓冲区分析、叠加统计等场景。
所有查询通过 database_tools.py 执行,自动注入用户上下文(SET app.current_user)。
ST_Intersects(A, B):A 与 B 是否有交集(最常用,配合空间索引高效过滤)ST_Within(A, B):A 是否完全在 B 内部(如:地块是否在规划区内)ST_Contains(A, B):B 是否完全包含 A(与 ST_Within 互逆)ST_Crosses(A, B):A 是否穿越 B(如:道路是否穿越保护区)ST_Touches(A, B):A 与 B 是否仅边界相接(邻接分析)ST_Disjoint(A, B):A 与 B 是否完全不相交(排除分析)ST_DWithin(A, B, distance):A 与 B 距离是否在阈值内(近邻搜索,利用索引)ST_Distance(A::geography, B::geography):返回两几何体间最短距离(米)ST_Area(geom::geography):返回面积(平方米),自动考虑椭球体ST_Length(geom::geography):返回线要素长度(米)ST_Perimeter(geom::geography):返回多边形周长(米)geography 类型或投影坐标系才能获得米制单位结果ST_Buffer(geom, radius):缓冲区生成(geography 类型单位为米)ST_Intersection(A, B):求交集几何体(叠加裁剪)ST_Difference(A, B):A 减去 B 的差集(擦除操作)ST_Union(geom):聚合函数,合并多个几何体(融合/溶解)ST_Collect(geom):聚合函数,收集为 MultiGeometry(不合并边界)ST_Centroid(geom):质心点(用于标注定位)ST_ConvexHull(geom):凸包(最小外接凸多边形)ST_MakeValid(geom):修复无效几何体(自相交、重复点等)ST_Transform(geom, srid):坐标系转换ST_Area(ST_Transform(geom, 32650)) 或 ST_Area(geom::geography)CREATE INDEX idx_geom ON table USING GIST(geom);&&(包围盒相交)粗筛,再用精确函数细筛ST_Intersects 已内置两阶段优化,优先使用ST_Transform),会导致索引失效-- 缓冲区内要素统计(高效写法)
SELECT b.name, COUNT(*) AS cnt, SUM(ST_Area(a.geom::geography)) AS total_area_m2
FROM parcels a
JOIN protected_zones b ON ST_DWithin(a.geom::geography, b.geom::geography, 500)
GROUP BY b.name;
-- 叠加分析:耕地与规划区交集
SELECT a.parcel_id, b.zone_name,
ST_Area(ST_Intersection(a.geom, b.geom)::geography) AS overlap_m2
FROM farmland a
JOIN planning_zones b ON ST_Intersects(a.geom, b.geom);
-- 面积汇总(按行政区)
SELECT district, SUM(ST_Area(geom::geography)) / 10000 AS area_hectares
FROM land_parcels
GROUP BY district
ORDER BY area_hectares DESC;
ST_Within(parcel.geom, zone.geom)ST_Area(ST_Intersection(...)::geography)ST_DWithin(building.geom::geography, river.geom::geography, 30)ORDER BY geom <-> ST_SetSRID(ST_MakePoint(lng, lat), 4326) LIMIT kST_Buffer + ST_Union 生成服务范围,统计覆盖人口GROUP BY district + SUM(ST_Area(...))ST_Union(geom) + GROUP BY land_typeST_SquareGrid 或 ST_HexagonGrid(PostGIS 3.1+)list_tables 查看可用数据表describe_table 了解表结构、几何类型和坐标系ST_Transform)execute_sql 执行查询,检查结果ST_Transform 统一后再连接ST_Distance 排序,改用 ST_DWithin 预过滤ST_MakeValid(geom) 修复,再做空间运算list_tables:列出当前数据库中的空间表describe_table:查看表结构、字段类型、几何列信息execute_sql:执行 SQL 查询(自动注入用户上下文,支持 RLS)import_to_postgis:将本地文件导入 PostGIS 表