【无标题】阿斯顿发顺丰

def merge_geojson_files(input_files):
    for input_file in input_files:
        with open(input_file, 'r') as f:
            in_features = False
            for line in f:
                if not in_features:
                    if "\"features\": [" in line:
                        in_features = True
                    continue
                yield line

def main():
    # 定义要合并的输入文件列表
    input_files = ["file1.geojson", "file2.geojson"]
    
    # 定义输出文件
    output_file = "merged.geojson"
    
    # 打开输出文件并写入GeoJSON头部
    with open(output_file, 'w') as output:
        output.write('{\n')
        output.write('  "type": "FeatureCollection",\n')
        output.write('  "features": [\n')
        
        # 使用生成器逐行处理文件内容
        for line in merge_geojson_files(input_files):
            output.write(line)
        
        # 写入GeoJSON尾部
        output.write('  ]\n')
        output.write('}\n')

    print("合并完成,结果保存在 " + output_file)

if __name__ == "__main__":
    main()
 

# 定义要合并的输入文件
input_file1 = "file1.geojson"
input_file2 = "file2.geojson"

# 定义输出文件
output_file = "merged.geojson"

# 打开输入文件1和输出文件
with open(input_file1, 'r') as f1, open(output_file, 'w') as output:
    # 逐行读取和写入文件1
    for line in f1:
        output.write(line)

# 打开输入文件2,并继续写入到输出文件
with open(input_file2, 'r') as f2, open(output_file, 'a') as output:
    # 跳过GeoJSON文件的开头,避免重复特征集合的头部
    in_features = False
    for line in f2:
        if not in_features:
            if "\"features\": [" in line:
                in_features = True
            continue
        output.write(line)

print("合并完成,结果保存在 " + output_file)
 

import fiona

# 定义要合并的输入文件
input_file1 = "file1.geojson"
input_file2 = "file2.geojson"

# 定义输出文件
output_file = "merged.geojson"

# 打开输入文件1
with fiona.open(input_file1, 'r') as src1:
    # 打开输出文件
    with fiona.open(output_file, 'w', driver=src1.driver, crs=src1.crs, schema=src1.schema) as dst:
        for feature in src1:
            dst.write(feature)

# 打开输入文件2,继续写入到输出文件
with fiona.open(input_file2, 'r') as src2:
    with fiona.open(output_file, 'a', driver=src2.driver, crs=src2.crs, schema=src2.schema) as dst:
        for feature in src2:
            dst.write(feature)

print("合并完成,结果保存在 " + output_file)
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值