再MapInfo里面,我们都知道,制作邻区表后,只要点击主小区,就可以查看邻区的情况,实际上QGIS也可以实现,今天我们就来学习一下如何在QGIS里面实现这个功能。
1、要制作邻区显示图,首先我们需要制作邻区表,表头格式如下,其中UniqueID表示主小区,neighbors表示的是邻区,邻区列表中每一个扇区的UniqueID必须要用”|”相隔,表头必须要用UniqueID、neighbors,并且区分大小写。后面显示邻区的代码要用到,然后另存为CSV格式,此处由于简便,我只弄了四个邻区,实际上可能好几十个或者一百多个,这一步有点重复:
2、制作好邻区表,然后我们再在QGIS里面打开,用shape tools生成扇区图层,如果没有安装的需要首先安装(具体如何安装再简单说一遍,再工具栏里面选择插件,管理并安装插件然后搜索这个插件就可以了)
3、我们在制作扇区图层的时候有两种方法,一种就是中心脚,一种是起始脚,此处我们用中心方位角
4、稍等一会后我们看到扇区图层制作完成了
5、扇区图层制作完成后我们现在可以弄邻区表了,我们右键,选择属性
6、选择属性后我们可以看到有个动作的图标,我们单击动作这个按钮,之后点击+,如下我红圈的地方
6、然后把如下代码复制进去就可以,之后点击OK
详细代码如下from qgis.PyQt.QtGui import QColor
from qgis.utils import iface
from qgis.gui import QgsHighlight
layer = iface.activeLayer()
layer.removeSelection()
source_fid = "[% $id %]"
source_feature = layer.getFeature(int(source_fid))
h = QgsHighlight(iface.mapCanvas(), source_feature, layer)h.setColor(QColor('red'))tmp = source_feature["neighbors"]
neighbors = tmp.split("|")
features = layer.getFeatures()
neighbors_fid = [f.id() for f in features if f["UniqueID"] in neighbors]layer.select(neighbors_fid)
iface.mapCanvas().setSelectionColor(QColor("blue"))
7、最后再点击OK,这样就制作完成了
8、然后我们在附件里面点击邻区表
9、点击邻区表后我们再点击我们需要查看的
至于如何导出表格前面文章我们已经说了到表格的方法,简单的我在说一下,就是选中文件右键选择导出要素另存为,然后选择的格式是CSV格式就可以了。
学到此处的小伙伴快跟着教程一起学者做一遍吧,另外本人整理处一系列有关QGIS地图系列相关的教程,遇到不会的可以点击下面的相关软件的使用教程,或者直接在主页输入关键字获取相关教程。
如果没有教程得欢迎在评论区留言,小编会先研究,如果研究出来了会整理成教程共大家一起学习