import pandas as pd import geopandas as gpd import numpy as np import os import pyproj import matplotlib.pyplot as plt import plotly.express as px import contextily as ctx from shapely import line_interpolate_point, unary_union from shapely.ops import linemerge from shapely.geometry import Point, LineString # === PARAMÈTRES === in_path = "in" csv_file = "input.csv" shapefile_name = "célé.shp" riv_gdf = gpd.read_file(os.path.join(in_path, shapefile_name)).to_crs(epsg=2154) unioned = unary_union(riv_gdf.geometry) # Step 3: Linemerge to form continuous lines merged = linemerge(unioned) gdf_cele = gpd.GeoDataFrame({'geometry':[merged]}, geometry='geometry', crs="EPSG:2154") print(type(merged), merged) print("###################################### riv_gdf.geometry") print(gdf_cele.geometry) # wgs84_to_l93 = pyproj.Transformer.from_crs("EPSG:4326", "EPSG:2154", always_xy=True) # l93_to_wgs84 = pyproj.Transformer.from_crs("EPSG:2154", "EPSG:4326", always_xy=True) # x_l93, y_l93 = wgs84_to_l93.transform(1.928223285366529, 44.5968489248117) # point_proj = Point(x_l93, y_l93) # actual_distance = riv_line.project(point_proj) # print(actual_distance) # actual_point = riv_line.interpolate(actual_distance) # actual_point_prj = l93_to_wgs84.transform(actual_point.x, actual_point.y) # print(actual_point_prj)