bdaniere / OSM_downloader

0 stars 0 forks source link

fix shp export bug #7

Open bdaniere opened 5 years ago

bdaniere commented 5 years ago

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

bdaniere commented 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) """

drop empty columns

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