Modify

Opened 21 months ago

Closed 2 weeks ago

Last modified 2 weeks ago

#16898 closed enhancement (fixed)

[Patch] Add man_made=communications_tower

Reported by: gaben Owned by: team
Priority: normal Milestone: 20.06
Component: Internal preset Version: latest
Keywords: tower communication Cc: Klumbumbus

Description

It's de facto according to OSM wiki and recently got its own rendering icon on osm-carto.

Also, a validator heuristic can be used if something tagged with:

  • man_made=tower
  • material=concrete
  • and higher than 100m

it possibly would be a communications_tower instead of tower.

Attachments (5)

josm_16898_tower_example.osm (99.6 KB) - added by skyper 3 months ago.
tower with height 100 or higher and material=concrete
josm_16898.patch (1.7 KB) - added by skyper 2 months ago.
validator part
josm_16898_v2.patch (1.8 KB) - added by skyper 2 months ago.
include decimal numbers and m as unit
josm_16898_v3.patch (3.5 KB) - added by skyper 2 months ago.
validator patch including values in feet
josm_16898_v4.patch (2.0 KB) - added by skyper 2 weeks ago.
version 4 only warning about communications_tower < 75m

Download all attachments as: .zip

Change History (27)

comment:1 Changed 21 months ago by Don-vip

Keywords: tower added

see #8076

comment:2 Changed 3 months ago by skyper

Keywords: communication added
Owner: changed from team to skyper

Presets/MastAndTower supports the tags

comment:3 Changed 3 months ago by skyper

See #17818 for the preset part.

comment:4 in reply to:  description ; Changed 3 months ago by skyper

Replying to anonymous:

Also, a validator heuristic can be used if something tagged with:

  • man_made=tower
  • material=concrete
  • and higher than 100m

it possibly would be a communications_tower instead of tower.

I find many false positive with this search request even with tower:type=*communication*. Most of them a correctly tagged man_made=tower as wikipedia shows.

[out:xml][timeout:300];
(
  nwr["height"~"^[1-9][0-9][0-9]"]["man_made"="tower"]["tower:type"~"communication"];
);
(._;>;);
out meta;

and filter (type:node ways:1-) OR (type:way parent (type:relation)) (filter is broken, so the second part does not work and ways with membership are not filtered.
Edit: (type:node ways:1-) OR (type:way child (type:relation))

The opposite is definitely more interesting:

[out:xml][timeout:300];
(
  nwr["height"~"^[1-9][0-9]$"]["man_made"="communications_tower"];
);
(._;>;);
out meta;


finds communications_tower as small as ten meters and all eight tagged wikipedia pages clearly show that these eight are man_made=tower.

Last edited 3 months ago by skyper (previous) (diff)

comment:5 in reply to:  4 Changed 3 months ago by skyper

Replying to skyper:


and filter (type:node ways:1-) OR (type:way parent (type:relation)) (filter is broken, so the second part does not work and ways with membership are not filtered).

Sorry, wrong search. Should be (type:node ways:1-) OR (type:way child (type:relation)).

comment:6 in reply to:  4 ; Changed 3 months ago by gaben

You missed the material=concrete part. Just checked, it affects 24 objects globally. I consider the heuristic addition a nice to have, but not important.

BTW it was reported by me originally :)

Last edited 3 months ago by gaben (previous) (diff)

comment:7 in reply to:  6 ; Changed 3 months ago by skyper

Replying to gaben:

You missed the material=concrete part. Just checked, it affects 24 objects globally. I consider the heuristic addition a nice to have, but not important.

Yes, I missed tower:type=communication and material=concrete. material=concrete will miss some objects without material tagged.
Strange, I only find 16 objects (Rel: 1 / Ways: 11 / Nodes: 4). Not sure if this check is needed.

Still, I find 202 objects (Ways: 110 / Nodes: 92) with height between 11 and 99 tagged as man_made=communications_tower. So, in my eyes, this check would make more sense.

BTW it was reported by me originally :)

Sorry, cannot adjust the reporter.

comment:8 in reply to:  7 ; Changed 3 months ago by gaben

Replying to skyper:

Strange, I only find 16 objects (Rel: 1 / Ways: 11 / Nodes: 4).

I used your modified query:
nwr["height"~"^[1-9][0-9][0-9]"]["man_made"="tower"]["material"="concrete"];

For easiness https://overpass-turbo.eu/s/T03

Still, I find 202 objects (Ways: 110 / Nodes: 92) with height between 11 and 99 tagged as man_made=communications_tower. So, in my eyes, this check would make more sense.

Yeah, this is probably a better approach.

