孤立边界内的Pgrouting

问题描述 投票:3回答:1

我是PostGis的新手,正在探索pgrouting功能。我们的需求是追踪一个楼层内的资产。例如,我们的数据由几栋建筑、楼层信息和楼层内的资产组成。每一栋楼都是孤立的(彼此之间不相连,但每栋楼都有多个楼层),我想选择一个楼层并追踪楼层内的资产。我想选择一个楼层,并跟踪(最短路径)所选楼层内的资产。

在这种情况下,我如何建立拓扑结构?我看了一下文档,有pgr_labelGraph来标注子网。

谁能帮我指点一下,我可以如何解决这个问题。

至于datamodel,大楼有多个楼层。两者都是通过一个外键加入我们已经捕获了所有的资产geoms在一个共同的表喜欢通过一个外键与每个内部_floor对象。

先谢谢你

postgis dijkstra pgrouting
1个回答
0
投票

发挥你的想象力,在下面的建筑物的视觉表现。

  • 你有一栋楼
  • 大楼有几层
  • 楼上有厅堂
  • 楼层与楼层之间通过楼梯和电梯连接。
  • 主楼有一个出口门,连接到外面。

如何编制从一个房间到另一个房间的路由图?

2层楼房

  • 节点是:外面、房间的门、楼梯门和电梯门,以及走廊沿途的所有节点:a1~a4 &b1~b4。
  • 黑边在大厅中间。
  • 蓝色的边框从大厅中间一直到房门。
  • 连接楼层的边缘分别是楼梯和电梯井。

路由的边缘表可能有这些信息。

对于(stair_door1, the stair_door2)的边缘:

  • id=1
  • source = 15 (假设star_door1的id为15)
  • target = 66 (假设star_door2的id为16)
  • 成本=1.5(上楼比较慢)
  • 反向成本=0.6(下楼更快)。

为(电梯门1, 电梯门2)边缘。

  • id = 1
  • source = 15 (假设star_door1的id为15)
  • target = 66 (假设star_door2的id为16)
  • 成本=0.3
  • 反向成本=0.3

以此类推,每条边都是如此。

你必须决定成本是什么,如果你有几何图形可用,你可能会使用长度,使用不定向图。

一旦你有了你的边缘表和顶点表(记住一个图的 G = {E, V})),您可以继续使用,例如 pgr_dijkstra

这就是你所需要的所有路由,正如你所看到的,不需要几何图形等,但是,对于最终的应用en边缘和顶点表,你可能需要几何图形,名称(如节点名称),楼层号等,但是表上的附加列取决于应用。

© www.soinside.com 2019 - 2024. All rights reserved.