Files
2026-06-19 11:15:39 +02:00

24 lines
741 B
Python

import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
import sys
def csv_to_shp(in_file: str, out_file: str, x_col: str = 'Lambert_X', y_col: str = 'Lambert_Y'):
# 1. Load the interpolated CSV
df = pd.read_csv(in_file, encoding='UTF-8', on_bad_lines='skip', delimiter=';') # or 'cp1252' if needed
# 3. Create geometry from X and Y
geometry = [Point(xy) for xy in zip(df[x_col], df[y_col])]
# 4. Create GeoDataFrame
gdf = gpd.GeoDataFrame(df, geometry=geometry)
# 5. Set CRS (Lambert 93 = EPSG:2154, common in France)
gdf.set_crs(epsg=2154, inplace=True)
# 6. Export to shapefile
gdf.to_file(out_file)
csv_to_shp(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])