TRSP - 函数族¶
当点也作为输入给出时:
建议
Warning
下一版本的拟议功能。
它们并未正式出现在当前版本中。
它们可能会正式成为下一个版本的一部分:
这些函数使用 ANY-INTEGER 和 ANY-NUMERICAL
名字可能不会改变。(但仍然有可能改变)
签名可能不会改变。(但仍然有可能改变)
功能可能不会改变。(但仍然有可能改变)
pgTap 测试已经完成。 但可能需要更多。
文档可能需要完善。
pgr_trsp - 拟议 - Vertex - 有限制的顶点路由。
pgr_trspVia - 拟议 - 有限制的通过顶点路由。
pgr_trsp_withPoints - 拟议 - 有限制的顶点/点路由。
pgr_trspVia_withPoints - 拟议 - 通过有限制的顶点/点路由。
Warning
阅读 迁移指南 了解如何从已弃用的 TRSP 功能迁移到新的签名或替换功能。
实验性的
Warning
可能服务器崩溃
这些功能可能会导致服务器崩溃
Warning
实验功能
它们不是当前版本的正式版本。
它们可能不会正式成为下一个版本的一部分:
这些函数可能不使用 ANY-INTEGER 和 ANY-NUMERICAL
名称可能会改变。
签名可能会改变。
功能可能会改变。
pgTap 测试可能丢失。
可能需要 c/c++编码。
可能缺乏文档。
文档(如果有)可能需要重写。
可能需要自动生成文档示例。
可能需要社区的大量反馈。
可能取决于 pgRouting 的拟议功能
可能依赖于 pgRouting 的已弃用函数
pgr_turnRestrictedPath - 实验性 - 有限制的路由。
介绍¶
道路限制是一系列不能按顺序采取的路段。 有向图上隐含了一些限制,例如单向道路,其中错误的边甚至不会插入到图上。 但通常在转弯时如不许左转或不许右转,因此得名转弯限制,这儿是一些常见限制。
TRSP算法¶
内部 TRSP 算法对 dijkstra 算法执行前瞻,以查明尝试的路径是否有限制。 这允许算法在同一顶点上传递两次。
参数¶
参数 |
类型 |
描述 |
---|---|---|
|
Edges SQL 按描述查询。 |
|
|
Restrictions SQL 按描述查询。 |
|
via vertices |
|
将要访问的有序顶点标识符数组。 |
其中:
- ANY-INTEGER:
SMALLINT, INTEGER, BIGINT
限制¶
在道路网络上,有左转或右转限制等限制,没有掉头限制。
限制是一系列边,称为路径,并且要避免该路径。
这些限制在表格中表示如下:
/* -- r1 */
CREATE TABLE restrictions (
id SERIAL PRIMARY KEY,
path BIGINT[],
cost FLOAT
);
/* -- r2 */
INSERT INTO restrictions (path, cost) VALUES
(ARRAY[4, 7], 100),
(ARRAY[8, 11], 100),
(ARRAY[7, 10], 100),
(ARRAY[3, 5, 9], 4),
(ARRAY[9, 16], 100);
/* -- r3 */
SELECT * FROM restrictions;
/* -- r4 */
Note
该表有一个标识符,这可能是管理限制所需要的,但算法不需要该信息。 如果给出,它将被忽略。
Edges SQL¶
列 |
类型 |
默认 |
描述 |
---|---|---|---|
|
ANY-INTEGER |
边的标识符。 |
|
|
ANY-INTEGER |
边的第一个端点顶点的标识符。 |
|
|
ANY-INTEGER |
边的第二个端点顶点的标识符。 |
|
|
ANY-NUMERICAL |
边( |
|
|
ANY-NUMERICAL |
-1 |
边(
|
其中:
- ANY-INTEGER:
SMALLINT
,INTEGER
,BIGINT
- ANY-NUMERICAL:
SMALLINT
,INTEGER
,BIGINT
,REAL
,FLOAT
Restrictions SQL¶
列 |
类型 |
描述 |
---|---|---|
|
|
形成不允许采用的路径的边缘标识符序列。 - 空数组或 |
|
ANY-NUMERICAL |
走禁路的成本。 |
其中:
- ANY-INTEGER:
SMALLINT
,INTEGER
,BIGINT
- ANY-NUMERICAL:
SMALLINT
,INTEGER
,BIGINT
,REAL
,FLOAT
另请参阅¶
索引和表格