After filtering OSM data using Osmosis, I'm missing a significant portion of the power lines in major countries like the US, Canada, Spain, China, India etc. The attached images show what I have for the US and India. I've abstracted my data as per the SciGrid model ( so that the lines are represented as the crow flies between nodes. It seems that OSM must have these missing lines somewhere because OpenInfraMap displays them:

My process was that I filtered OSM data using Osmosis for all objects with key=power, value=* as well as objects with key=route, value=power to extract power lines and substations. During the abstraction process I kept only those lines with values: "line" or "cable", and only nodes with the following values: "substation", "sub_station", "station", "plant", or "generator". Having contacted the creator of OpenInfraMap, it seems that the absence of the "minor_line" value cannot explain many of the missing lines. What are some candidate reasons for why this might be happening?

alt text alt text

asked 19 Aug, 21:07

kev_7's gravatar image

accept rate: 0%

When filtering OSM data you always need to ensure that any referenced objects are also included, otherwise the geometry cannot be built. Is it possible that you have accidentally dropped the nodes from your data set that are required to build the power line geometry? In Osmosis you have to use the --used-node option to avoid that problem.

permanent link

answered 19 Aug, 21:34

Frederik%20Ramm's gravatar image

Frederik Ramm ♦
accept rate: 24%

I have used the --used-node option though its possible I've misused it. The code is the following:

osmosis ^ --read-pbf file=D:\Kevin\EGC_Project\data\planet-210322.osm.pbf ^ --tag-filter accept-relations route=power ^ --used-way ^ --used-node ^ --buffer outPipe.0=route ^ --read-pbf file=D:\Kevin\EGC_Project\data\planet-210322.osm.pbf ^ --tag-filter accept-relations power= ^ --used-way ^ --used-node ^ --buffer outPipe.0=power ^ --read-pbf file=D:\Kevin\EGC_Project\data\planet-210322.osm.pbf ^ --tag-filter reject-relations ^ --tag-filter accept-ways power= ^ --used-node ^ --buffer outPipe.0=pways ^ --read-pbf file=D:\Kevin\EGC_Project\data\planet-210322.osm.pbf ^ --tag-filter reject-relations ^ --tag-filter reject-ways ^ --tag-filter accept-nodes power=* ^ --buffer outPipe.0=pnodes ^ --merge inPipe.0=route inPipe.1=power ^ --buffer outPipe.0=mone ^ --merge inPipe.0=pways inPipe.1=pnodes ^ --buffer outPipe.0=mtwo ^ --merge inPipe.0=mone inPipe.1=mtwo ^ --write-pbf file=D:\Kevin\EGC_Project\data\global_power_210322.osm.pbf

(19 Aug, 21:48) kev_7
Your answer
toggle preview

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: 19 Aug, 21:07

question was seen: 211 times

last updated: 19 Aug, 21:48

powered by OSQA