# 地图数据通用标准
# 范围
本标准规定了地图数据所需的数据分层、数据文件命名规则、图形数据与属性数据的结构、数据交换格式等.
本标准适用于公司内部数据图形内部以及与技术部门之间的数据交换.
# 术语与定义
# 要素 feature
真实世界现象的抽象.
# 图层 layer
具有相同特性的图像、数据集合
# 数据分层
地图数据分为两种类型, 一种是只用作样式绘制与地图展示的图形标注数据, 另一种是用于实现各种功能的属性数据.
在图形展示中不需要加载属性数据, 只需要将图形数据按照对应样式表进行填充即可. 数据分层的名称与要素见表 1.
表 1 层名称与各层要素
序号 | 层名 | 属性表名 | 层要素 | 几何特征 | 数量 | 是否必须 | 说明 |
---|---|---|---|---|---|---|---|
1 | 标注 | label | 点标注 | point | 1/图层 | 是 | |
2 | 标注 | ln | 线标注 | linestring | 1/图层 | 否 | |
3 | 属性 | point | 节点数据 | point | 1/图层 | 是 | |
4 | 属性 | line | 路网数据 | linestring | 1/图层 | 是 | |
5 | 属性 | cross_line | 跨层路网数据 | linestring | 1/项目 | 是 | |
6 | 属性 | polygon | 面数据 | polygon | 1/图层 | 是 | 同时用于绘制与数据使用 |
# 要素命名方式
表 2 要素命名方式与描述
要素类别 | 文件名称 | 举例 |
---|---|---|
点标注 | {map_id}_{楼层编码}_label | map_id 为 762 的标注点: 762_1F_label |
线标注 | {map_id}_{楼层编码}_ln | map_id 为 762 的装饰线: 762_1F_ln |
节点数据 | {map_id}_{楼层编码}_point | map_id 为 762 的节点数据: 762_1F_point |
路网数据 | {map_id}_{楼层编码}_line | map_id 为 762 的路线数据: 762_1F_line |
跨层路网数据 | {project_id}_crossline | project_id 为 13 的标注点: 13_crossline |
面数据 | {map_id}_{楼层编码}_polygon | map_id 为 762 的点数据: 762_1F_polygon |
# 要素属性表结构
# 标注点 label 属性表结构
表 3 标注点属性表结构
序号 | 字段名称 | 字段类型 | 字段长度 | 值域 | 是否必须 | 备注 |
---|---|---|---|---|---|---|
1 | label | Char | 50 | 非空 | 是 | 标注点的名称 |
2 | label_en | Char | 200 | 非空 | 否 | 标注点的英文名称 |
3 | type | Char | 50 | 非空 | 是 | 对标注点进行绘制的分类 |
4 | map_gid | Char | 20 | 非空 | 否 | 需要点击图标必须添加 |
5 | X | Char | 200 | 非空 | 否 | 需要 GPS 场景必须添加 |
6 | Y | Char | 200 | 非空 | 否 | 需要 GPS 场景必须添加 |
# 线标注 ln 属性表结构
表 4 线标注属性表结构
序号 | 字段名称 | 字段类型 | 字段长度 | 值域 | 是否必须 | 备注 |
---|---|---|---|---|---|---|
1 | type | Char | 50 | 非空 | 是 | 对标注进行绘制的分类 |
# 节点数据 point 属性表结构
表 6 节点数据属性表结构
序号 | 字段名称 | 字段类型 | 字段长度 | 值域 | 是否必须 | 唯一性 | 备注 |
---|---|---|---|---|---|---|---|
1 | Id | Int | 10 | > 0 | 是 | 项目唯一 | 节点编码, 自动生成 |
2 | name | Char | 50 | 非空 | 否 | 非公共设施项目唯一 | 点的名称, 始末点及设备等特殊点位存在名字, 且与对应面的 name 相同 |
3 | type | Char | 50 | 非空 | 否 | 不唯一 | 节点类别判断 |
4 | gid | Int | 10 | > 0 | 否 | 单层唯一 | 点面匹配编码 |
5 | name_en | Char | 200 | 非空 | 否 | 非公共设施项目唯一 | 节点的英文名字, 英文项目必须, 规则同 name |
# 路网数据 line 属性表结构
表 7 路网数据属性表结构
序号 | 字段名称 | 字段类型 | 字段长度 | 值域 | 是否必须 | 备注 |
---|---|---|---|---|---|---|
1 | i | Int | 10 | > 0 | 是 | 路网与节点对应起点编码, 自动生成 |
2 | j | Int | 10 | > 0 | 是 | 路网与节点对应终点编码, 自动生成 |
3 | length | Int | 10 | > 0 | 是 | 当前路线正向长度 |
4 | reverse | Int | 10 | > 0 | 是 | 当前路线反向长度 |
# 面数据 polygpon 属性表结构
表 8 面数据属性表结构
序号 | 字段名称 | 字段类型 | 字段长度 | 值域 | 是否必须 | 唯一性 | 备注 |
---|---|---|---|---|---|---|---|
1 | name | Char | 50 | 非空 | 否 | 非公共设施项目唯一 | 面的名称, 可到达区域存在名字, 且与对应点的 name 相同 |
2 | type | Char | 50 | 非空 | 是 | 不唯一 | 面的类别, 用于样式填充 |
3 | gid | Int | 10 | > 0 | 否 | 单层唯一 | 点面匹配编码 |
4 | map_gid | Char | 50 | 非空 | 否 | 数据库唯一 | 面唯一编码, 由 map_id 与 gid 组合而成 |
5 | name_en | Char | 200 | 非空 | 否 | 同 name | 面的英文名字, 英文项目必须, 规则同 name |
6 | context | Char | 50 | 非空 | 否 | 不唯一 | 公共设施 public 其他 spots |
7 | cate_id | Int | 50 | > 0 | 否 | 不唯一 | 按项目数据分类填写 |
# 跨层路网数据 corss_line 属性表结构
表 9 跨层路网数据属性表结构
序号 | 字段名称 | 字段类型 | 字段长度 | 值域 | 是否必须 | 备注 |
---|---|---|---|---|---|---|
1 | i | Int | 10 | > 0 | 是 | 路网起点编码, 同层路网不变, 跨层路线需要手动输入 |
2 | j | Int | 10 | > 0 | 是 | 路网终点编码, 同层路网不变, 跨层路线需要手动输入 |
3 | length | Int | 10 | > 0 | 是 | 路线正向长度, 同层路网不变, 跨层线通常按需填入 100 或者 200 |
4 | reverse | Int | 10 | > 0 | 是 | 路线反向长度, 同层路网不变, 跨层线通常按需填入 100 或者 200 |
# 分类数据
# 类别对应表(context)(适用于新项目)
表 10 类别对应表
序号 | 类别 | context |
---|---|---|
1 | 公共设施 | public |
2 | 可到达点(非公共设施) | spots |
# 分类数据(cate_id)
分类数据由每次项目生成需求重新分配, 所有可到达的数据必须添加 cate_id
表 11 例如医院项目
序号 | 类别 | 类型 |
---|---|---|
1 | 洗手间 | public |
2 | exit | public |
3 | 电梯 | public |
4 | 停车场 | category |
5 | 门诊科室 | category |
6 | 住院病房 | category |
7 | 收费挂号 | category |
8 | 抽血 | category |
9 | 取药 | category |
... | ... | ... |