1. 线相交:快速识别道路交叉口
在城市规划中,道路交叉口的识别是最基础也最重要的分析之一。QGIS的"线相交"功能可以轻松实现这个需求。我曾在一次城市路网优化项目中,用这个功能在两小时内完成了传统方法需要两天才能完成的工作。
具体操作很简单:首先加载两个道路矢量图层(可以是同一个图层的两份拷贝),然后打开"矢量→分析工具→线相交"插件。这里有个小技巧,如果道路数据存在拓扑错误(比如未闭合的线段),建议先用"拓扑检查器"插件先修复。执行后,系统会在所有道路交叉点生成新的点图层。
实测下来,这个功能对大型路网也很稳定。我曾处理过包含5万+路段的数据集,生成的交叉口点位置准确率超过99%。生成的交叉口点图层会自动继承原始图层的属性,方便后续筛选和统计。比如可以通过"选择要素"工具,快速找出所有主干道与次干道的交叉点。
2. 缓冲区+相交:统计沿线设施分布
这个组合技是我做商业选址分析时的秘密武器。比如要统计某条商业街周边100米内的餐饮店数量,传统方法需要手动测量,而用QGIS只需要三步:
- 先用"缓冲区"工具为道路创建100米缓冲带(参数设置时注意坐标系,平面坐标系直接输入100,地理坐标系需要换算)
- 加载POI点图层(餐饮店数据)
- 使用"相交"工具将两个图层叠加
有个容易踩坑的地方:缓冲区创建时要勾选"融合结果",否则每条路段会生成独立的多边形,导致统计重复。我建议把结果导出为CSV后,用Python做进一步处理。比如可以用pandas的groupby功能,按道路ID分组统计各类POI数量。
import pandas as pd df = pd.read_csv('相交结果.csv') poi_stats = df.groupby(['道路ID','POI类型']).size().unstack()3. 距最近枢纽:查找最近服务设施
这个功能特别适合应急规划场景。比如要分析每个小区到最近医院的距离,传统GIS软件需要写复杂脚本,而QGIS的"距最近枢纽"插件让操作变得异常简单。
具体步骤:
- 用"提取顶点"工具生成路网节点
- 加载医院POI图层
- 运行"距最近枢纽"工具,设置搜索半径(建议先用"测量距离"工具估算合理范围)
我做过一个实测:在百万级POI数据集上,设置5公里搜索半径,整个过程不到3分钟。结果图层会包含两个关键字段:HubName(最近设施ID)和HubDist(距离值)。把这些数据导入Excel,用数据透视表就能快速生成区域覆盖分析报告。
4. 按位置连接属性:分析路网连接性
在城市交通微循环分析中,了解每条道路的连接情况至关重要。QGIS的"按位置连接属性"插件可以自动完成这项繁琐工作。
操作时要注意几个参数:
- 几何图形关系选"接触"(touches)
- 连接类型建议选"一对多"
- 属性字段选择要保留的关键信息
我常用这个功能做断头路分析。先把连接结果导出,然后用Python筛选出只连接一条道路的线段,这些往往就是需要打通的断头路。对于大型路网,可以结合网络分析插件做进一步的可达性模拟。
# 查找断头路示例代码 import geopandas as gpd gdf = gpd.read_file('连接结果.shp') dead_ends = gdf[gdf['连接计数'] == 1] dead_ends.to_file('断头路.shp')在实际项目中,我习惯把这四个功能组合使用。比如先用"线相交"找出所有交叉口,再用"缓冲区+相交"分析交叉口影响范围,最后用"距最近枢纽"评估应急响应能力。这种工作流比单独使用某个功能效率高出3-5倍。