Obtenir le fichier de formes de la rivière à partir d'OpenStreetMap?

11

Je ne souhaite pas télécharger l'intégralité de la carte d'une zone. Je veux juste que les rivières et autres plans d'eau soient présents dans une zone de fichiers de formes afin de pouvoir les utiliser dans QGIS. J'ai essayé le geofabrik mais il donne une carte entière et celle du pays entier alors que j'ai besoin des données d'une ville. En ce moment, j'essaie JOSM. vous mettra à jour quand cela fonctionnera.

user30783
la source
quel est le domaine d'intérêt?
Mapperz
1
Les rivières naturelles de la Terre pourraient être une meilleure source naturalearthdata.com/downloads/10m-physical-vectors/…
Mapperz
Malheureusement, la terre naturelle ne contient pas de données sur l'Inde.
user30783
C'est la zone dont j'ai besoin de tous les plans d'eau.
user30783

Réponses:

24

Utilisez l' API Overpass Turbo !

Tout d'abord, j'irais sur openstreetmap.org ,

Vous pouvez soit

1) Recherchez la fonctionnalité que vous recherchez. J'ai choisi "South Platte River", qui traverse Denver. Cela donne les champs et les balises utilisés par OSM pour stocker les données:

entrez la description de l'image ici

2) Identifiez les balises et les valeurs des fonctionnalités que vous recherchez par

  1. Zoom complet sur la carte
  2. Cliquez sur l'icône des calques à droite (les trois feuilles de papier)
  3. Cliquez sur la dernière entrée de menu ( Map dataou quelque chose de similaire dans votre langue)
  4. Les entités sur la carte deviennent bleues (assurez-vous que vous avez suffisamment zoomé pour voir
  5. Cliquez sur la fonctionnalité que vous recherchez
  6. Les balises et les valeurs apparaissent sur le côté gauche de l'écran, et vous pouvez continuer ci-dessous ...

entrez la description de l'image ici

Passez ensuite à la page Overpass Turbo, puis cliquez sur Assistant

À l'aide des informations, la valeur du nom est South Platte River et la valeur de la voie navigable est river, vous pouvez donc créer une requête comme celle-ci:

name="South Platte River" and waterway=river

Cliquez ensuite sur "créer et exécuter la requête"

entrez la description de l'image ici

La requête s'exécutera et le résultat s'affichera sur la carte:

entrez la description de l'image ici

Cliquez ensuite sur l'option "Exporter":

J'aime l'option geoJSON

Cliquez sur "Enregistrer"

Ouvrez le fichier dans QGIS, et c'est parti!

entrez la description de l'image ici

Vous pouvez faire un «enregistrer sous» pour l'enregistrer en tant que nouveau type de couche vectorielle ...

Dans votre cas, vous pouvez également utiliser la waterway=riverrequête pour obtenir toutes les rivières de la zone que vous recherchez, et vous pouvez dessiner une boîte de sélection manuelle pour affiner la géographie.

entrez la description de l'image ici

@underdark me l'a montré.

DPSSpatial
la source
Merci pour vos efforts mais je ne peux toujours pas vous suivre. Je veux des plans d'eau de cette région. Que dois-je écrire dans la page Web turbo overpass?
user30783
Je viens de mettre à jour la réponse ci-dessus: dans l'API de passage supérieur, utilisez le petit outil de recherche pour trouver Haldwani, en Inde. Utilisez ensuite la `` boîte de sélection manuelle '' pour dessiner la zone souhaitée, puis utilisez l'assistant pour exécuter une requête voie navigable = rivière ... vous pouvez l'ajuster pour trouver d'autres fonctionnalités à l'aide de la page OSM mentionnée ci-dessus, puis les construire dans la requête sur Overpass.
DPSSpatial
Merci beaucoup. Mais j'ai toujours 1 problème. il ne sélectionne que les rivières. Je veux aussi des lacs dedans.
user30783
donnez-moi un exemple d'un lac que vous recherchez ... le nom ...
DPSSpatial
1
d'accord. J'essaierai alors le plugin osm. Merci pour votre temps. Cela a été très utile ..
user30783
6

Le nouveau plugin QuickOSM pour QGIS fournit une interface graphique agréable pour utiliser l'API Overpass. Vous pouvez spécifier les paires clé-valeur que vous souhaitez et il offre également des moyens conviviaux de filtrer par emplacement: soit un cadre de sélection, soit même en spécifiant simplement le nom de la région comme "Autriche" pour les entités situées à l'intérieur des frontières autrichiennes.

obscur
la source
4

Vous pouvez filtrer vos données OSM avec GDAL par boîte englobante et par attributs et enregistrer les résultats directement dans n'importe quel format vectoriel pris en charge par GDAL. Installez GDAL version 1.10 ou supérieure et lisez les pages de manuel du pilote OSM http://www.gdal.org/drv_osm.html et ogr2ogr http://gdal.org/ogr2ogr.html . Cette tâche avec les rivières et les lacs peut être effectuée avec les paramètres par défaut, mais il est souvent nécessaire de modifier d'abord le fichier osmconf.ini.

Les rivières peuvent être trouvées à partir des données OSM par la balise "waterway = river" et GDAL les enregistre dans la couche "lines". Les lacs que vous trouvez par "naturel = eau" et ils vont à la couche "multipolygones". Si votre objectif est de créer des fichiers de formes, vous devez enregistrer les rivières et les lacs dans des fichiers différents car les lignes et les polygones ne peuvent pas être enregistrés dans un même fichier de formes.

Les exemples ci-dessous utilisent le fichier india-latest.osm.pbf de geofabrik. Les commandes de base à utiliser:

ogr2ogr -f "ESRI Shapefile" -spat 76 22 77 23 -sql "select * from lines where waterway='river'" rivers.shp india-latest.osm.pbf --config ogr_interleaved_reading yes

ogr2ogr -f "ESRI Shapefile" -spat 76 22 77 23 -sql "select * from multipolygons where natural='water'" lakes.shp india-latest.osm.pbf --config ogr_interleaved_reading yes

Placez votre propre BBOX dans le paramètre -spat dans EPSG: 4326 unités.

Ogr2ogr est flexible et dispose de nombreuses options. Lisez attentivement la page de manuel.

user30184
la source