QGIS 绘制流向地图 flow map (不采用插件)

在QGIS中,不借助插件(晚点可以再测试下)进行流地图的绘制,步骤如下:
第一步:数据准备, nodes.shp,流中涉及到的起点和终点的shapefile文件;edges.csv,以文本形式存储的起点、终点和流的强度。
第二步:添加图层,在界面中添加virtual layer,添加路径 Layer | Add Layer | Add/Edit Virtual Layer
第三步:输入语句,在Query框框中输入SQL查询语句,基本格式如下(其中adcode_oo,adcode_dd, SHI这三个字段需要更改,含义依次是edges文件中起点ID,edges文件中的终点ID以及nodes文件中的节点ID)

SELECT adcode_oo, adcode_dd, Value, 
       make_line(a.geometry, b.geometry)
FROM edges
JOIN nodes a ON edges.adcode_oo = a.SHI
JOIN nodes b ON edges.adcode_dd = b.SHI
WHERE a.SHI != b.SHI 

如果本身不存在环流,最后的where语句也可以不用加,在界面上的输入如下


流生成的查询语句

初步得到的结果长这样


流地图

第四步:输出线要素,右击图层--Export -- Save Feature As ,太那些要素名称和坐标系等,输出线要素,便于后续线要素的表达。

第五步:样式调整,底图、线条颜色粗细设置以及地图基本要素的添加等。初步的成果图如下

调整后的款式,南海诸岛附图未添加

参考资料:https://anitagraser.com/2019/05/04/flow-maps-in-qgis-no-plugins-needed/

你可能感兴趣的:(QGIS 绘制流向地图 flow map (不采用插件))