Power networks/Quality Assurance

From OpenStreetMap Wiki
Jump to navigation Jump to search

This page gather quality assurance processes concerning power networks.

Osmose Power Line

There is an Osmose script related to power lines (id=7040) : Osmose issues / Github

The script checks the following points : (update date : 2025-04-06)

  • Alone power tower or pole
  • Unfinished power transmission line
    • The line ends in a vacuum, and should be connected to another line or a transformer (`power=transformer`), a generator (`power=generator`) or marked as transitioning into ground (`location:transition=yes`).
    • It's possible that disused power features could be disconnected from the network. In which case make use of the `disused:` (https://wiki.openstreetmap.org/wiki/Lifecycle_prefix).
  • Unfinished power distribution line
    • The line ends in a vacuum, and should be connected to another line or a transformer (`power=transformer`), a generator (`power=generator`) or marked as transitioning into ground (`location:transition=yes`).
    • It's possible that disused power features could be disconnected from the network. In which case make use of the `disused:` (https://wiki.openstreetmap.org/wiki/Lifecycle_prefix).
  • Connection between different voltages
    • Two power lines meet at this point, but have inconsistent voltages (`voltage=*`).
    • Check if the voltages are really different.
    • Add a transformer using `power=transformer` (standalone transformers) or `power=pole + transformer=*` (pole mounted transformers).
  • Non power node on power way
    • Power lines can only form a straight line between supports and therefore shouldn't have additional nodes that aren't tagged as a `power` feature.
    • If this node is a tower or pole, use the tag `power=tower` or `power=pole`. Otherwise remove it.
  • Missing power tower or pole
    • Based on the statistical frequency of the poles on this power line, there's likely an unmapped pole nearby.
  • Unmatched voltage of line on substation
  • Power support line management suggestion

Electrical power networks errors

This section lists the points to check on the electrical network and the corresponding Overpass queries.

Duplicate substation

Substations are usually mutually exclusive. We shall not find a substation within an other one.

Overpass query

try it yourself in overpass-turbo
try it yourself in overpass-turbo
/* This query requests all duplicates substations (2 substations in the same place) */
[out:json][timeout:180];
way[power=substation]({{bbox}})->.substations; 
foreach.substations->.substation
( way[power=substation](area.substation)->.connectedsub
  ((.connectedsub; - .substation;);.duplicatesub;) -> .duplicatesub; );
.duplicatesub; out geom;

Unsuitable value for "power" tag

Example of unsuitable values : power=transition ; yes ; station ; roof_pole ; proposed ; "tower;pole" ; "pole;transformer"

Valid values : https://wiki.openstreetmap.org/wiki/Template:Map_Features:power

See also Taginfo : https://taginfo.openstreetmap.org/keys/power#values

Especially, Tag power=station is deprecated value and should be replaced either with plant, with generator or with substation : https://wiki.openstreetmap.org/wiki/Tag:power=station

Overpass query

try it yourself in overpass-turbo
try it yourself in overpass-turbo
/* Identify features with invalid power tag value */
[out:json][timeout:180];
nwr["power"!~"^(cable|catenary_mast|compensator|connection|converter|generator|heliostat|insulator|inverter|line|minor_line|plant|pole|portal|substation|switch|switchgear|terminal|tower|transformer)$"]["power"]({{bbox}});
out geom;
try it yourself in overpass-turbo
try it yourself in overpass-turbo
/* Generated by the overpass-turbo wizard for: “power=station” */
[out:json][timeout:25];
nwr["power"="station"]({{bbox}});
out geom;

Non numeric value for voltage

Voltage should be entered in volts, without the unit or thousand delimiter. For example, for a 15 kV line, the value should be voltage=15000, neither "15 kV", nor "15,000" nor combinations of this.

When multiple voltages are in use, for example on a power line carrying two circuits, or a substation converting between two voltages, the voltages should be separated by semicolons with the highest voltage listed first: voltage=275000;132000.

On a power=line, the number of circuits must be an integer greater or equal to the number of voltage values (if only one voltage and circuit, circuits tag is not necessary).

Non numeric value for circuit

The number of circuits must be an integer if exists.

Line connection with portal

If power=portal is a way, the end node that connect a power=line must be power=insulator

Geometry type checking

Geometry types
Tag Node Way Area Relation
power=line - way - -
power=substation node - area -
power=portal node way - -
power=transformer node - - -
power=insulator node way - -

Tag:power=portal must be a node or a way

See : power=portal

Tag:power=transformer must be a node

See : power=transformer

There might be some confusion with power=substation

Tag:power=substation must be a node or an area

See : power=substation

Obsolet and unused tag values

Tag tower:type=power

See : Tag:power=tower#Possible_mistakes

Overpass query

try it yourself in overpass-turbo
try it yourself in overpass-turbo
/* Identify obslet tower:type=power tagging */
[out:json][timeout:25];
nwr["tower:type"="power"];
out geom;

Voltage coherence on power lines

If one power line is connected at its ends with other power lines, both lines must have the same voltage. Only use of a power=transformer might change the voltage.

Overpass query

try it yourself in overpass-turbo
try it yourself in overpass-turbo
/* Identify nodes where one end-line node of a power line is connected, on a power tower, to a line with different voltage  */
/* Warning : it is not managing case where several-voltages-line are connected to the same tower (theses nodes are raised)
neither managing the presence of a transformer (concerned nodes are raised too) */
[out:json][timeout:180];
way["power"="line"]({{bbox}})->.power_line;
for.power_line->.voltage_power_line_group (t["voltage"]) {
  (.power_line; - .voltage_power_line_group;);>->.rest_power_line;
  node.rest_power_line["power"="tower"]->.rest_power_tower;
  node(w.voltage_power_line_group:1,-1)->.voltage_group_power_tower;
  (node.rest_power_tower.voltage_group_power_tower;.voltage_set_gap;)->.voltage_set_gap;
}
.voltage_set_gap; out geom;

Number of cables coherence on power lines

Two end-to-end connected power lines on a power=tower must have same number of cables.