Closed jdesboeufs closed 6 years ago
Il y en a dans le fichier des parcelles et des polygones des batiments du cadastre
Il y a aussi des erreurs de "Self-intersection " et de "Ring Self-intersection" vu avec l'import postgis
Si ça peut intéresser j'ai un algo postgis pour réparer ce qu'il est possible de réparer ou mettre null quand ce n'est pas possible de réparer.
J'importe en premier les json dans postgis avec la commande:
ogr2ogr -f "PostgreSQL" PG:"host=${HOST} user=${USER} dbname=${DATABASE} password=${PASSWORD}" file.json --config PG_USE_COPY YES -nln ma_table
puis
SELECT *, case when st_isvalid(st_multi(wkb_geometry)) THEN st_multi(wkb_geometry) when ST_IsValidReason(st_multi(wkb_geometry)) like 'IllegalArgumentException: Invalid number of points in LinearRing found%' THEN cast(null as geometry) when st_isvalid(st_multi(st_buffer(wkb_geometry,0))) THEN st_multi(st_buffer(wkb_geometry,0)) when not st_isvalid(st_makevalid(st_multi(wkb_geometry))) then cast(null as geometry) when ST_GeometryType(st_makevalid(st_multi(wkb_geometry))) <> 'ST_MultiPolygon' then cast(null as geometry) else st_makevalid(st_multi(wkb_geometry)) end AS corrected_geometry FROM ma_table
Merci mais l'essentiel des erreurs est lié au driver GDAL, et les corrections via PostGIS ne seraient que des rustines. Par ailleurs nous n'utilisons pas PostGIS à ce stade de la chaîne de production ;)
Je travaille sur une nouvelle version du parsing des fichiers EDIGÉO. Celle-ci ne s'appuie pas sur GDAL.
En fait il semble que l'essentiel des problèmes vienne de cas de topologie incorrecte, lorsque plusieurs arcs entre deux noeuds sont présents dans le fichier.
La nouvelle version corrige au moins les 5 premières anomalies (vérification manuelle). À suivre.
Corrigé.
Bonjour @jdesboeufs .
Votre post date un peu, mais j'ai toujours des problèmes avec le cadastre et peut-être pourrez-vous m'aider. Je réalise des fusions sous format Sqlite, à partir des fichiers Edigeo et Majic III, avec l'extension Cadastre de QGIS (dernière version), mais lors de cette fusion, il manque des parcelles au fichier de sortie. Après quelques recherches avec le CRIGE PACA, j'ai mis en évidence que les parcelles manquantes présentaient une ou plusieurs des invalidités suivantes (erreurs de géométrie) :
Je n'ai pas réussi à trouver d'outil permettant de réparer les fichiers source (EDIGEO), de manière à obtenir des fichiers de sortie Sqlite complets. Le problème a été signalé aussi bien aux développeurs de l'outil Cadastre, qu'à l'IGN et à la DGFIP, mais rien n'a changé...
Auriez-vous une solution?
Merci à vous.
Nikolas
Remontée beta-testeur :
J’ai 53 ID pour lesquels j’ai eu des rejets d’intégration dans la géométrie : Multipolygon avec une ligne fermée (3 sommets) à la place du 2ème polygone :