首页 理论教育物流可视化:生产管理系统模块地图绘制

物流可视化:生产管理系统模块地图绘制

【摘要】:一幅地图绘制的关键在于图层的安排。生产管理信息系统比较适合按照逻辑意义的不同以及操作功能的不同划分图层。结合可视化模块的功能,可视化的地图包括码头区域、车辆、船舶三类元素。在系统使用中,大的区域位置可以实现库场聚焦的功能,即可以将某个大区域移至整个地图的最中央,方便察看。考虑到管理系统开发数据库使用的是Oracle,为了动态加载,船舶空间数据必须进入Oracle空间数据库,从而实现有选择的地图下载。

堆场中地图的绘制是在MapInfo中完成的,它是进行地图模块编程的前期工作。一幅地图由一个图层集合对象表示,一个图层集合对象又是由若干个图层对象表示,这个对象即所谓的图层是按照一定的规则组合起来的地图特征,代表包含各类图元(如区域、线条和符号)的地图图元集合的窗体中的矢量地图化数据。

一幅地图绘制的关键在于图层的安排。在一些通常的系统中,地图图层的划分是按照图元类型的不同进行的,即按照点、线、面来划分;但在生产管理系统中,这种划分方式不太适合实际的应用。生产管理信息系统比较适合按照逻辑意义的不同以及操作功能的不同划分图层。结合可视化模块的功能,可视化的地图包括码头区域、车辆、船舶三类元素。

(1)码头区域的绘制

码头区域绘制的重点在于对货物存放位置的描述。按照对货物所在位置的描述可以分成两个层次,一个是库、场、段、粮仓等,它是表征货物所在的大区域位置;另一个就是具体的货位,即在库、场、段、粮仓中又细化的货物堆存的位置。地图上至少要划分这样两个层次。在系统使用中,大的区域位置可以实现库场聚焦的功能,即可以将某个大区域移至整个地图的最中央,方便察看。具体的货位层,则是用户主要与之交互的一层,因为查询货物的堆存情况时,是按照具体的货位进行的。除此之外,码头区域中还有很多的建筑物、公路、铁路,如果都略去不画,整个堆场只有上述两层的话,地图会显得单调呆板,加上这样一些修饰后,地图的内容丰富起来,地图从表象上生动美观,而且由于建筑物和路可以起到一定的定位作用,也方便人们找到地图的相应区域,增加地图的可理解性,因此,可再建立一个图层用来描述建筑物及公路、铁路等。这样码头区域就绘制完成了,码头区域的最终效果如图2-10所示。

图2-10 码头区域效果合成图

图中依次建立三个图层,分别命名为chang层、yard层、other层。每个图层均由以下四个基本的文件构成:属性数据表结构文件(.Tab)、属性数据文件(.Dat)、交叉索引文件(.Id)和空间数据文件(.Map)。地图分了3层,生成了12个文件,此刻各个图层间还是相对独立的。在组合成地图整体的过程中,关键是要处理好各图层间的相对顺序,yard层一定在chang层之上,而other层究竟处于哪个位置呢?考虑到other层中的一些元素也是对chang层的修饰,如果被chang层覆盖,就把效果给遮掩了,所以设定将other层置于chang层和yard层之间。程序绘制地图时,按照从下到上的顺序绘制,这样yard层就位于整个地图的最上方了。在实际的图中,绿色区域是chang层,粉色区域是yard层,除此之外的区域均是other层,如一些灰色的房子、公路、铁路,库场中的过道以及一些文字性的标识等。

(2)船舶的绘制

船舶的绘制有别于码头区域的绘制,船舶在码头停靠的数量不可知,而且时刻在变化,船舶的位置没法固定下来,所以想通过确定船舶位置来绘制船舶是无法实现的。但是,船舶的位置虽然时刻在变化,但是船舶停靠的位置,也就是码头的泊位是始终不变的,因此可以在码头有限的泊位上画出船舶,这时地图可能会出现重叠,但实际应用中船舶动态的逻辑性保证不会出现这种情况。这类信息的地图加载方式必须是选择性加载,不是静态加载一次实现的,否则所有泊位上都出现了船舶。考虑到管理系统开发数据库使用的是Oracle,为了动态加载,船舶空间数据必须进入Oracle空间数据库,从而实现有选择的地图下载。

(3)机械的绘制

场地装卸及运输机械随着生产过程不断变化位置,而且机械所在位置也不具有固定性,不像船舶与泊位之间有一一对应关系,机械与场地具有多对一的关系特点,因此机械的绘制只要按照机械的类别一样画出一种即可,加载到程序中时按照机械的配工数量和位置动态添加到相应的画面位置。

可见,上述三类信息在绘制过程或程序中的调用方式上都不尽相同。