SuperAPI AI 工具集

design-postgis-tables

设计与创作

查看项目

更新于 10-15 21:06

技能介绍

用途:帮助在 PostgreSQL 中设计 PostGIS 空间表,从类型选择、坐标系、索引到查询性能模式提供参考。

主要能力: 选型指导:按地理范围与精度需求选择 GEOMETRY(投影/局部、笛卡尔运算更快、函数齐全)或 GEOGRAPHY(全球 GPS 数据、始终以米计距、仅支持 SRID 4326、GiST 索引)。 几何类型:POINT/MULTIPOINT、LINESTRING/MULTILINESTRING、POLYGON/MULTIPOLYGON 及 Z/M 后缀,建议用 GEOMETRY(type, SRID) 约束类型。 坐标系:常用 SRID 4326、3857、UTM 各带;建议以 4326 存储、投影后计算精确距离/面积,不混用 SRID。 索引:默认 GiST;超大且物理有序的追加表可考虑 BRIN(pages_per_range=128);仅点数据可用 SP-GiST;GEOGRAPHY 仅支持 GiST。 建表示例:POI、地块、GPS 轨迹、服务区,含生成列存面积/质心、CHECK 校验有效性。 性能模式:过滤用 ST_DWithin 而非 ST_Distance;用 && 预筛;避免在索引列上套函数,改用生成列;显示时 ST_Simplify、控制精度。 数据校验:ST_IsValid/ST_MakeValid、SRID 一致性、坐标范围约束。

必要用法示例(保持原样): CREATE INDEX idx_your_table_geom_gist ON your_table_name USING GIST (geom); SELECT * FROM pois WHERE ST_DWithin(location, ref_point, 1000);

限制与注意:GEOGRAPHY 函数支持约 40 个且更慢;BRIN 过滤较粗仅支持包围盒操作符;注意 (经度, 纬度) 顺序;坐标精度 6 位小数足够;用户输入需参数化查询,动态标识符用 quote_ident 或白名单,避免 SQL 注入。平台、收费与效果资料暂未提供。