France/Cadastre/Import semi-automatique des bâtiments

From OpenStreetMap Wiki
Jump to navigation Jump to search

Avertissement

ATTENTION !! L'import du cadastre n'est pas une procédure anodine. Mal réalisée, elle peut générer des milliers d'erreurs. Ce n'est pas non plus une procédure rapide, il est nécessaire de passer du temps à corriger les chevauchements et à intégrer les données importées avec l'existant dans OSM avant d'envoyer le tout dans la base de donnée. Dans tous les cas, il est important de créer des groupes de modifications de taille raisonnable et surtout de ne pas mélanger l'import du cadastre avec des modifications d'un autre genre. Ceci afin de pouvoir revenir en arrière "facilement" si besoin.

Un des premiers problèmes à prendre à compte est le possible décalage des données cadastrales. Si le cas se présente, combiner les informations du Cadastre, des photos aériennes, des repères géodésiques (qui eux, sont une référence) et des éventuelles traces GPS ou du calque Strava pour retrouver qui est le plus proche de la réalité, et corriger en fonction.

De plus, si un des mots relation, validateur, JOSM, osmose, riverbank, multipolygon ou revert ne vous évoque rien, ça veut très certainement dire que vous feriez mieux de continuer à progresser dans la maîtrise d'OSM avant de vous y mettre. Particulièrement les erreurs de chevauchement ne sont pas toujours faciles à corriger lorsqu'on n'y est pas habitué. Un test simple est d'aller sur une zone comportant des erreurs signalées par osmose [1] et de tenter de les corriger. Vous serez prêt à commencer une intégration du cadastre lorsque cela ne vous posera aucun problème.

Voir FR:Import/Guidelines et FR:Automated Edits/Code of Conduct pour plus d'informations.

Trouver le lieu où agir

Une zone où le bâti n'a pas encore été importé peut se repérer de différentes façons.

  • La plus évidentes est votre connaissance du terrain.
  • Cela peut aussi se faire grâce à l'imagerie satellite ou la couche cadastre. Selon les lieux et le moment, l'un des 2 sera le plus à jour.
  • chercher des bâtiments actuellement représentés par un simple nœud avec * overpass, cela vous détectera cependant aussi beaucoup d'erreur de tag tel que les nœuds bâtiments dans un bâtiment
  • chercher dans les notes "bâtiment manquant" ou "bâtiment à importer" ou "cadastre"
  • des outils plus évolués tel que https://cadastre.damsy.net permettent de cibler les communes dont le cadastre est le plus ancien

Méthode couche cadastre (manuel, simple, tout éditeur)

