QGIS自定义符号的原理与实践——以北京市标准地图为例

本文介绍了QGIS自定义符号的原理,以2020年版1:80万北京市标准地图为例,展示了如何制作标记符号和线符号。通过自定义符号,满足地图符号的个性化需求,实现对QGIS系统符号库的扩展。
摘要由CSDN通过智能技术生成

 01 符号概述

符号(Symbol)是地图和GIS的核心概念。QGIS使用渲染器(Renderer)完成图层在地图窗口中的绘制,即所谓的图层渲染。图层渲染之前需要告诉渲染器使用什么符号渲染图层,如果没有显式指定,QGIS会为渲染器提供默认的符号。

根据图层类型不同,QGIS中的符号分为三类:标记(Marker)、线(Line)、填充(Fill),分别适用于点图层、线图层和面图层。点击“工程工具栏”中的“样式管理器”按钮,弹出“样式管理器”对话框,可以查看QGIS预带的标记、线、填充符号库,这些符号库可以统称为系统符号库。

QGIS系统符号库可以胜任基本的制图任务,但难以满足各行业、各专业对地图符号的个性化需要。事实上,任何GIS软件的符号库都不可能直接支持所有领域需要的符号体系,而是通过提供自定义符号能力实现系统符号库的灵活扩展。作为开源GIS软件,QGIS的自定义符号功能灵活且易用,可以根据特定需要快速自定义符号,满足差异化需求。

本文以天地图北京网站(http://beijing.tianditu.gov.cn/)提供的2020年版1:80万北京市全市域标准地图为例,介绍QGIS自定义符号的实现原理,并在此基础上演示制作两个自定义符号的过程。

 02 下载北京市标准地图

2020年版1:80万北京市全市域标准地图下载地址为:http://beijing.tianditu.gov.cn/bzdt/,点击地图说明下方的“下载”按钮即可下载。

下载的压缩文件解压缩后包含两个文件:bj2020_80w_1.jpg和bj2020_80w_1.pdf,打开bj2020_80w_1.pdf,放大页面到右下角的图例位置,可以看出该地图包含10个图层,每个图层都具有各自不同的符号。其中,“区人民政府驻地”、“区界”这两个图层所采用的符号是QGIS系统符号库中所没有的,需要通过自定义符号实现。

 03 符号与符号图层

就像地图是由图层叠加而成的一样,QGIS中的符号由符号图层(Symbol Layer&#

地图显示是GIS的基础,完美的地图显示,首先是主题内容突出,要素的类型、特征及其层次变化分明,和谐悦目的色彩诱导读者阅读其内容。地图能完整、高效地显示,您就完成了开发工作的百分之七八十了,地图显示的关键是地图符号的显示,所以一套完善的符号库是GIS开发的基础,也是GIS开发的核心。 在继地形图符号之后,这次我推出一套城市图符号库。因为就城市图来讲,国家到目前还没有一套标准化的编码表及图式,这套符号库是我多年GIS开发经验的积累,也是我综合我国及瑞士等国家城市交通旅游图所得的结果。此套地形图符号库包括四十多种点状符号,十多种线状符号和二十多种面状符号,加上这些符号等级的变化,基本可以完成城市图的显示工作,如你有一些特殊的需求,在现有程序的基础上进行扩充,相信你很快就能自己实现了。 这套符号库是利用VC++语言开发的,并且已经在多个城市信息系统中使用过,有着很好的稳定性和高效性,作为VC开发的组件,它有简单的接口(只用了一个接口函数),强大的功能等特点(实现了所有城市图符号的绘制)。符号库的接口: DrawSymbol(int ID,CDC *pDC,int number,double *x,double *y,double FDtimes)。 此符号库不仅是VC语言的成果,它更是制图艺术的体现,根据不同的放大比例,能自动进行制图综合。如果你是GIS开发人员,你可以直接使用我的这一套符号库,也可以使用些符号库中的一些画图形的源代码,相信此套符号库对你的GIS底层开发会有很大的帮助;如果你是VC图形图像开发人员,此套符号库对你也会有一定的帮助,因为符号本身就是图形学的一部分,其中的图形函数比较成熟,很有参考价值。 联系作者:campanula6524@sina.com campanula6524@hotmail.com campanula6524@163.com
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值