#!/usr/bin/env python3
import json, os, sys

input_path, output_dir = sys.argv[1], sys.argv[2]
chunk_size = int(sys.argv[3]) if len(sys.argv) > 3 else 10000
os.makedirs(output_dir, exist_ok=True)

with open(input_path, 'r', encoding='utf-8') as f:
    data = json.load(f)

features = data.get("features", [])
for i in range(0, len(features), chunk_size):
    chunk = {
        "type": "FeatureCollection",
        "features": features[i:i+chunk_size]
    }
    with open(f"{output_dir}/chunk_{i//chunk_size + 1}.geojson", 'w', encoding='utf-8') as f_out:
        json.dump(chunk, f_out, ensure_ascii=False)
