Python 脚本:自动按街道分类北京石景山区每月 1 万个点位数据并用于 GIS 展示
以下是一个基本的 Python 脚本,可以帮助您将点位按月份和所属街道进行筛选和分类:
import pandas as pd
import geopandas as gpd
# 读取数据
data = pd.read_csv('data.csv')
# 读取街道边界数据
streets = gpd.read_file('streets.shp')
# 将点位数据转换为 GeoDataFrame
points = gpd.GeoDataFrame(data, geometry=gpd.points_from_xy(data.lon, data.lat))
# 按月份和街道进行分类
for month in range(1, 25):
# 筛选出当前月份的数据
month_data = points[points['month'] == month]
# 将点位数据与街道边界数据进行空间连接
joined = gpd.sjoin(month_data, streets, op='within')
# 将数据写入文件
joined.to_file(f'month_{month}.shp')
这个脚本假设您的点位数据保存在一个名为 'data.csv' 的文件中,其中包含 'lat' 和 'lon' 列表示点位的纬度和经度,以及一个 'month' 列表示点位所属的月份。
脚本还假设您已经准备好了一个名为 'streets.shp' 的街道边界数据,其中包含一个 'name' 列表示每条街道的名称。
脚本将会生成一个名为 'month_1.shp'、'month_2.shp'、…、'month_24.shp' 的文件,分别表示每个月份的点位数据按街道分类后的结果。这些文件可以用于在 GIS 软件中展示和分析。
原文地址: https://www.cveoy.top/t/topic/oh4Y 著作权归作者所有。请勿转载和采集!