Export#
Since the profile and trench_depth_profile are list of tuples, they cannot be exported to a shapefile or GeoPackage directly using the native GeoPandas function (to_file). This module contains functions to convert the list of tuples to JSON strings, which can then be exported to a shapefile or GeoPackage. The option saving the data as a parquet file is added.
- pysewer.export.is_list_of_tuples(column)[source]#
Check if a pandas Series contains lists of tuples.
- pysewer.export.tuple_list_to_json(tuple_list, decimals: int | None = None)[source]#
Serialize a list of tuples to a JSON string, optionally rounding floats.
- pysewer.export.round_float_columns(gdf: GeoDataFrame) GeoDataFrame[source]#
Round float attribute columns according to
export.round_decimals.The “default” entry covers columns without an explicit setting; a null/None config disables rounding entirely. Keeps exported files free of float noise (7+ decimal places) that downstream tools such as Elan would otherwise have to clean up themselves.
- pysewer.export.generate_schema(gdf: GeoDataFrame)[source]#
Generate a schema based on the GeoDataFrame.
- Parameters:
gdf (gpd.GeoDataFrame) – The GeoDataFrame to generate the schema from.
- Returns:
The schema dictionary.
- Return type:
- pysewer.export.write_gdf_to_gpkg(gdf: GeoDataFrame, filepath: str, layer: str | None = None, crs: CRS | None = None)[source]#
Write a GeoDataFrame to a GeoPackage (GPKG) file using Fiona, converting lists of tuples to JSON strings.
- Parameters:
gdf (gpd.GeoDataFrame) – The GeoDataFrame to be written to the GPKG file.
filepath (str) – The file path to the GPKG file.
layer (str (optional)) – The layer name inside the GPKG file. If no layer name is specified the file name is used.
crs (CRS (optional)) – The layer CRS
- Return type:
None
Notes
This function converts any columns with list of tuples to JSON strings before writing to the GPKG file. Float columns and profile tuples are rounded according to
export.round_decimals.
- pysewer.export.write_gdf_to_shp(gdf: GeoDataFrame, filepath: str)[source]#
Write a GeoDataFrame to an ESRI Shapefile (SHP) file using Fiona, converting lists of tuples to JSON strings.
- Parameters:
gdf (gpd.GeoDataFrame) – The GeoDataFrame to be written to the SHP file.
filepath (str) – The file path to save the SHP file.
- Return type:
None
Notes
This function converts any columns in the GeoDataFrame that contain lists of tuples to JSON strings before writing to the SHP file. Float columns and profile tuples are rounded according to
export.round_decimals.
- pysewer.export.export_sewer_network(gdf: GeoDataFrame, filepath: str, file_format: str | None = None)[source]#
Export a sewer network GeoDataFrame to a file.
- Parameters:
gdf (gpd.GeoDataFrame) – A GeoDataFrame containing the sewer network.
filepath (str) – The path to the file to which the sewer network should be exported.
file_format (str) – The file format to which the sewer network should be exported. Default is ‘gpkg’ (GeoPackage). Currently supported formats are ‘gpkg’ (GeoPackage), ‘shp’ (ESRI Shapefile) and Geoparquet ‘parquet’.
- Raises:
ValueError – If the file format is not supported.
- Return type:
None