NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum


I want to export powerline location information for Oman that I see in OpenStreetMap as shapefiles. How do I do that. Those powerlines do not seem to be in the gcc-latest-free.shp files available at Geofabrik downloads.

asked 21 Nov '16, 21:18

McGradyM's gravatar image

accept rate: 0%

A simple way to do this is using Overpass Turbo. For example, this query was generated using the Assistant and typing "power=tower in Oman". You can easily adapt the query to get the lines themselves. Just check the wiki to see what exactly you need. You can then export the data to GeoJSON, which you can drag and drop to QGIS. If you really want to use shapefiles, you can simply save as shapefile in QGIS. There is built in support in QGIS (and also the QuickOSM plugin) to do the same without going over a website.

Of course, if you want to do something more advanced, Jochen's answer is more interesting.

permanent link

answered 22 Nov '16, 08:56

joost%20schouppe's gravatar image

joost schouppe
accept rate: 12%

OK. Thanks. Maybe I am missing something obvious and easy. The map key in OSM says that the power lines they show are "cable cars or chair lifts", so maybe the available shape files are named as such. Anyway, between the two answers, I've got a number of ways forward. Thanks

(22 Nov '16, 10:34) McGradyM

Yeah, our map key is far from perfect. Ski lifts actually do look like that, it's just that power lines are missing in the map key. There is way more visualized on the map than could fit in a normal sized map key. If you want to know what kind of thing you see on the map, you can try clicking on it with the question mark button (below the map key button). What I do more often is click "Map data" in the Layers button. Then all objects become clickable. With either option, you can then see the raw data behind the thing you see on the map. Then hit the wiki to learn more about it.

(24 Nov '16, 13:49) joost schouppe

Thanks. That helps.

(26 Nov '16, 10:43) McGradyM

There are many ways of doing this, they all have their advantages and disadvantages. A lot depends on the amount of data you are dealing with (whole planet vs. small extract) and the system and skills you have. If you are familiar with SQL/PostGIS, for instance, you can use one of the PostGIS importers (like osm2pgsql or imposm) to import OSM data into a PostGIS database and then export into Shapefiles. If you like command lines, try ogr2ogr. If you need something more custom and know C++, you can write your own exporter based on For smaller files, you can build something with use node-osmium, see the demo here: has more options.

permanent link

answered 22 Nov '16, 08:20

Jochen%20Topf's gravatar image

Jochen Topf
accept rate: 31%

Thanks. I'll probably nose around some more, and end up asking someone with more skill. That would be the fastest.

(22 Nov '16, 10:30) McGradyM

A little bit more explanation to @joost-schouppe answer. First you need to find out "Oman" or any other region's OSM relation id.

Use this query in Overpass Turbo

// get a few areas into .myArea
// you can add or remove an area by simply adding or removing
// one line here.


// display .myArea This can be replaced by any query
// on the objects in .myArea


// print results
out geom;


Now once you know the OSM relation id then you can extract any layer easily with overpass API. OSM relation id for "Oman" is "305138"

Here is curl command to extract power line using Area clause of overpass API

curl \
  -H "Host:" -H "Content-Type: text/xml"  \
  -d '(relation["route"="power"](area:3600305138););(._;>;);out body;'  \  \
  -o powerline.osm

Now you can use ogr2ogr to convert OSM to shapefile.

permanent link

answered 04 Dec '16, 05:35

Gagan's gravatar image

accept rate: 14%

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 21 Nov '16, 21:18

question was seen: 9,602 times

last updated: 04 Dec '16, 05:35

NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum