python解决多个矢量点图层合并为一个点图层
1、解决矢量点图层的合并
2、解决多个点图层分别合并为不同图层(一个文件夹下所有点图层合并为一个图层,以下代码为两个文件夹,分别合并为两个总的图层)
import geopandas as gpd
import os
import pandas as pd
def merge_shapefiles(input_folder, output_file):
merged = gpd.GeoDataFrame()
for file in os.listdir(input_folder):
if file.endswith('.shp'):
shp_path = os.path.join(input_folder, file)
gdf = gpd.read_file(shp_path)
merged = pd.concat([merged, gdf], ignore_index=True)
# 保持原始投影
if not merged.empty:
merged = merged.set_crs(gdf.crs)
merged.to_file(output_file)
print(f"已合并保存到: {output_file}")
else:
print("没有找到可用的shp文件或合并结果为空。")
# 示例用法
grass_folder = r"E:****"#需要合并的点图层放在的文件夹
grass_merged_output = r"E:\****\点_合并.shp"
forest_folder = r"E:\******"#需要合并的点图层放在的文件夹
forest_merged_output = r"E:\****\点_合并2.shp"
# 合并点
merge_shapefiles(grass_folder, grass_merged_output)
# 合并点
merge_shapefiles(forest_folder, forest_merged_output)