文档

ST_3DGridPath

更新时间:

计算三维地理网格路径。

语法

geomgrid[] ST_3DGridPath(geometry start, geometry end, box3d range, gridcost[] barriers, params text default '');

参数

参数名称

描述

start

起始点。

end

终止点。

range

路径规划范围。

barriers

所有障碍物的网格开销。

params

计算参数。

params支持的参数及取值为:

  • algorithm:寻路算法

    • dij:DIjkstra算法。

    • astar(默认):A*算法。

    • nb_astar:新双向A*算法。

  • movement:移动方式

    • cross(默认):只允许向相邻网格移动。

    • octothorpe:向相邻网格及对角网格移动。

    • strict_octothorpe:在相邻网格可通行时可向对角网格移动。

  • distance:距离估算方式

    • euclidean:欧几里得距离。

    • manhattan(默认):曼哈顿距离。

    • chebyshev:切比雪夫距离。

例如:{"algorithm":"astar","movement":"strict_octothorpe"}

说明

params设置为空,或者部分参数未设置时,系统会自动使用默认值。

描述

根据给定的数据计算网格路径。

  • 起始点和终止点是3维点数据,其中的z值可以不精确,算法会自动找到合适的z值并进行路径规划。

  • range是路径规划的范围,通常以dsm数据为基础进行设定。

  • barriers综合了所有的障碍物开销,通常是采用ST_CostUnion的结果。

  • 当params置为空时,默认采用aster、cross和manhattan设置。计算结果为按起止顺序排列好的geomgrid数组。

示例

select st_astext(ST_3DGridPath(st_geomfromewkt('srid=4490;POINT Z (1 1 1)'), st_geomfromewkt('srid=4490;POINT Z (5 6 3)'),
'BOX3D(0 0 0,10 10 10)'::box3d, st_costunion(array[st_setcost(array[st_gridfromtext('GZ0000000001')],1), st_setcost(array[st_gridfromtext('GZ0000000000')],5)])));

--------------------------------------------------------------------------------
 {GZ0000000006,GZ0000000042,GZ0000000046,GZ0000000064,GZ0000000420,GZ0000000422,
GZ0000000426,GZ0000000604,GZ0000000640,GZ0000000644,GZ0000004200,GZ0000004240,
GZ0000004244,GZ0000004600,GZ0000004602,GZ0000004620,GZ0000004622,GZ0000006400,
GZ0000006420}

select ST_3DGridPath(st_geomfromewkt('srid=4490;POINT Z (1 1 1)'), st_geomfromewkt('srid=4490;POINT Z (5 6 3)'),
'BOX3D(0 0 0,10 10 10)'::box3d, st_costunion(array[st_setcost(array[st_gridfromtext('GZ0000000001')],1), st_setcost(array[st_gridfromtext('GZ0000000000')],5)]), '{"algorithm":"astar","movement":"strict_octothorpe","distance":"euclidean"}');

--------------------------------------------------------------------------------
 {GZ0000000006,GZ0000000060,GZ0000000066,GZ0000000600,GZ0000000606,GZ0000000660,
GZ0000000666,GZ0000006000,GZ0000006040,GZ0000006044,GZ0000006420}

三维路径示意图

image

  • 本页导读 (0)
文档反馈