Activer la couche cadastre (dans iD : menu de droite, couches, dans JOSM : menu imagerie) dessiner le(s) bâtiment(s) voulu(s). avantage : flux temps réel depuis le cadastre (c'est la version actuelle du cadastre sans délais de mise à jour)

Avec JOSM et le greffon AreaSelector, il est très rapide de créer un bâtiment à partir du fond cadastral : démo

Méthode cadastre.openstreetmap.fr (manuel, moyen, JOSM)

méthode archivée avantage : flux temps réel depuis le cadastre (c'est la version actuelle du cadastre sans délais de mise à jour)

Méthode plugin cadastre (manuel, moyen, JOSM)

Présentation

Le greffon cadastre permet de récupérer une zone du cadastre directement dans JOSM. En réalisant cet export sur une zone suffisamment grande, on obtient la carte entière des bâtiments d'une commune dans un format vectoriel.

Il est ainsi possible d'importer tout le bâti d'une ville d'un coup, avec seulement des corrections à faire plutôt que le traçage complet.

Outre cette méthode d'import semi-automatique, il existe une réflexion non aboutie sur un import beaucoup plus global et homogène 100 % automatique : France/Cadastre/Import automatique des bâtiments.

Cas Général

  1. Téléchargez les données OSM de la zone souhaitée, puis avec le même bouton, changez d'onglet pour télécharger les données du cadastre : pensez à ne sélectionner que celles qui vous intéressent (eau permet d'importer les piscines privées). Attention, chargez ces nouvelles données dans un nouveau calque.
  2. En activant le calque de données, on arrive à apercevoir par transparence les bâtiments manquants.
    Changez de calque pour les sélectionner et fusionnez la sélection ctrl+alt+m ou ctrl+shift+m.
  3. Vérifiez que les  bâtiments récupérés du greffon cadastre soient bien positionnés en jouant des calques
  4. Réactivez le calque de données OSM pour observer l'import. Il ne reste qu'à envoyer les modifications.

Récapitulatif en vidéo: http://lysios.free.fr/osm/cad/import-cadastre-vid.mkv

Cas particulier : le nouveau bâti partage des murs avec de l’existant

Lors de la copie du bâtiment dans le calque OSM, des nœuds du nouveau bâti vont se superposer à des nœuds ou des lignes déjà existants. Pour 2 nœuds qui se chevauchent, il faudra les fusionner (touche M). Pour un nœud que chevauche une ligne, il faudra l'y incorporer (touche N).

Exemple en vidéo : http://lysios.free.fr/osm/cad/import-cadastre-souci-noeud.mkv

Cas particulier : un tracé était déjà présent mais de moins bonne qualité

Si l'existant est de qualité équivalente à ce qui est importé (la superposition des calques permet de le voir facilement) il est préférable de garder l'existant par respect de ceux qui vous ont précédés.

En cas de différence, vous pouvez utiliser la commande "Remplacer la géométrie" du plugin utilsplugin2 (raccourci Ctrl+Maj+G) pour modifier la géométrie d'un bâtiment existant et lui donner celle d'un bâtiment importé. Exemple en vidéo : http://lysios.free.fr/osm/cad/import-cadastre-remplacer-geometrie.mkv

Sinon vous pouvez utiliser la fonction "copier" sur les données déjà dans OSM et "coller les attributs" dans votre nouveau calque d'import. Plus il y en a et plus c'est long : une commune où rien n'a encore été fait sera d'autant plus facile)

Importer toute une commune ne vous donne pas le droit d'effacer le travail déjà réalisé sur des bâtiments par d'autres contributeurs !

Cas particulier : des bâtiments renseignés sur OSM n'apparaissent plus au cadastre

Le bâtiment a sûrement été détruit. Quelques vérifications sont à prendre avant de le supprimer de la base OSM :

  • vérifier la date de création du polygone (un vieux bâtiment aura plus de chance d'avoir été détruit qu'un récent)
  • vérifier son absence des imageries satellites (n'hésitez pas à en utiliser plusieurs, certaines étant plus à jour que d'autres)

Vérification des erreurs

  1. Grace à l'outil de validation de JOSM, corriger :
    1. les erreurs : ways et nœuds en double
    2. les avertissements : superpositions de bâtiments, points isolés...
  2. Simplifier les lignes contenant trop de points. Une valeur entre 0.03 et 0.08 est conseillée (la plus haute simplifiera plus) :
    1. Ajuster le coefficient de simplification dans les préférences avancées (dernier onglet des préférences) en ajustant la propriété "simplify-way.max-error" (Attention à utiliser un point comme séparateur décimal). Si la propriété n'est pas présente, exécuter une première fois l'outil de simplification, cela la créera.
    2. Sélectionner les chemins à simplifier (Ctrl+A pour tout sélectionner), et utiliser l'action "Outils->Simplifier le chemin" (raccourci clavier Maj+Y).
  3. Fusionner les parties de bâtiments fractionnés. Sur certaines communes, ces bâtiments fractionnés sont nombreux. Il n'y a pas d'outil magique pour les repérer, sinon le flair. Avec la méthode cadastre.openstreetmap.fr, le fichier généré -houses-prediction_segmente.osm essaye d'en trouver certains. Sinon vous pouvez faire une recherche avec JOSM:
    1. "nodes:3 building" ou "nodes:3 building -wall" permet de trouver des triangles et souvent des fractionnements.
    2. "nodes:100-" permet de trouver les ways formés de plus de 100 nodes. Souvent morcelés ou de type reconnaissable (building=church par exemple)

Méthode BatiOsm (avancé, scripté, python)

Attention, là, ça se corse, et ça demande de savoir lancer un programme en python, c'est encore en développement, mais ça semble déjà bien marcher, ça ne dispense pas de vérifier le résultat of course : [2] Dépot sur Github

Dernière mise à jour du code : 12/2015 sletuffe (talk) 02:00, 11 January 2016 (UTC)

