ST_CreateWorkspace

基于关系表存储的拓扑网络数据创建地图匹配工作空间,后续道路匹配在工作空间中进行。

语法

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函数。

示例

  1. 准备路网数据并构建路网拓扑,详细步骤快速入门示例一

  2. 构建工作空间。

    • 所有对象都参与构建工作空间。

      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)