Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust rendering of man_made=mast and communications_tower based on height #3414

Closed
boothym opened this issue Sep 24, 2018 · 34 comments
Closed

Comments

@boothym
Copy link
Contributor

boothym commented Sep 24, 2018

https://wiki.openstreetmap.org/wiki/Tag:man%20made=communications%20tower

It's rendered from z13, which is how I noticed these in the first place - they are quite prominent compared to other masts/towers. You can see five of them in this location:
screenshot_2018-09-24 node 5117170551 openstreetmap
However as you can see, none of these are "huge towers" as defined by the wiki:

And having looked at overpass-turbo I'm guessing most of the 4,000 objects in OSM are incorrectly tagged as well - varying from small mobile (cell) sites, to towers <100m and tall masts.

To me it seems like a redundant tag to render - one solely used for huge towers - when OSM-carto already renders masts and towers at different zoom levels according to their height.

Many of these communications_tower objects are already tagged with their height, so there'd be no difference if they were retagged as a tower.

To further show how redundant this tag is:

yet both are still rendered from z13.

Mast rendering at z13/14

Also related to this is the lack of rendering of tall masts at z13. For examples, the tallest structure in the UK at 350m is only rendered from z15: https://www.openstreetmap.org/node/2512753621

This is even more noticeable around the town of Dover. There is a 111m tower rendered to the east, a smaller communications_tower (which looks like this: https://goo.gl/maps/MBXpcRBKTvK2) rendered to the north east - but the 243m mast does not appear at z14! https://www.openstreetmap.org/node/866619623#map=14/51.1316/1.3002

So my proposals are:

  • remove the icon for man_made=communications_tower (it's a good icon, maybe use it for something else - towers > 100m?)
  • render masts from z13, with similar height logic as towers
  • retag communications_tower objects as masts/towers (might need a discussion on the tagging list)

P.S. - I can't find much discussion about rendering this tag when searching this repo, so might be worth reviewing how it was implemented in the first place.

@dieterdreist
Copy link

dieterdreist commented Sep 24, 2018 via email

@boothym
Copy link
Contributor Author

boothym commented Sep 24, 2018

then the rendering can be adjusted to the new situation.

To be honest I'd quite like the rendering adjusted to the current situation before going any further - which would be to not render this tag in the first place!

It is poorly defined - given it is essentially a duplicate of man_made=tower + tower:type=communication + height>100 - and inconsistently tagged as shown in the OP. There doesn't seem to have been any discussion about adding the tag at such prominence on the map and it only has 4k uses compared to towers + masts with 239k + 75k.

If I was to retag things, then I'd suggest that most of these objects would no longer be tagged as man_made=communications_tower - at that point I don't think it would make sense to render it either.

@kocio-pl
Copy link
Collaborator

It was my understanding that this is special kind of towers, but since it was the whole set of towers, it was not discussed more clearly. I'm happy with tuning it now, however definition was OK for me and I also like to see the discussion if you think it's wrong or there is some confusion.

@dieterdreist
Copy link

dieterdreist commented Sep 24, 2018 via email

@boothym
Copy link
Contributor Author

boothym commented Sep 24, 2018

4k usage is not few for a tag that describes big television towers. If most of these are corresponding to the wiki description, I would not see a point where it could be critizized. Inconsistent application is generally something to be worried about.

The point I am making is that most of these do not correspond to the wiki description. None of the examples in the OP are "big television towers" and I doubt many (if any) of the ~240 examples in the UK are either.

If I was proposing to render this for the first time today, it would rightly be scrutinised and probably rejected! Especially as CARTOGRAPHY.md says one of the purposes of the style is it "helps to prevent unfavorable fragmentation of tag use.".

@SomeoneElseOSM
Copy link
Contributor

The point I am making is that most of these do not correspond to the wiki description. None of the examples in the OP are "big television towers" and I doubt many (if any) of the ~240 examples in the UK are either.

A quick check of ones near me (UK) seems about 50/50 used "correctly" and misused. In many cases it's possible to tell based on the changeset comments (e.g. "cell phone tower" is likely wrong) or other tags ("operator=Arqiva" is likely correct).

Since understanding the distinction I've always tried to use the tag "correctly"; it seems a shame to not render these objects at all based on misuse elsewhere. It shouldn't take UK mappers long to double-check the tagging of 240 items; presumably that same logic can be applied to other OSM communities worldwide.

@dieterdreist
Copy link

dieterdreist commented Sep 25, 2018 via email

@kocio-pl
Copy link
Collaborator

Does anybody plan to do tagging corrections? I think this is preferred option and I would be happy with this too.

@kocio-pl
Copy link
Collaborator

BTW: another example of wildly misused tag is monument instead of memorials, it would be good to make some retagging action too:

https://www.openstreetmap.org/node/4861514021

screenshot_2018-09-25 zestaw zmian 54003907 openstreetmap

@geozeisig
Copy link

There are indeed many wrongly tagged communications_tower. But you have to ask why? I found very old entries from a time when there was no wiki page. It may also be due to the editors who do not support it. In JOSM only tower is considered. Mast and communications_tower are missing. I once wrote a ticket but it was closed. Alternatively, you can use a preset Communication Towers.
There is still a lot to do, if many help we will succeed.

@boothym
Copy link
Contributor Author

boothym commented Sep 28, 2018

@SomeoneElseOSM - had a look in your area and it seems that most have been added/changed recently, including this one (which has the operator tag) that should really be retagged as a 25m tower with tower:type=communication instead:

https://www.openstreetmap.org/node/3340470839/history
http://tx.mb21.co.uk/gallery/eastwood.php

I've found small mobile phone "masts" and towers, large lattice towers and very tall guyed masts tagged as communications_tower. But none of the ones I've seen in the UK look like the example in the wiki of the tall concrete tower with an observation deck, of the style found in Berlin.

Mobile phone "masts" are not big enough and a 351m guyed tubular mast or a 219m lattice tower are better tagged as a mast and tower - so there's not much left to tag as man_made=communications_tower!

@kocio-pl I'm going to post on the mailing list about the tagging. But for osm-carto, at the very least you must consider whether communications_tower should be rendered so prominently at z13, without at least checking for a height tag like you do for mast or tower.

My other request in the OP was to "render masts from z13, with similar height logic as towers" - should I create a new issue for that? Because it would be a shame if correctly tagged masts weren't rendered at z13/14, but towers are.

@geozeisig most of them are from Potlach2 where it is a preset, don't know when that was added though. Fortunately iD and JOSM don't have it as a preset as more people would no doubt be (mis)using it!

Also, the number of communication_towers is not increasing according to the history graph, which is good: http://taghistory.raifer.tech/ Hopefully we can get all parts of the puzzle - rendering, tagging, wiki, editors - sorted.

@kocio-pl
Copy link
Collaborator

If this will be the only outcome (so it's not effectively a meta-issue), I don't think we need another ticker, just the title change to make it clear and somebody to make the code. I think your proposition about height is sane, we just need to discuss details.

@boothym boothym changed the title Stop rendering icon for man_made=communications_tower Adjust rendering of man_made=mast and communications_tower based on height Sep 28, 2018
@boothym
Copy link
Contributor Author

boothym commented Sep 28, 2018

Ok, I've changed the title.

Currently man_made=tower + tower:type=communication is always rendered at z17, and also at:
z15 = height>30
z14 = height>50
z13 = height>100

[feature = 'man_made_mast']["tower:type" != 'lighting'],

This should be copied for man_made=mast as that is currently rendered from z18, and at height>20, 40 and 80 for z17, 16 and 15.

For man_made=communications_tower I would suggest the same, although by definition there shouldn't be any tagged with height <100.

@kocio-pl
Copy link
Collaborator

Would you like to make this code?

@boothym
Copy link
Contributor Author

boothym commented Sep 28, 2018

I could by just copying the tower code, but as I don't have a way to test the rendering I'd rather someone else did it.

@lakedistrictOSM
Copy link

I doubt many (if any) of the ~240 examples in the UK are either.

@boothym I'd say that Radio City Tower in Liverpool fits the man_made=communications_tower definition, although currently it's just tagged as building=tower. The top of the tower houses the radio studios and broadcasting suites, with DAB transmission aerials on the very top. Originally it was opened as an observation tower, although radio is now the primary use.

https://www.openstreetmap.org/way/204479301
https://en.wikipedia.org/wiki/Radio_City_Tower

@boothym
Copy link
Contributor Author

boothym commented Sep 30, 2018

@lakedistrictOSM thanks for that, I suppose the BT tower in Birmingham is another example. Looks similar to the TV tower in Berlin which seems to the basis for the man_made=communications_tower tag.

However as you mention a building tag, and looking at the highest structures in Germany the top 6 have a building plus their man_made tag:

https://en.wikipedia.org/wiki/Fernsehturm_Berlin - communications_tower
https://en.wikipedia.org/wiki/Europaturm - tower
https://en.wikipedia.org/wiki/Fernmeldeturm_N%C3%BCrnberg - communications_tower
https://en.wikipedia.org/wiki/Olympiaturm - communications_tower
https://en.wikipedia.org/wiki/Telemax - tower
https://en.wikipedia.org/wiki/Heinrich_Hertz_Tower - communications_tower

So perhaps simply adding a building tag to man_made=tower + tower:type=communication + height would make the communications_tower tag redundant?

@ghost
Copy link

ghost commented Oct 8, 2018

So perhaps simply adding a building tag to man_made=tower + tower:type=communication + height would make the communications_tower tag redundant?

Towers aren't buildings because they aren't built for living, but for another purpose. In my opinion, adding a building tag to man_made=tower is mistagging for the renderer (just as adding a building tag to historic=ship or man_made=storage_tank).

@dieterdreist
Copy link

dieterdreist commented Oct 8, 2018 via email

@HolgerJeromin
Copy link
Contributor

Towers aren't buildings because they aren't built for living, but for another purpose.

With this definition you could delete million garages, huts, sheds, greenhouses, industrial and office buildings

@ghost
Copy link

ghost commented Oct 9, 2018 via email

@jeisenbe
Copy link
Collaborator

I can do test renderings for the masts, if we can decide on the right levels.

I think it might make sense for masts to continue to render 1 zoom level later than towers, because they are less visually prominent.

Man_made chimney also renders about 1 zoom level later than towers, and never sooner than z16

How about for masts:
zoom 14 for height >100
zoom 15 for height >50
zoom 16 for height >30

Should we also render man_made chimney at z15 for height >100, perhaps?

@jeisenbe
Copy link
Collaborator

@kocio-pl - I just read through the discussions about rendering towers, #3158 and #2671, but I didn't see a clear discussion of the initial zoom levels and heights for towers vs masts vs chimneys. Perhaps I missed it?

Is there a reason that towers are rendered as early as z13 but masts only at z15? Can we have them all render at z14 as the earliest, or should towers still render at z13?

I would also consider #1017 rendering wind turbines based on height
And rendering monuments and obelisks earlier based in height.

I've already made the code, should I post some test renderings?

@kocio-pl
Copy link
Collaborator

Most probably I focused on towers and did not test masts and chimneys, I just found sane defaults for some testing places, so they don't dominate the area. Both are less solid and more popular than towers, so I made them less prominent.

If you have something more detailed, you can post it of course. I was thinking about showing some huge monuments earlier, so I'm happy to hear that.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Nov 11, 2018 via email

@jeisenbe
Copy link
Collaborator

I'd like to start rending masts, towers, communication_tower and radio telescopes from z14 at >100m, z15 at >50 meters. Examples:

Honolulu, Hawaii z13 before
honolulu-z13-with-towers
Honolulu z13 after
honolulu-z13-no-towers
Honolulu z14 (same before and after)
honolulu-towers-z14

Zwedru, Liberia
z13 Before
zwedru-z13-tower
z13 After
zwedru-z13-no-towers
z14 (same)
dover-towers-z14

Dover, England
z13 Before
dover-z13-towers-before
z13 After
dover-z13-after
z14 (same)
dover-towers-z14

Southwest of Dover
z14 Before (200m mast not rendered)
sw-dover-mast-before-z14
After
sw-dover-mast-z14-after

Washington DC
z13 Before
washington-z13-before
After
washington-z13-after-no-towers

@Adamant36
Copy link
Contributor

@jeisenbe, do you mind if I ask what the utility of rendering them based on height is exactly? It seems like it would just add extra, unnecessary cognitive load to people who are mapping that would expect things to show up at a certain level when they look to see if the poi needs to mapped or not. Then when they reach that zoom level and the item isn't there they won't know if its because its not mapped or just because they have to zoom in further because its a "small" tower.

So, in my opinion height is kind of useless as a rendering variable for things like that, where there should be some kind of standard. Not to mention, its completely useless as a bases for rendering, because know one would know what the height is in the first place. So, they might not even make the connection that the tower isn't showing up for that reason in the first place.

Memorizing what zoom level everything is at is hard enough already. I don't have a problem with not showing something if its small, like with wind turbines, but I think I'm against this type of rendering because its just pointlessly over complicates things. Unless someone has a good argument for why it doesn't.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Nov 13, 2018 via email

@Adamant36
Copy link
Contributor

I agree that area and height should be rendered for thing that are mapped as large ways. A wider area thing is obviously different then a less wider one and should rendered at different zoom levels. Id also agree with about uber tall towers versus smaller cell towers. Except cell towers are tagged as such and their rendering could level just be based on that. Not on the fact that they are a part of the higher category of "towers" and happen to have a height tag. Height is to arbitrary in those situations, they all look like dots on a satellite map anyway, and know one would understand the rendering inconsistency because its not stated anywhere. If anything, they might consider it a bug. Plus, as I said before, is someone just suppose to zoom around wildly until they find the correct zoom level for the tower they want to add to see if its there or not?

What about things like multi story buildings? Should they be rendered at different zoom levels because they have different stories? or should we render stairs differently based on how many individual stairs there are? I don't why see there should be an exception here. Unless it has an actual benefit to mappers. What actual real world benefit does it provide? We have been trying to clean up zoom levels. Not make them more cluttered or complicated. Just saying it should be done in this case because its done in others isn't a good reason.

@jeisenbe
Copy link
Collaborator

Does anyone have comments on the test renderings above? #3414 (comment)

I believe it would work to have z14 as the initial zoom level for the tallest towers and masts. I would also adjust radio telescopes to render no sooner than z14, and add sooner rendering for tall monuments and obelisks.

Is >100m at z14 the best option?
Another option would be to use the current values for masts, but add one level;
So >160m at z14,

80m at z15
40m at z16
This would ensure that only skyscraper-height objects are rendered at z14.

Another consideration is that z14 is where power line towers are first rendered, though with a very small square symbol. At z15 power=tower have a slightly larger square icon, though still much smaller than the pictographs used for masts, monuments etc.

@boothym
Copy link
Contributor Author

boothym commented Dec 18, 2018

@jeisenbe sorry for the delayed response, just catching up with the comments here and on the mailing list. 😊 Not sure whether to post on the PR or here.

Am I right in saying you've gone for the following?

    nothing at zoom 13
    [zoom >= 14][height > 160], (communications_tower here, not dependant on height)
    [zoom >= 15][height > 80],
    [zoom >= 16][height > 40],
    [zoom >= 17][height > 20] (towers only?)
    [zoom >= 18] (both)

IMO having nothing at z13 is a mistake. At the moment very tall towers are rendered at z13 (see image below) - that needs be applied to masts as well. I have no problem with making the height test more strict, for example 200-250m. These are some of the world's tallest structures so they should be more prominent, and there's not a problem with tall towers rendering at z13 just now.

While I don't like the man_made=communications_tower tag - this could also be shown at z13, if it had a suitable height tag.

And I also think putting towers without height down to z18 is a mistake - z17 seems to be working fine at the moment. You don't want them to be too small on the map just because they don't have a height tag.

@Adamant36 I don't understand this comment:

Plus, as I said before, is someone just suppose to zoom around wildly until they find the correct zoom level for the tower they want to add to see if its there or not?

A tower with no height tagged currently gets rendered at z17, so people would need to zoom in at the moment anyway. There's lots of things that people have to zoom in to see.

Better surely to render the tallest masts or towers at z13 so that people will see them. For example, here's the tallest tower in the UK (330m) - if someone decides to go and map it, they will notice it!
emly

@jeisenbe
Copy link
Collaborator

jeisenbe commented Dec 19, 2018 via email

@Adamant36
Copy link
Contributor

Adamant36 commented Dec 19, 2018

@boothym, my point was that five different zoom levels for rendering a single object based an obscure variable like height of the object isn't the most intuitive thing for most people or something they would probably even consider when look at the map to see if something is there or not. For instance, most people don't know or care that their local cell tower is 80ft and not 79 feet.

If they were looking for the objects on the map, they might zoom into z15, see a tower there, wrongly assume all towers are rendered at that zoom level, then think a tower doesn't exist somewhere else because its displayed at z16 instead. Since again, height is a useless distinction to most people, for most people. Unless your talking about the difference between the Eiffel Tower and a local cell tower, but that's more about its cultural significance then how tall it is. But by doing it this way your essentially put all towers, even meaningless ones on the same importance level as the Eiffel Tower, which they aren't, simply because the they are the same height.

Maybe it would be different if there was only like two height variables. 5 is out of the range of usefulness or meaning though. Especially considering there's map legend to explain it and the person would have to inspect every object to know that's the variable being used, because again its just not intuitive.

Yes there's lots of other things people need to zoom in to see, but what aboutisms don't really work good in a case like this where your talking about hundreds of different objects with different properties and rendering priorities. Cool freeways are rendered at a different zoom level then residential roads, but they are different objects and serve different purposes on the road way. freeways aren't rendered 5 different ways based on their road width though (which I think is a bad idea). All of them are rendered the same irrespective of how wide they are. So its not even comparable. If they where then it might be.

Compare five different rendering heights for the same object based on an obscure variable that most people don't associate with the object in the first place to the aim of the cartography file.

  1. Would it fit the aim of a general purpose map? No, its pretty specialized.
  2. Is it intuitive and readable by users with some general experience using maps without a map key, preferably with relatively little effort? No.
  3. Does it "allow mappers to understand how the data produces a certain rendering result based on basic observation without in depth understanding how map rendering works or looking at the style implementation." No.
  4. Does it fit maintainability and complexity of code? No. It introduces extra, unnecessary code that a lot of people except experts wouldn't understand.
  5. Does it allow for adaptability and ease of customization? Again, id say no.

Instead, I suggest they be rendered based on a few zoom levels, using another tag that would actually separate them based on something meaningful like if they have the historic tag or not. Doing it by height though is pigeon holing significant objects into being rendered the same as none significant ones. Especially for things like towers where they are all tall. Plus, I still have yet to hear a good rational as to what exact benefit rendering based on height for a lot of these things is even a good idea. Except for @jeisenbe saying a lot of vague statements like "Well, because other objects use it" which really isn't a valid reason or a good rational for doing anything. The important thing is why its a good rendering metric in this case. Which it clearly isn't. Especially considering there are better ones. There's a vast array of purposes for towers. So its not like obelisks where they are all for the same reason and all have significance. So height can be used for them, because its not insinuating a false connection to importance.

@Adamant36
Copy link
Contributor

Adamant36 commented Dec 19, 2018

As an alternative you could render them based on tower:type and leave it at that. That would be way less arbitrary, would incur-age adding the tag, and would not render insignificant ones at the same level as significant ones. The vast majority are communication towers, or other similar tower types, where height doesn't even matter. Only a small minority are like the Eiffel Tower. So I don't know why height even needs to inter into the equation. Again, its a completely irrelevant variable, that means your screwing yourself out of being able to use a better one like type.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants