QGIS火车站点150公里缓冲

1. 在QGIS中导入火车站点数据。可以使用OpenStreetMap的数据或其他来源的数据。

2. 对火车站点进行150公里缓冲。在QGIS中,可以使用“缓冲区”工具来实现。选择火车站点图层,打开“缓冲区”工具,设置缓冲距离为150公里,选择一个合适的投影坐标系,然后点击“运行”按钮。这将创建一个新的图层,其中包含所有火车站点的150公里缓冲区。

3. 将所有站点缓冲叠加。在QGIS中,可以使用“合并向量图层”工具来实现。选择150公里缓冲区图层和火车站点图层,打开“合并向量图层”工具,设置合并方式为“合并”,然后点击“运行”按钮。这将创建一个新的图层,其中包含所有火车站点的150公里缓冲区的叠加。

4. 将多层叠加处颜色依次加深。在QGIS中,可以使用“符号”工具来实现。选择150公里缓冲区的叠加图层,打开“符号”工具,选择一个合适的填充颜色,然后点击“高级符号”按钮。在“高级符号”对话框中,选择“渐变填充”选项卡,选择一个合适的渐变类型和颜色,并将“中心点位置”设置为“0.5”,然后点击“确定”按钮。这将创建一个渐变填充符号,其中颜色从图层边缘向中心逐渐加深。

5. 可视化结果。在QGIS中,可以将150公里缓冲区的叠加图层与其他图层进行叠加,并使用透明度调整工具来调整每个图层的透明度,以便更好地展示结果。可以使用“导出为图片”工具将结果导出为图片文件。

以下是使用Python代码在QGIS中分别做火车站点150公里缓冲、将所有站点缓冲叠加并可视化,并将多层叠加处颜色依次加深的详细步骤:


# Import required libraries
from qgis.core import (QgsVectorLayer, QgsProject, QgsGeometry, QgsSymbol,
                       QgsRendererCategory, QgsGraduatedSymbolRenderer,
                       QgsFillSymbol, QgsSymbolLayerUtils)

# Define the path to the train station data
train_station_path = "/path/to/train/station/data.shp"

# Define the buffer distance in meters
buffer_distance = 150000

# Load the train station layer
train_station_layer = QgsVectorLayer(train_station_path, "Train Stations", "ogr")

# Create a buffer layer for the train stations
buffer_layer = train_station_layer.buffer(buffer_distance, 100)

# Add the buffer layer to the project
QgsProject.instance().addMapLayer(buffer_layer)

# Create a graduated symbol renderer for the buffer layer
renderer = QgsGraduatedSymbolRenderer('id')
symbol = QgsFillSymbol.createSimple({'color': '255,0,0,255', 'style': 'solid', 'outline_style': 'no'})
categories = []
for i in range(10):
    category = QgsRendererCategory(i + 1, symbol, str(i + 1))
    categories.append(category)
renderer.setLowerValue(0)
renderer.setUpperValue(9)
renderer.setClassificationMethod(QgsGraduatedSymbolRenderer.EqualInterval)
renderer.setSourceColorRamp(QgsFillSymbol.createColorRamp({'color1': '255,255,255,255', 'color2': '255,0,0,255', 'stops': '0.00=255,255,255,255:0.50=255,0,0,255:1.00=128,0,0,255'}))
renderer.updateCategories(categories)
buffer_layer.setRenderer(renderer)

# Refresh the map canvas
iface.mapCanvas().refresh()
 

这段代码将加载火车站点数据,创建150公里缓冲区,并将缓冲区图层添加到项目中。然后,它将为缓冲区图层创建一个渐变填充符号,并将符号渲染器设置为渐变符号分类渲染。最后,它将更新分类渲染器的类别,并将其应用于缓冲区图层。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

认真学GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值