Méthode Bati-fusion

Dépot sur Github

Dernière mise à jour du code : 01/2014 sletuffe (talk) 02:00, 11 January 2016 (UTC)

Méthode BatiMao (avancée, intégré, josm)

https://cadastre.damsy.net est basé sur la méthode historique cadastre.openstreepmap.fr tout en automatisant un maximum :

  • détection d'une partie des bâtiments fractionnés
  • configuration et exécution du conflate

Cet outil peux aussi se limiter à repérer la commune à traiter et la faire avec la méthode de son choix.

Astuces diverses non classées

Détecter visuellement les nouveaux bâtiments

Sur une idée de [3] : Avec JOSM, vous pouvez ajouter le calque TMS suivant https://api.mapbox.com/v4/pratikyadav.332dd523/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoicHJhdGlreWFkYXYiLCJhIjoiMTA2YWUxNjRkNmFmZGQ4YzAxZWFiNDk0NDM1YjE1YjAifQ.4P6N5dNmA_WQXd3BsJvu5w (JOSM -> F12 -> WMS/TMS -> +TMS). Une couche en fond va afficher les bâtiments actuellement dans OSM en rouge. Superposez alors le fichier d'export des bâtiments du cadastre. Apparaît alors d'une couleur différente les bâtiments présents sur les deux couches de ceux présents que sur une.

Malheureusement ça ne fonctionne plus. H@mlet (talk) 15:13, 21 April 2021 (UTC)

Sélectionner uniquement les nouveaux bâtiments à importer

Avec JOSM, j'ouvre le fichier qui contient les bâtiments en provenance du cadastre, j'ajoute un tag "bidon" à tous les bâtiments genre a_verifier=1 (JOSM -> Modifier -> Rechercher -> building=yes -> ajouter le tag à la sélection) puis, car il y a moins de bâtiment nouveau, je sélectionne à la main chaque bâtiment nouveau, qui ne superpose pas un autre bâtiment et je supprimer le tag "a_verifier=1". Quand j'ai fini, je recherche tous les bâtiments à qui il reste "a_verifier=1" et je les supprime (JOSM -> Modifier -> Rechercher -> a_verifier=1 -> suppr). J'affiche en fond la carto OSM et je vérifie que des bâtiments ne finissent pas dans la mer, en travers de la route ou autre incohérence, et j'upload.

Cacher les données qui ne sont pas du bâti

Activez l'outil de filtrage (entonnoir dans la barre d'outils à gauche). Cela  fait apparaître un nouveau panneau de dialogue à droite. Ajoutez un filtre sur "building=*". Validez.  Inversez le filtre à l'aide des cases à cocher.

Utilisation du plugin «Conflation» dans JOSM

Présentation de Conflation

«Conflation» est un mot anglais signifiant mélange, combinaison. Le terme est utilisé quand on combine des données de différentes sources pour en générer une version unique de meilleure qualité.

Le plugin Conflation de JOSM permet de faire correspondre un à un des points ou des surfaces en fonction de leur géométrie et de leur tag. Le plugin appelle ensuite la fonction "Remplacer la géométrie" du plugin utilsplugin2 pour fusionner deux versions d'une même entité.

Attention: Conflation est un plugin expérimental.

Configuration de Conflation
  • Ouvrir le fichier de bâti extrait du cadastre -houses-prediction_augmente.osm. Corriger les segmentations du bâti de la couche -houses-simplifie.osm.
  • Ouvrir le fichier de bâti extrait du cadastre -houses-simplifie.osm. Ce calque sera le calque de «Reference» dans la terminologie du plugin Conflation.
  • Y sélectionner tous les «chemins» avec Ctrl+F type:way.
  • Dans un nouveau calque (Ctrl+N), télécharger les données OSM actuelles de toute la ville. Ce calque sera le calque «Subject» dans la terminologie du plugin Conflation.
  • Y sélectionner tous les chemins des bâtiments :
    • dans la liste des Relations, sélectionner celle de la commune
    • sélectionner l'ensemble des objets à l'intérieur de la zone avec Alt+Shift+I.
    • sélectionner tous les bâtiments dans la sélection avec une recherche de type Ctrl+F (type:way building=*) | (child (type:relation type=multipolygon building=*)) et en cochant la case "trouver dans la sélection".
  • Activer le plugin Conflation en cliquant sur son icône JOSM-Plugins-Conflation-Icon.png.
  • Cliquer sur le bouton «Configure» dans la fenêtre du plugin.
    • Dans la section «Référence» cliquer sur le bouton «Figer» après avoir activé le calque des données du cadastre.
    • Dans la section «Subject» cliquer sur le bouton «Figer» après avoir activé le calque des données OSM.
    • Cliquer sur le bouton «Generate Matches».
