基于关系表存储的拓扑网络数据创建地图匹配工作空间,后续道路匹配在工作空间中进行。
语法
boolean ST_CreateWorkspace(text wsname, text sql);
参数
参数名称 | 描述 |
wsname | 工作空间名称,具有唯一性。 |
sql | 查询SQL语句,用于构建工作空间中的拓扑网络内存形态。 |
返回值
返回值 | 描述 |
t | 创建成功。 |
f | 创建失败。 |
描述
地图匹配工作空间包括一系列内存状态的地图拓扑网络数据,需要创建或加载后才可执行道路匹配。
工作空间名称需唯一,可通过
mapmatching_workspace
表查看已有的工作空间。用于构建工作空间的SQL查询结果必须包含4个字段:
id:Edge唯一标识,类型为SMALLINT、INTEGER、BIGINT。
source:Edge的源节点标识,类型为SMALLINT、INTEGER、BIGINT。
target:Edge的目标节点标识,类型为SMALLINT、INTEGER、BIGINT。
geometry:Edge的几何信息,类型为GEOMETRY,只运行LineString和MultiLineString两种类型,如果为MultiLineString,则只取第一个子LineString对象。
说明
构建的拓扑网络单位为地图单位,如果需要进行坐标转换,请使用ST_Transform函数。
示例
准备路网数据并构建路网拓扑,详细步骤快速入门示例一。
构建工作空间。
所有对象都参与构建工作空间。
SELECT ST_CreateWorkspace('mm_ws_test1', 'select fid, source, target, geom from network');
经过条件过滤后部分对象参与构建工作空间。
SELECT ST_CreateWorkspace('mm_ws_test2', $$ select fid, source, target, geom from network where fid > 10 $$);
查看已构建的工作空间。
SELECT * from mapmatching_workspace;
返回结果如下:
ws_id | ws_name | ws_sql | ws_options -------+-------------+----------------------------------------------------------------+------------ 1 | mm_ws_test1 | select fid, source, target, geom from network | 2 | mm_ws_test2 | select fid, source, target, geom from network where fid > 10 | (2 rows)
文档内容是否对您有帮助?