夜幕降临,昆明的天空也不会失去它们的踪影。红嘴鸥们在空中划出一道道银白色的弧线,宛如星光闪烁,勾勒出一幅夜晚的画卷。它们的歌声此起彼伏,伴随着微风拂过脸颊,仿佛在述说着一段关于生命、自由和追求的故事。
1、需求背景
规范的数据处理和优秀的地图配图是所有GIS应用的基础,为数据的进一步分析和可视化展示提供了必要的支持。制图过程中,碰到的困难主要是制图数据预处理,包括点、线、面要素的抽稀显示,标注内容简称、换行处理,水系流向错误、要素显示不连通、标注内容重复等数据质量问题,这些都会制约和影响制图效果。
制图的核心是制图者思考数据如何展示,让地图使用者能以快捷的方式、舒服的视觉享受获取最饱和的地图信息,而不是花费80%以上的时间去做数据处理工作。高效地解决制图中的数据处理问题,降低数据处理难度和重复度,可以使制图者专注于制图本身,这对于加快制图进度,降低制图成本,增强制图效果具有直接的意义。
底图配图中通常会用到道路、水系、居民地、兴趣点等图层,这些图层通常数据量大,数据结构复杂。本课题旨在研究一套可用于解决制图过程中,涵盖点、线、面的数据规范化工具和制图效果增强方案的工具集。
2、制图辅助工具集
本研究的成果,结合实际应用场景,将制图数据处理辅助工具集归纳为POI数据处理工具集、初始化地理数据库、道路数据处理工具集、居民地数据处理工具集以及水系数据处理工具集。
对制图中的主体图层数据,兴趣点、交通、水系、建筑物数据在实体重复、抽稀显示、数据检查以及制图效果优化等方面进行了分类处理。
2.1 POI数据处理工具集
2.1.1 POI 数据显示抽稀
POI点要素显示抽稀工具用于解决密集POI 点显示和标注时,点位均匀分布和疏密得当的要求。
2.1.2 POI 重复实体数据查重
POI点要素实体重复性检查工具用于找出指定范围内重复实体数据。
2.1.3 POI简称处理
POI简称处理工具用于解决名称简称的规范化处理。
2.1.4 POI标注换行
POI 按语义进行标注换行工具,用于在不能破坏句法关系,分割词语、成语、短句等字符单元的情况下,为过长名称的标注进行换行。
2.1.5 POI 辅助分类
POI 辅助分类工具用于解决点分类时点所属类型的判断依据,并根据提示词分类。
2.2 道路数据处理工具集
2.2.1 顶层道路线制作
顶层道路线制作工具在路网存在立交的地方,按指定的长度截取相交道路线,并保留指定字段。
2.2.2 道路显示连通性检查
路网显示连通性检查工具用于找出不同显示级别下的道路数据,其存在不连通的位置和类型。
2.3 水系数据处理工具集
2.3.1 河网连通性检查
水系流向错误检查工具,用于找出不同显示级别下的水系线数据,其存在不连通的位置和类型。
2.3.2 水系流向错误检查
水系流向错误检查工具用于辅助解决水系线数据流向错误的问题。
2.3.3 水系河流分级(STRAHLER和SHREVE分级方法)
河网分级工具用于对矢量河流线数据进行分级计算,河网分级是一种将级别数分配给河流网络中的连接线的方法。此级别是一种根据支流数对河流类型进行识别和分类的方法。
2.3.4 水系要素显示抽稀
河网显示抽稀工具用于解决河网在不同显示级别下,保持河流骨架和河网结构,解决水系的显示抽稀问题。
2.4 居民地数据处理工具集
2.4.1 创建建筑物2.5D效果季
用于解决在二维地图中,建筑物呈现立体效果。
2.5 初始化地理数据库
2.5.1 初始化地理数据库
工具通过读取数据分层命名和图层字段属性的表格,初始化数据库库体。
3.关键技术/关键特色
3.1 完整的制图解决方案
本课题研究中的工具集,功能从制图数据库的库体初始化,制图数据的规范化处理,以及制图效果的优化,完整的提供了从数据源到制图成果中工作量大,技术难度高,制图效果增强的解决方案。
3.2 广泛的应用场景
道路显示连通性检查、河网分级、折线极小角检查、点要素实体重复性检查等工具,这些工具不仅可以用来处理制图数据源图层,也可以用在数据融合,数据质检和数据特征分析。点要素实体重复性检查工具,路网连通性检查工具,河网连通性检查工具,折线极小角检查工具以及面极小角检查工具可直接用于数据质检和辅助数据融合,完全实现数据质检自动化,解决以往人机交互,数据抽检的工作模式。
河网分级工具,河网显示抽稀工具,可用于数据特征分析,如河流骨架提取,河流流域流量统计等。
3.3 GIS桌面产品功能的补充
河网分级工具解决了矢量数据的分级计算,补充了河网分级工具中只能处理栅格数据的局限。河网显示抽稀工具,点要素显示抽稀工具弥补了制图数据显示抽稀功能的缺失。建筑物立体楼块处理工具解决了对二维地图中面要素立体效果呈现的需求。其他工具更贴近数据生产中对数据治理或规范化的需求,在数据融合类项目中能起到立竿见影的效果。
3.4 出色的性能和效果
当制图数据源中图层要素数据量较大时,对数据处理的速度要求就显得比较迫切,为了最大程度的利用数据处理工作站的硬件资源,工具集中大部分工具支持并行计算,如点图层中名称简称、名称标注换行、自动分类、重复性检查、显示抽稀等,线图层中折线极小角检查,面图层中建筑物立体楼块处理、面极小角检查。
Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 CPUs), ~3.6GHz工作站,兴趣点110W+,100米范围内做实体重复性检查,仅需一个小时;兴趣点110W+抽稀,20米距离,仅需10分钟。1:1000比例尺建筑物面,立体楼块处理,一小时能处理10W+面要素,当工作站的CPU核数增加后,计算的效率会大大提升。
经过制图工具处理后,对数据进行简单的渲染,便能得到非常好的渲染效果。如对河网分级后的水系进行分级符号渲染,能简单实现水系渐变效果。
对建筑物进行立体楼块处理后,生成两个图层,顶层建筑物面buildings_originals和建筑物侧面buildings_shadows,仅需将两个图层叠加到一起,对建筑物顶面设置一个颜色,对建筑物侧面进行分级设色处理,便能得到较好的建筑物立体效果。
3.5 面向对象
本研究中大量使用了python面向对象特性,将原本离散的代码进行了重新组织,设计了诸多的类。对于不方便设计为类方法的函数,则设计成了静态方法。大量运用继承、多态、重载等面向对象语法,使得这套程序具有极大的可拓展性。