Utilisation de Conflation

Une fois les correspondances («Matches») trouvées, les trois panneaux de la fenêtre du plugin Conflation seront remplis :

  • «Subject Only»:
    • Commencer par traiter le panneau «Subject Only» listant les bâtiments présents dans le calque OSM et non présents dans le calque du cadastre.
    • Double cliquer sur chacun d'entre eux pour les sélectionner dans l'éditeur et vérifier (par exemple avec les images aériennes BDOrtho IGN) si le bâtiment a effectivement été détruit. Attention : bien vérifier l'âge de l'imagerie aérienne et / ou vérifier si le bâtiment n'a pas été supprimé par un autre contributeur.
    • Attention si vous avez téléchargé des bâtiments en dehors des limites de la ville, il est normal qu'ils ne soient pas présents dans l'export du cadastre, mais il ne faut surtout pas les supprimer pour autant.
    • Si le bâtiment a été détruit, le sélectionner dans l'éditeur et :
      • soit remplacer le tag building par removed:building s'il est encore visible sur les image aériennes
      • soit supprimer le bâtiment
    • Si le bâtiment existe toujours : l'enlever de la liste du plugin «Conflation» en cliquant sur son bouton «Supprimer»
  • «Matches»:
    • Le panneau «Matches» listes les cas où une correspondance a été trouvée entre un bâtiment du cadastre et un bâtiment OSM.
    • Chaque cas dois être vérifié individuellement, mais il est vraiment nécessaire de ne traiter que les cas dont la «Distance» est grande ou le «Score» est bien inférieur à 1.
    • Cliquer sur «Conflate» pour les cas de bâtiments à mettre à jour, «Supprimer» pour les cas à ignorer.
    • Attention: la mise à jour («Conflate») d'un bâtiment qui partage des nœuds avec d'autres bâtiments créera de nouveaux nœuds qui ne seront plus partagés.
    • Attention aux bâtiments fractionnés de manière incorrecte dans le cadastre, qu'il faut garder fusionnés en un seul bâtiment dans OSM.
  • «Reference Only»:
    • Le panneau «Reference Only» listes les bâtiments présents dans le cadastre sans correspondance dans OSM.
    • Il s'agit principalement de nouveaux bâtiments, mais - attention - il peut aussi s'agir de bâtiments fractionnés, ou de bâtiments mal alignés en montagne.
    • S'il n'y a pas de problème d’alignement il est possible de tous les ajouter d'un coup en sélectionnant toute la liste (Ctrl+A) puis en cliquant sur «Conflate» ; les cas problématiques devraient être détectés par le validateur.

Il est ensuite indispensable de lancer le validateur OSM pour corriger tous les cas problématiques que la «conflation» a générés, notamment les cas de :

  • Nœuds dupliqués
  • Bâtiment à l'intérieur d'un autre
  • Intersection de bâtiments
  • Chemins se croisant

Voir la section Vérification des erreurs.

Envoi au serveur

