Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 08 January 2019 13:55

EmilieCCBE
Participant actif
Date d'inscription: 22 Nov 2018
Messages: 80

[PYthon - GeoPanda]

Bonjour,
je ne suis pas sûre de poster mon message sur la bonne section du forum mais je n'ai pas trouév de section spécifiquement dédiée à Python.
J'essaie de charger un shape dans un geodataframe avec Geopandas. Cependant je ne heurte à une erreur que je ne parviens pas à comprendre.

Mon script est le suivant :

Code:

data_path = 'mon_chemin'
ext = '.shp'

#On accede au dossier

os.chdir(data_path)
for element in os.listdir(data_path):
        if element.endswith(ext):
            print (element)
            url = data_path + '/' + element
            df = gpd.read_file(url)

Et je reçois le mesage d'erreur suivant :

Code:

Traceback (most recent call last):
  File "C:/Users/m00580/PycharmProjects/Eau_assainissement/ExtractionListeChampFromShape.py", line 48, in <module>
    df = gpd.read_file(url)
  File "C:\Python37\lib\site-packages\geopandas\io\file.py", line 76, in read_file
    gdf = GeoDataFrame.from_features(f_filt, crs=crs, columns=columns)
  File "C:\Python37\lib\site-packages\geopandas\geodataframe.py", line 227, in from_features
    for f in features_lst:
  File "fiona\ogrext.pyx", line 1228, in fiona.ogrext.Iterator.__next__
  File "fiona\ogrext.pyx", line 223, in fiona.ogrext.FeatureBuilder.build
ValueError: year 0 is out of range

Mon shape comporte bien des champs de type date mais les valeurs qu'ils contiennent sont conforme. Elles sont écrites de la manière suivante : yyyy-mm-dd ou sont null.

Quelqu'un a-t-il déjà rencontré ce type de problème?

Cordialement,

Belle journée à tous.

Emilie.

Hors ligne

 

#2 Tue 08 January 2019 15:52

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1159

Re: [PYthon - GeoPanda]

Salut,

je ne ne connais pas geopandas,
mais je dirais que le lecteur de shapefile sous-jacent
qui est gdal/ogr, attends des champs dates dans
un autre format que celui contenu dans votre shape.

Peut être pouvez vous spécifiez le bon format en argument
supplémentaire dans votre appel à read_file().

Pour connaitre les options,
vous pouvez appeler la fonction suivante :

Code:

import fiona; help(fiona.open)

En ligne

 

#3 Wed 09 January 2019 08:46

EmilieCCBE
Participant actif
Date d'inscription: 22 Nov 2018
Messages: 80

Re: [PYthon - GeoPanda]

Merci pour le conseil. Je vais essayer de charger le fichier directement avec Fiona.

Emilie.

Hors ligne

 

#4 Wed 09 January 2019 15:13

EmilieCCBE
Participant actif
Date d'inscription: 22 Nov 2018
Messages: 80

Re: [PYthon - GeoPanda]

Bonjour,

je viens de tester l'intégration des mêmes shape avec fiona et aucune erreur remontée...Je peux accéder sans problème  ma structure de données.  J'avoue que je ne vois pas trop pourquoi geopandas le refuse.
Merci pour le conseil en tout les cas.

Emilie

Hors ligne

 

#5 Mon 11 March 2019 16:43

Tim31
Participant occasionnel
Date d'inscription: 29 Sep 2013
Messages: 12

Re: [PYthon - GeoPanda]

Bonjour,

Je viens de tester ton code, pour moi tout fonctionne à merveille...
Petit conseil quand même, évite les changement de dossier avec os.chdir. Tu peux vite te perdre et ici par exemple c'est inutile car tu utilise ce même chemin pour ta boucle donc pas besoin de faire ce dossier le dossier courant.

Dernière modification par Tim31 (Mon 11 March 2019 16:44)

Hors ligne

 

Pied de page des forums

Powered by FluxBB