Sorry, cannot adjust the reporter.

No problem, wrote it here just for the record.

comment:9 Changed 3 months ago by Klumbumbus

Reporter: changed from anonymous to gaben

comment:10 in reply to:  8 ; Changed 3 months ago by skyper

Replying to gaben:

Replying to skyper:

Strange, I only find 16 objects (Rel: 1 / Ways: 11 / Nodes: 4).

I used your modified query:
nwr["height"~"^[1-9][0-9][0-9]"]["man_made"="tower"]["material"="concrete"];

Ok, you'll find some tower:type=cooling with this query. Try:
nwr["height"~"^[1-9][0-9][0-9]"]["man_made"="tower"]["material"="concrete"]["tower:type"="communication"];

comment:11 in reply to:  10 Changed 3 months ago by gaben

Replying to skyper:

Ok, you'll find some tower:type=cooling with this query. Try:
nwr["height"~"^[1-9][0-9][0-9]"]["man_made"="tower"]["material"="concrete"]["tower:type"="communication"];

I haven't found a single one, can you please give at least one OSM id?

Changed 3 months ago by skyper

tower with height 100 or higher and material=concrete

comment:12 Changed 3 months ago by skyper

This is the result of nwr["height"~"^[1-9][0-9][0-9]"]["man_made"="tower"]["material"="concrete"];:
josm_16898_tower_example.osm​

comment:13 Changed 3 months ago by skyper

How about adding validator tests for:

  • man_made=tower without tower:type: Suggesting to add tower:type
  • man_made=tower, tower:type=communication, material=concrete and height over 99 meters: Suggesting to use man_made=communications_tower
  • man_made=communications_tower and height below 100 meters: Suggesting to use man_made=tower and tower:type=communication

Only problem, I see, is that you might get a second warning after adding tower:type=communication to a man_made=tower, material=concrete and height over 99 meters.

Changed 2 months ago by skyper

Attachment: josm_16898.patch added

validator part

comment:14 Changed 2 months ago by skyper

Owner: changed from skyper to team
Summary: Add man_made=communications_tower[Patch] Add man_made=communications_tower

I made a patch for the validator part, see josm_16898.patch. The preset part is covered in #17818.

Changed 2 months ago by skyper

Attachment: josm_16898_v2.patch added

include decimal numbers and m as unit

comment:15 Changed 2 months ago by skyper

josm_16898_v2.patch​ includes possible decimal numbers and m as unit for height
Not covered, yet, are feet and inches.

Changed 2 months ago by skyper

Attachment: josm_16898_v3.patch added

validator patch including values in feet

comment:16 in reply to:  13 ; Changed 2 months ago by skyper

Find final validator patch: josm_16898_v3.patch
adds warnings for:

  • man_made=tower without tower:type
  • man_made=tower, tower:type=communication, material=concrete and height 100 m or above, respectively 328 ft
  • man_made=communications_tower and height below 100 m, respectively 328 ft

comment:17 Changed 4 weeks ago by simon04

Cc: Klumbumbus added
Milestone: 20.06

comment:18 in reply to:  16 Changed 2 weeks ago by Klumbumbus

Replying to skyper:

  • man_made=tower, tower:type=communication, material=concrete and height 100 m or above, respectively 328 ft
  • man_made=communications_tower and height below 100 m, respectively 328 ft

There is no strict rule in the wiki that towers >100m must be communication_towers and <100m towers.
"It is often made from concrete and usually a far visible landmark. An indication could be a height greater than 100 meters. "

I would not warn about values around 100m. For the only 25 towers >100m a rule is anyway not really needed. The other way round, communication towers < ≈75m a warning would be useful imo.

Changed 2 weeks ago by skyper

Attachment: josm_16898_v4.patch added

version 4 only warning about communications_tower < 75m

comment:19 Changed 2 weeks ago by skyper

Version 4 includes only the warning about communications_tower below 75m.

comment:20 Changed 2 weeks ago by Klumbumbus

Resolution: fixed
Status: newclosed

In 16705/josm:

fix #16898 - Warn about man_made=tower without tower:type and man_made=communications_tower with height<75m (patch by skyper, modified)

comment:21 Changed 2 weeks ago by Klumbumbus

Thanks for the patch.

comment:22 Changed 2 weeks ago by Klumbumbus

In 16706/josm:

see #10759, see #17818, see #16898 - Add Presets for man_made=mast and man_made=communications_tower, rework preset for man_made=tower, based on patch by skyper, (all icons from https://wiki.openstreetmap.org/, from Geozeisig, all PD and CC0 licensed)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.