WikiProject France/Cadastre/Import semi-automatique des bâtiments
Le site du cadastre permet d'exporter une zone au format pdf. En réalisant cet export sur une zone suffisamment grande, on obtient la carte entière des bâtiments d'une ville dans un format vectoriel.
Le script dont il est question sur cette page va utiliser cet export au format pdf pour le convertir en un fichier .osm contenant tous les bâtiments. Il est ainsi facile d'importer tout le bâti d'une ville d'un coup, avec seulement des corrections à faire plutôt que le traçage complet.
En marge de la méthode en cours d'import semi automatique, je propose une réflexion sur un import beaucoup plus global et homogène 100 % automatique : WikiProject France/Cadastre/Import automatique des bâtiments
Contents |
Télécharger les fichiers OSM directement
Avant de se lancer dans l'installation et l'utilisation du script, sachez que les fichiers OSM par commune (que génère le script) sont probablement directement téléchargeables pour les communes qui vous intéressent. Le table suivant regroupe les liens vers les sites de téléchargement, ainsi que vers la page de suivi, qui indique si le bati est déja importé ou non. Attention, les fichiers ainsi disponibles ne sont pas importables directement dans OSM : il faut faire des traitements avec JOSM préalablement.
Toutes les communes ne sont pas présentes car seules les communes du cadastre vectorisé peuvent être traitées ainsi.
Vous trouvez les fichiers pour l'ensemble du territoire à l'adresse suivante : http://cadastre.cleo-carto.org
Le tableau suivant liste les pages de coordination des efforts par département
Le template Template:Fr:Zone_Status peut être utilisé dans les pages de référence. Exemple : France:Haut-Rhin
Obtenir les extractions du cadastre
À l'origine un script Perl permettait de réaliser l'extraction ; cette méthode n'est plus à utiliser.
Un service en ligne permet d'obtenir des extractions : http://cadastre.cleo-carto.org/
Traitements des bâtiments avec JOSM avant envoi vers serveur OSM
- 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).
- Supprimez s'il y a lieu les tags inutiles présents dans certains dépôts, principalement les tags "note:qadastre" ou "note:import-bati"
- 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 disparues
- Avec le plug-in Cadastre charger un extrait du cadastre sur la zone pour contrôler qu'il n'y a pas de décalage
- Grace au plug-in Validator, corriger
- les erreurs : ways et noeuds en double
- les avertissements : superpositions de bâtiments, points isolés...
- Simplifier les lignes contenant trop de points. Une valeur entre 0.03 et 0.08 est conseillée (la plus haute simplifiera plus) :
- 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.
- Sélectionner les chemins à simplifier (Ctrl+A pour tout sélectionner), et utiliser l'action "Outils->Simplifier le chemin" (raccourci clavier Maj+Y).
- Récupérer dans un nouveau calque (option à cocher) les données d'OSM de la zone
- Vérifier avec la couche des bâtiments déjà présents dans OSM (rechercher avec le motif "building=yes") s'il faut les remplacer, modifier ou non (cette phase n'est pas automatisée, il faut regarder un à un les bâtiments déjà dans OSM. Plus il y en a et plus c'est long : une commune où rien n'a encore été fait sera d'autant plus facile)
- La fonction filtre peut se révéler très utile dans cet étape : activer l'outil de filtrage (entonnoir dans la barre d'outils à gauche) et ajouter un filtre sur "building=yes", inverser le filtre et activer le à l'aide des cases à cocher.
- Ajouter les attributs d'adresses, amenity, etc.
- Sur une zone peu mappée, on peut découvrir facilement une église grâce aux repères géodésiques (rechercher avec le motif "man_made=*") et à la forme du bâti
- Envoi au serveur
- Méthode 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).
- Envoyer d'abord les modifications sur le calque des données de la base OSM (principalement bâtiments supprimés)
- Envoyer ensuite le calque des données importées
- Enfin récupérer les nouvelles données de la base OSM pour les derniers raccords (relations à mettre à jour par exemple)
- Envoi au serveur (alternative)
- Fusionner les deux calques
- Avec le plug-in Validator, on vérifie les collisions éventuelles issues de la fusion (bâtiment-bâtiment, bâtiment-route, bâtiment-rivière, etc.)
- Envoyer par morceaux de 500 ou 1000
- Méthode 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).
- Contrôler avec les outils classiques de contrôle qualité (principalement DupeNodes [1] et Osmose [2]) qu'il n'y a pas de doublons sur la zone traitée ou d'erreurs manifestes
- Pour le contrôle des doublons ou chevauchements, on pourra également utiliser le module dédié d'Osmose [3]
* Liste des doublons de bâtiments (à corriger) Marche plus sletuffe 19:23, 20 September 2011 (BST)
Traitements des cours d'eau avec JOSM avant envoi vers serveur OSM
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 :
- 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).
- 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.
- Supprimer toutes les relations
- Exécuter une validation
- Dans la liste des erreurs, sélectionner "erreur" puis "chemins dupliqués" et exécuter "Réparer".
- Dans la liste des erreurs de validation, sélectionner "avertissements" puis "Chemins superposés".
- Pour chaque chemin de la liste, cliquer sur le chemin et observer les chemins présentés dans la boite "Sélection".
- 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).
- 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".
- 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.
- Ouvrir un nouveau calque et y télécharger la carte OSM
- 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.
- Envoyer les modifications effectuées sur la carte vers le serveur
- 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.
- 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