如何测试是否存在具有给定名称的PostGIS topology? 使用以下命令创建拓扑时,我不想遇到错误:
SELECT topology.CreateTopology('topology_name', 1);
答案 0 :(得分:2)
SELECT topology.CreateTopology('topology_name', 1)
WHERE NOT EXISTS (
SELECT * FROM topology.topology WHERE name = 'topology_name'
);
我假设您拥有spatial_ref_sys
的自定义SRID=1
记录,或者创建声明无法找到SRID
。
答案 1 :(得分:1)
您可以尝试使用条件表达式和topology.GetTopologyID
,例如:
SELECT COALESE(topology.GetTopologyID('topology_name'), topology.CreateTopology('topology_name', 1)) AS topo_id;