import argparse
from pathlib import Path
import geopandas as gpd

def export_results(gpkg_path, layer, output_path):
    """Export GeoPackage layer to GeoJSON or Shapefile."""
    gdf = gpd.read_file(gpkg_path, layer=layer)
    gdf.to_file(output_path, driver="GeoJSON")
    print(f"✅ Exported {layer} to {output_path}")

if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="Export a GeoPackage layer to GeoJSON."
    )
    parser.add_argument("gpkg_path", type=Path, help="Input GeoPackage path.")
    parser.add_argument("layer", help="Layer name inside the GeoPackage.")
    parser.add_argument(
        "output_path",
        type=Path,
        help="Output GeoJSON file path.",
    )
    args = parser.parse_args()

    export_results(args.gpkg_path, args.layer, args.output_path)
