检查是否存在具有给定名称的PostGIS拓扑

时间:2015-01-13 13:52:43

标签: sql postgis topology

如何测试是否存在具有给定名称的PostGIS topology? 使用以下命令创建拓扑时,我不想遇到错误:

SELECT topology.CreateTopology('topology_name', 1);

2 个答案:

答案 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;