论文部分内容阅读
当前的GIS系统大多采用矢量符号库对矢量格式的数据进行符号化,地图输出时经历矢栅化,需要大量的运算,造成输出效率的降低,这是难以接受的。造成这种问题的主要原因是地图形成过程中地图表达的二元结构,地图符号化与光栅化采用了不同的结构,虽然能较好的实现符号化,但制约了地图的输出速度。地图符号化时同步完成栅格化可以避免因矢栅转换时造成的时间开销。直接利用栅格结构表达符号化结果在数据大小及精度等方面明显不足,而游程编码方法可以弥补这一点,游程编码能显著的压缩栅格数据量,弥补栅格数据对内存依赖高的问题,建立在游程编码上的空间运算相比矢量方法具有更高的效率,可以满足符号化之后的各种地图操作,同时游程编码解码方便,光栅化时需要较少的运算即可完成。 基于以上思路,利用游程编码表达地图符号,在符号化的同时完成游程化,之后的各种地图操作全部建立在游程编码的基础上,从而提高地图的输出效率。主要从以下几个方面开展研究: 1.建立了面向地图的游程链表数据结构,将地图符号组织为游程块,通过这样嵌套游程结构,完整的表达地图;在游程结构的基础上,对游程运算的过程进行了简化,仅通过六种“分裂”方式,配合不同的属性运算可以实现各类运算; 2.研究并实现点状符号、线状符号、面状符号的游程化,点状符号游程化是在定位点处插入游程符号;线状符号游程化是利用纵向叠加法对符号进行分解,分别以定位线建立游程结构的缓冲区,缓冲区叠加结果为符号化的结果;而面状符号的游程化与点状符号、线状符号紧密相关,点状符号填充时,利用点与多边形的游程叠加算法生成面域范围内的填充定位点,再调用点状符号化的方法,线状符号填充时,利用线与多边形的游程叠加算法确定面域范围内的定位线,再调用线状符号游程化的方法; 3.基于游程的“update”运算,实现了游程图层的叠置算法,在这之上可以方便的完成多图层的叠加输出,研究并实现了游程化地图的屏幕显示输出,并对加快地图重绘的方法作了探讨,实现了游程地图的硬拷贝输出; 测试结果表明:对地图的游程化可以代替符号化过程,特别是利用游程缓冲区实现线状符号的符号化在效率及美观上具有相对优势,利用游程编码表达的地图可以减少数据运算量,避免不必要的转换,利用游程空间运算直接完成各种地图操作,能够满足高分辨率地图输出对处理效率和内存开销的要求。