inseefrlab / cartiflette Goto Github PK
View Code? Open in Web Editor NEWProjet visant à simplifier la récupération des shapefiles officiels
Home Page: https://inseefrlab.github.io/cartiflette-website/
License: MIT License
Projet visant à simplifier la récupération des shapefiles officiels
Home Page: https://inseefrlab.github.io/cartiflette-website/
License: MIT License
Pas la norme de fournir un geojson en 2154
Ajouter un contrôle du md5 avant de lancer un téléchargement
problème recup données FTP remarqué par @oliviermeslin
Les tests automatisés semblent échouer systématiquement : à diagnostiquer.
Pas réussi à attaquer directement les flux WFS (retour systématique d'un "MissingParameter" non précisé).
Ne fonctionne pas :
from owslib.wfs import WebFeatureService
url = "https://wxs.ign.fr/geoportail/wfs"
wfs = WebFeatureService(url=url, version='2.0.0')
cog_files = [
x for x in wfs.contents
if 'cog' in x.lower()
and 'carto' in x.lower()
and 'latest' in x.lower()
]
print(wfs.getfeature(cog_files[-1]).read())
En revanche, l'appel via l'API carto en version beta fonctionne ; le débit semble beaucoup plus rapide que sur le site de l'IGN (mais les md5 ne sont par contre pas fournis, il faudra les calculer à réception) :
from owslib.wfs import WebFeatureService
import geopandas as gpd
import requests
url = "https://wxs.ign.fr/geoportail/wfs"
wfs = WebFeatureService(url=url, version='2.0.0')
cog_files = [
x for x in wfs.contents
if 'cog' in x.lower()
and 'carto' in x.lower()
and 'latest' in x.lower()
]
print(cog_files)
file = cog_files[-1]
bbox_world = """{"type":"Polygon", "coordinates":[[[-180,-90],[-180,90],[180,90],[180,-90],[-180,-90]]]}"""
r = requests.get(
'https://apicarto.ign.fr/api/wfs-geoportail/search',
params={"source":file, "geom":bbox_world}
)
gdf = gpd.GeoDataFrame.from_features(r.json())
gdf.plot()
Côté Insee :
Côté DREES (Vincent) :
Autres administrations:
Chercheurs géographes:
Autres publics:
J'ai noté qu'AdminExpress-COG, qui est bien pratique, ne comporte néanmoins pas les noms de régions et de département. Il faudra quand même apparier au COG pour les avoir. Ce sont en effet des critères de sélection intéressants pour un utilisateur de données géographiques (perso je connais pas le code région d'Occitanie)
Copier la logique de récupération des données sur les bassins de vie
Sujet qui a commencé à avancer avant l'atelier du 20. Mission divisée en 2:
Bonjour, je suis débutant en python et surtout dans l'utilisation de package GIT. Il est donc plus que probable que l'erreur vienne de moi. Je ne trouve cependant pas où je me trompe.
Le READme propose la requête test suivante :
import cartiflette.s3
normandie = cartiflette.s3.download_vectorfile_url_all(
values = "11",
level="COMMUNE",
vectorfile_format="geojson",
decoupage="region",
year=2022)
ax = normandie.plot()
ax.set_axis_off()
Cependant help(cartiflette.s3.download_vectorfile_url_all) renvoie :
Help on function download_vectorfile_url_all in module cartiflette.s3.s3:
download_vectorfile_url_all(values: Union[str, int, float] = '28', borders='COMMUNE', vectorfile_format='geojson', filter_by='region', year=2022, provider: str = 'IGN', source: str = 'EXPRESS-COG-TERRITOIRE', crs=None)
Les arguments level et decoupage ne semblent donc pas présents dans la fonction.
quartodoc
is an alternative to sphynx regarding package documentation
This would be quite useful to generate such documentation
Données désormais fournies au format SQL compressé (7z), éventuellement découpé en plusieurs parties.
Faire un notebook observable sera utile, ça facilitera des réutilisations
en choppant les versions "par territoire - nom du territoire" pour 2022 et 2021 puis les packs "par territoire" pour les éditions 2017 à 2020, ça devrait le faire.
@sebnovella
Bonjour. Je rencontre un problème avec le certificat SSL lorsque j'essaie d'utiliser cartiflette.s3.download_vectorfile_url_all
:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)>
Je travaille sur l'application Microsoft Visual Studio. Je ne comprends pas ce qui se passe dans le détail, mais de ce que je vois SSL est un protocole de sécurité que Python gère à travers le module SSL. Il a besoin d'un certificat géré par le module certifi
.
Le problème ne vient pas de certifi
, il est bien à jour, j'ai désinstallé et réinstallé le module et ai même essayé une version plus ancienne, sans succès.
L'erreur a l'air courante à en croire StackOverflow (avec d'autres fonctions que celles de cartiflette
), la solution la plus courante est :
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
Cependant cela revient à désactiver un protocole de sécurité, aussi ne suis-je pas sûr que c'est une idée à suivre ...
Merci du suivi!
Déjà commencé mais faudrait avoir une V0 pour pouvoir avancer sur la récupération de données depuis SSPCloud
cependant
COMMUNE_ARRONDISSEMENT
COG-CARTO-TERRITOIRE
Exemple de production: 59808c7
In the context of Etalab helping the 10% projects to become more collaborative, here are some suggestions:
CONTRIBUTING
section to the README.md
: explain who can contribute and for what (it is not necessary to provide a dedicated CONTRIBUTING.md
file).LICENSE
section to the README.md
.J'ai un peu réfléchi à la manière idéale de faire cette transformation. Je me dis qu'on peut vraiment tirer profit de l'aspect POO de python là (là où R serait plus contraignant). Voici ce que je me suis dit :
FrGeoDataFrame
(inspiration de pynsee
) qui s'appuie sur gpd.GeoDataFrame
(comme ça toutes les opérations classiques d'un GeoDataFrame restent valident)GeoDataFrame
qui n'utilise pas la geometry de l'objet mais cette géométrie spécialeL'idée exprimée par @cedricr sur Tchap cette semaine me paraît importante pour fiabiliser cartiflette
:
"on pourrait peut-être réflechir à avoir une phase de nettoyage des données avant de les servir (ne serait-ce qu'un simple st_makevalid ou un buffer(0)…)"
mapshaper
ne supporte pas encore le parquet, il faudrait chercher comment adapter le pipeline dans ce cas
Suite à l'atelier du 20/09, sur les conseils de Sébastien Novella et Marie Pierre De Bellefon, TACM apparaît plus prioritaire que le COG
Permet éventuellement de résoudre #7
Mission confiée à @ambroisecoulomb
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.