Méthode 1

  1. Au moment de l'envoi des données, il faut spécifier dans l'onglet "Avancé" d'envoyer en plusieurs parties, par morceau de 500 ou 1000 pour faciliter l'envoi (cela permet d'éviter des erreurs de transferts qui produisent des doublons).
  2. Envoyer d'abord les modifications sur le calque des données de la base OSM (principalement bâtiments supprimés)
  3. Envoyer ensuite le calque des données importées
  4. Enfin, récupérer les nouvelles données de la base OSM pour les derniers raccords (relations à mettre à jour par exemple)

Méthode 2

  1. Fusionner les deux calques
  2. Avec l'outil de validation, on vérifie les collisions éventuelles issues de la fusion (bâtiment-bâtiment, bâtiment-route, bâtiment-rivière, etc.)
  3. Envoyer par morceaux de 500 ou 1000

Vérification post-upload

Télécharger de nouveau toute la zone dans laquelle on a incorporé les bâtiments

Si la zone est grande ou très dense, utiliser l' api.openstreetmap.fr à la place de l'api osm.org

Contrôle d'assurance qualité

Attention !! Ces outils afficheront les erreurs seulement après leur nouveau passage sur la zone, ce qui peut prendre plusieurs jours. Pensez à recontrôler vos imports 3 ou 4 jours après.

  1. Contrôler avec les outils classiques de contrôle qualité
    1. DupeNodes [4] pour les nodes orphelins
    2. Osmose [5]) qu'il n'y a pas de doublons sur la zone traitée ou d'erreurs manifestes
    3. Pour les chevauchements, on pourra également utiliser le module dédié d'Osmose [6]

Traitements des cours d'eau avec JOSM avant envoi vers serveur OSM

Cette génération a été coupée jusqu'à nouvel ordre suite à un nombre trop important d'imports bâclés, une solution alternative est toujours en débat pour soit limiter l'accès à des contributeurs expérimentés ou utiliser une meilleure source de donnée

Attention, les données contenues dans ces fichiers (lié aux données au départ) sont à analyser manuellement avec une extrêmement attention car de nombreux problèmes tant techniques de que véracité sur le terrain ont été remarqués dans la plupart d'entre eux. (Des coupures aux ponts, aux frontières de communes, des ruisseaux qui n'en sont pas, etc.) La plus grande prudence, une confrontation avec d'autres sources et une connaissance du terrain sont vivement recommandées pour éviter d'importer dans OSM des données farfelues.

Le script en version 0.1 et 0.2 génère un fichier communal des cours d'eau nommé [n°INSEE]-[Commune]-water.osm. Lorsqu'il s'agit d'un réseau hydrographique maillé - typiquement un ensemble de canaux - ce fichier comporte de nombreux objets dupliqués (chemins et relations).

Pour corriger ces anomalies :

  1. Charger les données générées par le script (.osm) dans un calque vide (ne pas charger de données depuis le serveur au préalable).
  2. Enregistrer le fichier, puis le fermer. Recharger le fichier osm dans un calque vide. Un certain nombre d'erreurs détectées dans la Validation auront disparu.
  3. Supprimer toutes les relations
  4. Exécuter une validation
  5. Dans la liste des erreurs, sélectionner "erreur" puis "chemins dupliqués" et exécuter "Réparer".
  6. Dans la liste des erreurs de validation, sélectionner "avertissements" puis "Chemins superposés".
    1. Pour chaque chemin de la liste, cliquer sur le chemin et observer les chemins présentés dans la boite "Sélection".
    2. Si deux chemins apparaissent en "voie fluviale" avec le même nombre de nœuds, en sélectionner un, cliquer sur "sélectionner" et le supprimer (touche Suppr du clavier).
  7. Sélectionner successivement les chemins fermés englobant un ou plusieurs autres chemins fermés et créer une relation de type "multipolygon" constituée d'un membre "outer" et de membres "inner".
  8. Scinder les chemins fermés de plus de 2000 nœuds : JOSM empêche l'envoi vers le serveur tant qu'un chemin dépasse cette limite.
  9. Ouvrir un nouveau calque et y télécharger la carte OSM
  10. Repérer les cours d'eau présents sur la carte. Si un cours d'eau figure également sur la couche du script, supprimer celui de la carte.
  11. Envoyer les modifications effectuées sur la carte vers le serveur
  12. Envoyer la couche du script vers le serveur OSM en plusieurs parties. Il faut le spécifier dans l'onglet "Avancé" en mettant une taille de 500 ou 1000. Cela permet d'éviter des erreurs de transfert qui produisent des doublons.

