vb6.0 Nodjs平台 室内地图
室内地图
地图技术规范
OSM
OSM 地图编辑器
JSOM
安装
http://josm.openstreetmap.de/wiki/Zh_CN%3AWikiStart 下载安装
安装 PicLayer 插件:点击 编辑 -> 首选项 (F12) -> 配置有效插件
![]()
然后, 复制建筑平面图到剪贴板,点击 图像 - > 来自剪贴板的新图片图层,激活 PicLayer 插件, 然后可以调整图像的位置和大小. 如果你要把室内数据映射到 OSM 中已有的一个建筑上,明智的做法是调整你的图像到已有的建筑物占地上. 你可以标记图纸上的拐角 (绿色箭头
). 最好在图纸上标记三个最重要的点.
![]()
对于一些建筑来说选择正确(最好)的点是非常棘手的. 这些标记完的点会通过红色的按钮
移动到建筑的拐角.
![]()
建模
在开始映射前, OSM 图层必须激活. 然后可以创建房间 (“绘制 nodes”) - 根据地图绘制一个个多边形 (比如一个建筑的分割点或者一个湖泊). 然后, 不同的属性 (标签) 可以加入到不同的 OSM 特性中: 门, 楼梯, 电梯, 窗户, 房间….
关系
因为建筑里一个楼层(层次)的所有元素都是相关的, 你必须把事前绘制的所有元素 (房间, 走廊, 建筑外框 等等.) 结合到一个 OSM 关系中. 因此, 选择所有元素并创建一个新的关系 (
). 如果右侧没有关系面板, 可以通过 “窗口 -> 关系”激活. 所有选择的对象可以作为一个成员用
-按钮键入到关系中. 每个成员必须有一个 “角色”. 只有建筑最外侧的对象的角色可以是 “shell”, 其他的角色都是 “buildingpart”. 此后, 不同的标签 (高度, 层次, 类型…) 可以隶属于整个关系
因为整栋建筑又是一个关系 (所有楼层/层次-关系 都是这栋建筑关系的关系-成员), 前面的层次-关系必须键入到建筑-关系中. 因此, 层次-关系的角色是相应的层数, 比如 角色:level_0 是1楼, level_1 是2楼, level_-1 是地下室等等. 这些角色非常重要, 因为它们被用于过滤方法. 同样也可以加入整栋建筑的标签.
创建其他层级
如果你已完成了一个层级并且要再建一个新的, 已有的(已完成的) 层级可以通过过滤隐藏起来 (查看 “创建过滤条件”). 关系同样可以被复制 (CTRL + D), 所以不同房间的同一位置的楼梯, 电梯... 可以轻松被移动. 在本例中层次的名称和角色必须做些改动.
创建过滤条件
JOSM 为过滤数据提供了可能. 因为室内数据大多是多层级并且经常有重复的元素, 它非常容易创建过滤. 它允许选择建筑物的不同的层次, 因此映射是非常简单直接的. JOSM 里的过滤面板在界面的右下部. 如果没有显示, 你可以通过菜单 窗口 > 过滤 加入。点击 增加, 弹出一个新对话框. 在这个对话框中你必须定义过滤条件. 过滤 indoorOSM 数据最简单的方式是根据通过关系的角色得到想要的层次 (记住: 每个层次关系在主关系中有不同的角色, 描述实际的层次. 所以比如1楼的角色是 level_0, 地下一层是 level_-1 以此类推).
我们要隐藏一个完整的层次, 我们必须过滤相应关系的所有子关系. 另外, 我们也要隐藏所有节点 (比如. 窗口或者门), 因此我们也要过滤这些子项. 这个条件可以用逻辑操作符 OR 组成一个过滤条件.
过滤条件示例:
- (child role:level_-1) OR (child child role:level_-1)
- (child role:level_0) OR (child child role:level_0)
- (child role:level_1) OR (child child role:level_1)
- (child role:level_2) OR (child child role:level_2)
也可以根据层次的数值过滤.
等价过滤条件:
- (child level=-1) OR (child child level=-1)
- (child level=0) OR (child child level=0)
- (child level=1) OR (child child level=1)
- (child level=2) OR (child child level=2)
在 JOSM 中, 你可以创建任意数量的过滤条件, 因此你可以轻松为所有需要的层次增加过滤.
参考文献
http://wiki.openstreetmap.org/wiki/IndoorOSM
http://blog.csdn.net/scy411082514/article/details/7493386
http://wiki.openstreetmap.org/wiki/IndoorOSM
posted on 2015-10-21 22:02 Sky.Y.Chen 阅读(407) 评论(0) 收藏 举报

浙公网安备 33010602011771号