Dans QGIS 1.8, j’utilisais le plug-in openstreetmap pour demander des données au serveur ou ouvrir un fichier XML .osm, qui produisait 3 couches (polygones, polylignes et points) dans QGIS.
C’était génial (c’est le bogue 64 bits qui affecte fortement la zone récemment cartographiée sur laquelle je travaille), mais comment puis-je le faire dans QGIS 2.x?
Je ne trouve pas de documentation mise à jour à ce sujet.
Dans le menu vectoriel, j'ai essayé d'importer depuis des serveurs osm. Je reçois un fichier .osm, mais je suis bloqué. Il existe une option de menu permettant de charger un fichier XML, mais elle génère une base de données spatialite, qui ne contient apparemment que des tables non géométriques lorsque j'essaie de l'ajouter en tant que couche spatialite. Si j'ouvre la table attributaire, je peux voir les identifiants de nœud, les chemins, etc., mais je ne vois pas comment les utiliser.
J'ai également essayé d'ajouter une couche vectorielle à partir d'un fichier XML .osm. Je reçois une fenêtre gpsbabel qui ne montre rien, puis finalement un message de source de données invalide dans QGIS.
la source
Réponses:
Mise à jour pour QGIS 3.x : l'ancien importateur OSM de QGIS 2 a été abandonné dans QGIS 3 en raison de nombreux bogues non résolus. Le plugin QuickOSM permet également de lire les fichiers osm raw. Vous pouvez utiliser le calque utilisateur - Ajouter un calque - Ajouter un calque vectoriel. Dans ce cas, les données OSM sont ouvertes avec GDAL, comme indiqué par http://gdal.org/drv_osm.html
Dans QGIS 2.x , il y a 3 étapes impliquées
La couche est ajoutée à la carte. Si vous voulez tous les nœuds, vous pouvez répéter l'étape 3 avec d'autres options.
http://wiki.openstreetmap.org/wiki/QGIS#QGIS2_OpenStreetMap_Vectors
la source
J'ai trouvé très pénible de télécharger des données OSM à l'aide du plug-in et de passer en revue les requêtes d'importation et d'exportation. C'est pourquoi j'ai écrit une solution différente: http://anitagraser.com/2014/05/31/a-guide-to-googlemaps-like-maps-with-osm-in-qgis/
Sommaire:
Les fichiers OSM bruts peuvent être très volumineux. C'est pourquoi il est nettement préférable de télécharger le format binaire compressé .pbf au lieu du format XML .osm. En tant que source de téléchargement, je recommanderais Geofabrik .
Pour la première étape de prétraitement: extraire la zone d'intérêt, nous pouvons utiliser l'osmose:
C:\Users\anita_000\Geodata\OSM_Noirmoutier>..\bin\osmosis.bat --read-pbf pays-de-la-loire-latest.osm.pbf --bounding-box left=-2.59 bottom=46.58 right=-1.44 top=47.07 --write-xml noirmoutier.osm
Bien que QGIS puisse également charger des fichiers .osm, j'ai constaté que les performances et l'accès aux attributs étaient considérablement améliorés si le fichier .osm était converti en spatialite.
C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm
Dans QGIS, vous pouvez charger les points, les lignes et les multipolygones à l'aide de l'option Ajouter une couche SpatiaLite. Lorsque nous chargeons les tables spatialite, certains problèmes se posent:
Créer les polygones fluviaux manquants n’a rien de grave:
Créer un polygone terrestre (ou un polygone marin si vous préférez cela pour une raison quelconque) est un peu plus complexe, car la plupart du temps, le littoral ne sera pas fermé pour la simple raison que nous coupons souvent un morceau de terre du continent principal. . Par conséquent, avant de pouvoir utiliser les outils Polygonize, nous devons fermer la zone. Pour ce faire, je suggère d’abord de sélectionner le trait de côte en utilisant "other_tags" LIKE '% "natural" => "littoral"%' et de créer un nouveau calque à partir de cette sélection (enregistrer la sélection sous ...) et de le modifier (ne pas oublier. pour activer la capture!) pour ajouter des lignes pour fermer la zone. Puis polygoniser.
la source
--config OGR_SQLITE_SYNCHRONOUS OFF
.Si vous n'aimez pas le plug-in, extrayez les données OSM dont vous avez besoin avec Overpass API et ajoutez le résultat à QGIS avec
Add Vector Layer
(All files
filtre d' étiquetage ).QGIS 2.0 utilise l’importateur OSM ogr2ogr de GDAL 1.10, qui fait du bon travail.
Le support relationnel semble être meilleur que le plugin pour le moment.
Assurez-vous simplement de télécharger complètement les chemins et les relations , c'est-à-dire tous les nœuds des chemins et tous les membres des relations avec tous leurs nœuds.
la source
Vous savez, vous n'avez pas besoin de mettre les données dans SpatialLite. Vous pouvez simplement:
la source