بنقرة واحدة
postgis-analysis
PostGIS空间数据库分析技能。使用ST_*空间函数执行空间查询、距离计算、面积统计和空间关系判断。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
PostGIS空间数据库分析技能。使用ST_*空间函数执行空间查询、距离计算、面积统计和空间关系判断。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
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 表