如何检查postgis

时间:2015-06-26 14:18:12

标签: postgresql postgis intersection

我已经提取了所有交叉点的几何形状,我想找到所有的连接(例如交叉点1连接到两个,三个,四个,五个交叉点)。我正在考虑通过检查两个交叉点(点)是否在同一个LineString上来实现这一点。有人知道这是否是一个好方法?是否有任何函数可以调用以检查两个点是否在同一行?谢谢

1 个答案:

答案 0 :(得分:1)

如果两点(或任意数量的点)在多点中你 可以使用ST_Contains(Linestring,Multipoint),它将返回true

  

当且仅当B的外部没有B点时,   并且B内部的至少一个点位于   内部的A。

http://postgis.net/docs/manual-2.1/ST_Contains.html

您需要先将您的对收集到多个点,其中 如果你想测试所有可能的成对集,那么将是与n ^ 2成比例的多个多点 望而却步。在这种情况下,我会生成一个匹配的表 指向包含它们的每个线串,然后聚合它 表格按线串分组。

另请参阅http://postgis.net/docs/manual-2.1/ST_Relate.html了解更多信息 对象之间空间关系的一般测试。