[QGIS]绘制参考地图--德国

[QGIS]绘制参考地图--德国,第1张

参考样图:

http://www.shijieditu.net/Germany/Germany.html

Natural Earth (https://www. naturalearthdata .com)

软件版本:

QGIS 3.10

要求:

1. 包含国家边界、河流、市区、人口稠密地区和首府

2. 与周边国家区分显示

3. 首府名称标记,河流名称标记(字体随河流曲率)

下面内容中有些 *** 作未详细列出,参考如下链接:

参考1:[QGIS]绘制参考地图--欧洲(https://www.jianshu.com/p/fddb00b1d9fb)

一、增加国家边界、河流、市区、人口稠密地区和首府五个图层

二、选择德国地区并导出图层

选择国家边界图层,点击Edit->Select->Select Feature(s),选择德国区域(若为中国区域,按Ctrl键,继续将台湾选上),然后右键点击国家边界图层,选择Export->Save Selected Features as...导出图层(Layer->Create Layer->New Shapefile Layer...也可以)。

三、国家边界图层选用二度灰,德国图层选用红色

四、河流图层颜色选用蓝色,宽度变大到0.5以突出显示;河流文本添加见 参考1

五、人口稠密图层,符号选择城市样式

六、首府图层,符号选择首府样式,大小增加到4.0,以便与人口稠密城市区分;首府文本添加见 参考1

七、市区图层选择橘色,笔触样式选择no pen

八、生成可打印图层,加上地图其他元素如标题、图例、比例尺、坐标系,假设它还有块飞地,那么可以在主界面将飞地画出来,然后在空白区域加一个小图放进来

九、导出图层为图片

1)对于点状图层

//设置点标号

QgsSymbol *pSym1=new QgsSymbol(QGis::Point)

//设置点的外轮廓线的颜色和线宽

pSym1->setColor(Qt::black)

pSym1->setLineWidth(0.3)

//设置充填颜色和充填样式

pSym1->setFillColor(QColor(228,108,119))

pSym1->setFillStyle(Qt::SolidPattern)

//设置符号大小

pSym1->setPointSize(1.0)

//该方法决定了标号的形状

 //pSym1->setNamedPointSymbol("svg:education_school.svg")

pSym1->setNamedPointSymbol("hard:circle")

//设置绘制的符号

QgsSingleSymbolRenderer *mypRenderer1 = new QgsSingleSymbolRenderer(pLayer1->geometryType())

mypRenderer1->addSymbol(pSym1)

//应用于图层

pLayer1->setRenderer(mypRenderer1)

需要注意的是:使用setNamedPointSymbol(QString)方法设置符号的显示样式,该方法提供了两种显示方式,一种是"hard:符号类型"样式,采用QGIS内置的符号样式,如("hard:circle")表示显示圆形符号,另外一种"svg:svg文件名"样式,表示已制定的svg文件显示点符号,如("svg:education_school.svg")表示以education_school.svg文件显示符号,要使用svg样式,需要指定svg文件所在的路径,可以在main()函数中,用如下方法指定:

QgsApplication a(argc,argv,true)

 //设置svg文件的缺省路径

 QStringList strList

 strList.append("..\\symbol")

 a.setDefaultSvgPaths(strList)

2)对于面状图层

//设置面状标号

QgsSymbol *pSym3=new QgsSymbol(QGis::Polygon)

pSym3->setFillColor(QColor(196,230,197))

pSym3->setFillStyle(Qt::SolidPattern)

pSym3->setColor(QColor(255,255,0))

pSym3->setLineWidth(0.8)

//设置图层绘制器

QgsSingleSymbolRenderer *mypRenderer3 = new QgsSingleSymbolRenderer(pLayer3->geometryType())

mypRenderer3->addSymbol(pSym3)

pLayer3->setRenderer(mypRenderer3)

3)对于线状图层

//设置线标号

QgsSymbol *pSym2=new QgsSymbol(QGis::Line)

pSym2->setColor(QColor(0,0,255))

//pSym2->setLineStyle(Qt::DashLine)

pSym2->setLineWidth(1.2)

//设置图层绘制器

QgsSingleSymbolRenderer *mypRenderer2 = new QgsSingleSymbolRenderer(pLayer2->geometryType())

mypRenderer2->addSymbol(pSym2)

pLayer2->setRenderer(mypRenderer2)

设置绘制面板的背景颜色:

pMapCanvas->setCanvasColor(QColor(155,176,227))

显示结果:

在Arcgis10菜单栏中,点击“文件”--“添加数据”--“添加XY数据...” 在添加XY数据对话框中,首先添加excel表,选择工作表 在指定X、Y和Z坐标字段中设置好各个列对应的坐标。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/7875958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存