Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#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: 1160
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)
Hors 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