Quelques remarques :

  • Certains fichiers OSM générés par les scripts sont volumineux et ralentissent considérablement les opérations dans JOSM. Il est alors préférable de constituer plusieurs fichiers, chacun portant sur une partie de la zone couverte. On obtient un tel fichier en partant du fichier complet chargé dans JOSM et en supprimant les objets en dehors de la zone visée. C'est aussi valable pour les fichiers de bâti.
  • Le tag waterway=riverbank manque parfois sur le chemin extérieur d'un polygone. Il faut alors l'ajouter.
  • Le tag waterway=riverbank figure parfois sur un chemin intérieur d'un polygone. Il faut le supprimer.
  • Le polygone importé du cadastre avec tag waterway=riverbank doit obligatoirement être accompagné d'une entité way (dans le sens d'écoulement du cours d'eau) avec le tag waterway=river et le nom éventuellement connu du cours d'eau. Il faudra en général le tracer, car il est inexistant dans le cadastre.
  • Il peut être intéressant d'appliquer une opération "simplifier le chemin" pour certains cours d'eau très détaillés.
  • La densité élevée de points sur le tracé des cours d'eau laisserait présager une grande précision en position géographique. Il n'en est rien : les cours d'eau en limite de communes se chevauchent souvent.
  • Certains contributeurs s'interrogent sur l'opportunité d'importer les cours d'eau du cadastre en raison du volume de données généré sur la carte OSM. C'est préjuger de l'usage qui peut en être fait. Un randonneur perdu au milieu du marais breton évitera de se mouiller à l'aide de la carte OSM sur son géonavigateur ("GPS").
  • Les objets et règles d'usage des cours d'eau

Coordination

Le tableau suivant liste les pages de coordination des efforts par département

Departments of Metropolitan France:
Ain (01) · Aisne (02) · Allier (03) · Alpes-de-Haute-Provence (04) · Hautes-Alpes (05) · Alpes-Maritimes (06) · Ardèche (07) · Ardennes (08) · Ariège (09) · Aube (10) · Aude (11) · Aveyron (12) · Bouches-du-Rhône (13) · Calvados (14) · Cantal (15) · Charente (16) · Charente-Maritime (17) · Cher (18) · Corrèze (19) · Corse-du-Sud (2A) · Haute-Corse (2B) · Côte-d’Or (21) · Côtes-d’Armor (22) · Creuse (23) · Dordogne (24) · Doubs (25) · Drôme (26) · Eure (27) · Eure-et-Loir (28) · Finistère (29) · Gard (30) · Haute-Garonne (31) · Gers (32) · Gironde (33) · Hérault (34) · Ille-et-Vilaine (35) · Indre (36) · Indre-et-Loire (37) · Isère (38) · Jura (39) · Landes (40) · Loir-et-Cher (41) · Loire (42) · Haute-Loire (43) · Loire-Atlantique (44) · Loiret (45) · Lot (46) · Lot-et-Garonne (47) · Lozère (48) · Maine-et-Loire (49) · Manche (50) · Marne (51) · Haute-Marne (52) · Mayenne (53) · Meurthe-et-Moselle (54) · Meuse (55) · Morbihan (56) · Moselle (57) · Nièvre (58) · Nord (59) · Oise (60) · Orne (61) · Pas-de-Calais (62) · Puy-de-Dôme (63) · Pyrénées-Atlantiques (64) · Hautes-Pyrénées (65) · Pyrénées-Orientales (66) · Bas-Rhin (67) · Haut-Rhin (68) · Rhône (69) · Haute-Saône (70) · Saône-et-Loire (71) · Sarthe (72) · Savoie (73) · Haute-Savoie (74) · Paris (75) · Seine-Maritime (76) · Seine-et-Marne (77) · Yvelines (78) · Deux-Sèvres (79) · Somme (80) · Tarn (81) · Tarn-et-Garonne (82) · Var (83) · Vaucluse (84) · Vendée (85) · Vienne (86) · Haute-Vienne (87) · Vosges (88) · Yonne (89) · Territoire de Belfort (90) · Essonne (91) · Hauts-de-Seine (92) · Seine-Saint-Denis (93) · Val-de-Marne (94) · Val-d’Oise (95)
Overseas departments and collectivities:
Guadeloupe (971) · Martinique (972) · Guyane française (973) · La Réunion (974) · Mayotte (976) · Saint-Barthélemy (977) · Saint-Martin (France) (978) · Saint-Pierre-et-Miquelon (975) · Polynésie française (987) · Wallis-et-Futuna (986) · Île Clipperton (989) · Terres australes et antarctiques françaises (986) · Nouvelle-Calédonie (988) ·