Open bdaniere opened 5 years ago
Rajout d'une fonction pour le nombre limite de colonne :+1:
def dbf_max_columns(gdf): """ DBF files can not have more than 255 fields: deleting fields that exceed this constraint :param gdf: gpd.GeoDataFrame() with x columns :return gdf: gpd.GeoDataFrame() with x columns (max 255) """
gdf = gdf.dropna(how='all', axis=1)
if len(gdf.columns) >= 255:
logging.warning("-- formatting before export : DBF file constraint:" \
"the column limit is 255 - deletion of the last x columns")
output_column = list(gdf.columns[:254])
if 'geometry' not in [output_column]:
output_column.append('geometry')
gdf = gdf[output_column]
return gdf
et rajout de lignes pour la limite du nombre de caractère :
# shp constraint : max length of string value = 245
geometry = gdf.geometry.copy()
gdf = gdf.astype(str).apply(lambda x: x.str[:254])
gdf.geometry = geometry
Cependant, l'export est toujours assez long (et les valeur nulle sont remplacer par str('nan') ==> Continuer de creuser
Lors de l'export de certaines données, des message d'erreurs s'affiche en consoles + le temps d'export est assez conséquent
==> résoudre le problème de