Closed BushmanK closed 6 years ago
I already have engineering definitions for masts and towers to man_made=mast and man_made=tower OSM Wiki pages to clarify it.
Is this what actual usage is?
@pnorman If you take a look at articles for tower and mast, they give no clear way to tell "it's a mast" or "it's a tower", except the structural engineering definition I've added. So, all objects, tagged before I did that, were tagged by own perception of every mapper. Therefore, in the vast majority of cases, nobody can tell, if any object, tagged with man_made=mast
or man_made=tower
is a mast or tower.
There is a detailed description of this in the diary entry I've mentioned above.
, all objects, tagged before I did that, were tagged by own perception of every mapper. Therefore, in the vast majority of cases, nobody can tell, if any object, tagged with man_made=mast or man_made=tower is a mast or tower.
If there's not agreement in the tagging in-use we shouldn't do these changes until the usage has changed.
The icons seem to have some pixel alignment problems, even at 2x.
For some reason I'm having trouble copying and pasting the PNGs directly to see what they're like at 100% size
Just for the reference, here is what I've added to these two OSM Wiki articles: tower https://wiki.openstreetmap.org/w/index.php?title=Tag%3Aman_made%3Dtower&type=revision&diff=1222019&oldid=1202714 mast https://wiki.openstreetmap.org/w/index.php?title=Tag%3Aman_made%3Dmast&type=revision&diff=1222326&oldid=1201405
Nobody seems to really care about having the agreement - unclear explanations were there for years. Clear ones are not my own imagination.
And no, it doesn't have any problems with pixel alignment. If I were you, I wouldn't judge by an enlarged example before seeing an actual icon file. Here is a screenshot from Inkscape:
Rendering of towers/masts is definitely something that could use improvement. See in particular also #1225.
The proposed symbol for towers might be prone to confusion with the symbol for historic=monument
.
tower:construction
depends on the database reload.
By the way, I see no ground under a requirement of a formal agreement regarding of tags with "in use" status. It is not something that community agreed on via proposal procedure, so we have to stick to it until another formal voting or something. Someone just started using a tag many years ago, then someone has it described in OSM Wiki, using an own vision of it. I've added engineering definitions more than a year ago and nobody said anything against that. Therefore, there are only two logical ways: to render both masts and towers equally by default because nobody can actually tell the difference; or to go a bit ahead of this mess and to start using consistent rendering, so people will eventually get used to it, start checking what OSM Wiki says about that and so on. There is an example of similar situation in comments to my diary entry:
Here, I'm saying that proper rendering of malformed data might promote fixing it with proper tagging. And I have an example of a similar situation. In Russian, "kiosk" refers to a small shop in general, not to specific product range of a small shop (as it is in many European languages). Right after shop=kiosk got its own newspaper icon in OSM Standard style, Russian mappers started fixing hundreds of improperly mapped amenities by setting proper values such as ice cream, tobacco and so on. I don't see any reason why it can't work the same way with masts and towers.
@imagico, yes, there is a similarity with a monument. But it is based on the current icon for communication structures: https://github.com/gravitystorm/openstreetmap-carto/blob/master/symbols/communications.svg - I only made the foundation thicker. With "radio waves" removed, it looks similar to a monument too. Do you have any ideas how to make it more distinctive? Narrower foundation or, maybe, a square top?
Is this what actual usage is?
Actual usage for the man_made=mast
seems to be a combination of actual masts, large towers, small mobile phone "masts", and those tagged as masts so they get rendered on the map. Then you have man_made=tower
which is used 171,000 times, but not rendered.
There's also the poorly defined ("huge tower" - how big?) and inconsistently tagged communications_tower
which adds another 3,600.
I must agree with @BushmanK - the current situation of rendering just one of these doesn't benefit anyone.
There's also man_made=communications_tower
(https://github.com/gravitystorm/openstreetmap-carto/issues/339#issuecomment-272518084) - what do you think it should look like?
man_made=communication_tower
doesn't seem to have any clear distinctive documented features to give it a different icon. I don't see, why it can't be rendered as this:
It is still a tower standing on its foundation and it is used for communication.
There is only one real-world feature, that can be sometimes seen in structures that most likely supposed to be tagged with man_made=communications_tower
. It is a space inside it, designed for people to work there more or less permanently in opposite to just visiting it for inspection, for example. But since many towers were modernized recently to accommodate digital TV and cellular equipment as well as a wireless relay network equipment, it is hard to tell, if any particular tower still has a room for personnel inside (and it is still safe to work there because of a higher microwave radiation).
So, this tag, without a better description, is completely redundant and mixed with man_made=tower
tower:type=communication
Features, currently offered as distinctive ones for man_made=communications_tower
, don't seem to work. For example, many "smaller" towers built of drum-shaped elements have a stair inside it, so nobody has to climb from the outside. At the same time, even really large (higher than 150m) regional broadcasting towers (with room for people inside it) in warm climate areas have outside stairs. For example, Yerevan TV tower in Armeina - https://en.wikipedia.org/wiki/Yerevan_TV_Tower
Here are several variants of cantilevered tower icon, enlarged: The latter two are a kind of similar to a chimney symbol - it's just for the reference. The first one on the left uses the same design as the current icon for communication towers (https://github.com/gravitystorm/openstreetmap-carto/blob/master/symbols/communications.svg), but with "radio waves" removed and a bit taller.
sent from a phone
On 21 Jan 2017, at 00:09, BushmanK notifications@github.com wrote:
With "radio waves" removed, it looks similar to a monument too. Do you have any ideas how to make it more distinctive? Narrower foundation or, maybe, a square top?
I'd get rid of the basis, it makes it look like a classic basis/pedestal
Maybe the towers can get something slightly larger on top, something like a cabin/platform, as opposed to the masts which could have the same width along all the height.
@dieterdreist, removing foundation completely does not seem to be an option because it refers to the main distinctive feature of a free-standing (cantilevered) tower. And it doesn't seem like anyone has argued about that when the current icon have been introduced, so I'm not sure why this question came up now.
I agree, that many towers have a platform, cabin, or some equipment installed closer to its top. However, masts have it too (at least, sometimes). Question is, how to make a tower icon with such feature without making it look like a canine male genitalia. I will try.
The main problem with adding/removing features is that people have a tendency to take it literally. I mean, if there would be a platform, someone will definitely get an idea that structure must have it to be called "a tower".
Something like that.
@BushmanK I really like your work and the icons. If You could point me out to where to take from the svg icons used I would try to add them my variation of carto http://bigvo.hopto.org/osm/ to test how they look like in real world scenarios.
Proposition of the icon for http://taginfo.openstreetmap.org/tags/tower:type=bell_tower would also be welcomed.
@wmyrda , here is what I have (hosted at Megaupload). It includes all icons from the first message. Since I haven't got any further feedback on experimental drawings, I didn't prepare corresponding SVG files.
I will think about a bell tower.
the original once are good enough for me. Thanks. Keep in mind it may take some time (few days?) as I would have to figure out proper way to ask postgres database for those items as this is hard part for me at the moment.
adding for reference https://forum.openstreetmap.org/viewtopic.php?id=57136
I have read over this again and looked at the subject in general and it seems to me the most important thing would be to render:
man_made=tower
+ tower:type=communication
man_made=mast
+ tower:type=communication
with suitable icons and cease rendering
man_made=mast
+ tower:type<>communication
with a communication related icon - although i see no reason not to keep rendering it with a mast icon.
For the above we would need suitable generic mast and tower icons that can be combined with a radio waves visualization to indicate tower:type=communication
. The design for man_made=mast
would also need to be clearly identifiable as such without the radio waves.
In addition i would suggest to try making the design for masts less heavy that that for towers since typically masts are of less massive construction (for basic mechanical reasons) and having it the other way round could be misleading.
Beyond that the question is of course if and how to render
man_made=tower
+ tower:type<>communication
I would like to see this also in light of the fact that many types of towers are actually buildings. building=tower
is a fairly common tag. Rendering the building geometry and an icon for the building as a tower might be confusing - especially at high zooms w.r.t. the building is a tower vs. there is a tower on the building.
Apart from that i see nothing wrong with specific designs for specific tower type as long as the type is well defined, consistently used and the icon design is intuitively readable.
@imagico, here is a generic mast icon (2x size) that has a twice thinner main stem, as you've suggested. Does it look better for you?
Regarding of other tower types, I can also easily adapt the cooling tower icon I made before for the Mapsurfer rendering style: http://openstreetmap.ru/#map=18/55.82296/37.77672&layer=S
Yes, that goes in the right direction. Making the guy lines notably thinner than the main structure might further improve it - that would make them semitransparent in normal rendering resolution which would require testing in actual rendering of course. The really important thing with such a simple shape will be to make sure it is not mistaken for a mapped geometry.
With cooling towers the main difficulty will be to avoid confusion with chimneys.
Thinner guy lines will be less than 1px, but I could try that for sure. In this case, I could even try two-level guying as an option to make an icon that resembles this:
A cooling tower icon could have its height equal (or almost equal) to its base width, so it makes them different enough from chimneys to my eye.
Default man_made=mast
with 1/2px wide single guy lines, double size preview
Default man_made=mast
with 1/2px wide single guy lines, actual size 14x14 preview (rendered by Inkscape)
Default man_made=mast
with 1/2px wide two-level guy lines, double size preview
Default man_made=mast
with 1/2px wide two-level guy lines, actual size 14x14 preview (rendered by Inkscape)
Looks good - fine tuning should be done with evaluation in actual rendering.
I have a bit of fear that the single pixel line width will not be sufficiently visible with a busy background so it might also be necessary to go to a 1.5 pixel line width - but that also needs evaluation under practical conditions.
Good. Whatever variant will be considered suitable, I can always provide a corresponding SVG.
Why don't you put up a pull request with one of those for testing. For the start this is as simple as replacing the SVG. Most work will be testing at different places. If that works out adding additional rules for the different variants will not be that difficult.
If you don't feel like it you will need to wait until someone else can implement and test it.
I'm not sure, what exactly should I do to implement that. I can create a pull-request with just several icons added to it, but I have no idea about testing conventions here and so on. In addition, MapCSS is not a language I'm really familiar with (I can read some styles here, but still not sure about adding completely new rules). Another question is what to do with multiple icons for the same type of object - is there a naming convention for that kind of case?
First of all if you don't have a testing environment set up you would need to start with that, see:
https://github.com/gravitystorm/openstreetmap-carto/blob/master/INSTALL.md
The main thing about testing is that you need to verify your change works and does what you intend it to do by looking at the results in kosmtik. If you then make a sample screenshot of your test render and add it to your PR that is all you need at first.
Don't worry about the language - as said for just testing the icons you don't need to code anything, just replace the svg file. Beyond that you just have to study the existing code and extend and adjust it to what is needed.
There is no codified rule for file names but using the matching tags is usually a good idea - like mast_communication.svg
or similar.
If you run into problems with any of these things just ask.
Unfortunately, deploying an own testing environment is a bit out of my current abilities for many reasons. I can draw any icons, put it into a pull request to any repository, that's probably all I can offer.
No problem.
Thinking about it are masts even used for anything other than communication? Looking at the examples at wiki http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dmast it has tower:type=communication in every proposed case. That makes me think even just using "man_made=mast" in the actual implementation should be drawn even if tower:type=communication tag is missing.
That being said I like the version with "1/2px wide single guy lines" more for OSM as it is just more appealing. IMHO version with "1/2px wide two-level guy lines" is just not recognizable with that 14x14 pixel size.
As for towers it is important to differentiate with tower:type as besides "communication" there are others like "observation" and "bell_tower" which have about 10K uses each see http://taginfo.openstreetmap.org/keys/?key=tower%3Atype#values and those uses are very different from each other.
There are masts that have other functions than communication, though these are not so common. One example I can think of is hyperbol radio positioning systems, such as NELS/LORAN C, DECCA, Consol, etc. NELS is still active in Europe/Russia, and as far as I know DECCA is still active in India. Just a count from the top of my head, that would amount to somewhat less than 100 masts world wide.
Indeed, the vast majority of masts are used for communication. But since not all of them, there should be a default icon that doesn't imply any function at all. We also need that for situations, when function is basically unknown, while mast itself could easily be mapped (from super-high-resolution imagery or street view photos).
In addition, I could easily name some more non-communication masts:
Yes, It would be nice to see incomplete tagging and not default to communication.
I am not sure of proper tagging for radio masts and likely proper tagging would be to tag them as masts, but for some other examples like metrology or surveillance we have different tagging that quite likely would be used first instead of mast see here: http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dmonitoring_station http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dsurveillance
That being said I acknowledge masts may have different use than communication I code which finally works for me reflects that and few other ideas http://bigvo.hopto.org/osm-extra/carto-patches/013-towers_v5.patch
What the code still needs is more icons (observation and bell towers comes to mind, probably different default for tower) and maybe some changes to the height and zoom level, but the main ideas should be fine.
@BushmanK If You could prepare more icons I'll add them to my test environment http://bigvo.hopto.org/osm/
Now that we have hstore in the database I prepared new version of the patch http://bigvo.hopto.org/osm-extra/carto-patches/4.0/013-towers.patch for towers to get them included in the carto. It woulso fix https://github.com/gravitystorm/openstreetmap-carto/issues/2024 as height is also used.
This patch is a bit out of sync - symbols were not in the right directory, so I moved them, but I also got some rejected code in project.mml
:
--- project.mml 2017-06-30 23:27:35.468210408 +0200
+++ project.mml 2017-06-30 23:50:00.560814739 +0200
@@ -2098,7 +2104,7 @@
'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farmland',
'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill',
'construction', 'military', 'plant_nursery', 'religious') THEN landuse ELSE NULL END,
- 'man_made_' || CASE WHEN man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'pier', 'breakwater', 'groyne', 'obelisk') THEN man_made ELSE NULL END,
+ 'man_made_' || CASE WHEN man_made IN ('lighthouse', 'windmill', 'mast', 'tower', 'water_tower', 'pier', 'breakwater', 'groyne', 'obelisk') THEN man_made ELSE NULL END,
'natural_' || CASE WHEN "natural" IN ('wood', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath',
'grassland', 'scrub', 'beach', 'shoal', 'reef', 'glacier') THEN "natural" ELSE NULL END,
'place_' || CASE WHEN place IN ('island', 'islet') THEN place ELSE NULL END,
@@ -2225,7 +2231,7 @@
'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farmland',
'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill',
'construction', 'military', 'plant_nursery', 'religious') THEN landuse ELSE NULL END,
- 'man_made_' || CASE WHEN man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'obelisk') THEN man_made ELSE NULL END,
+ 'man_made_' || CASE WHEN man_made IN ('lighthouse', 'windmill', 'mast', 'tower', 'water_tower', 'obelisk') THEN man_made ELSE NULL END,
'natural_' || CASE WHEN "natural" IN ('wood', 'peak', 'volcano', 'saddle', 'cave_entrance', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring',
'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier', 'tree')
THEN "natural" ELSE NULL END,
@@ -2265,7 +2271,7 @@
OR landuse IN ('reservoir', 'basin', 'recreation_ground', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential',
'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farmland', 'greenhouse_horticulture',
'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military', 'plant_nursery', 'religious')
- OR man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'cross', 'obelisk')
+ OR man_made IN ('lighthouse', 'windmill', 'mast', 'tower', 'water_tower', 'cross', 'obelisk')
OR "natural" IS NOT NULL
OR place IN ('island', 'islet')
OR military IN ('danger_area')
I've made a branch here and at least it renders, but didn't try to work on this rejection, so please look at it.
BTW - the best thing would be if you make a fork of this style, create a branch yourself and make a Pull Request, so we could just examine it.
Reason it didn't apply cleanly is likely because it is part of larger patchset I used http://bigvo.hopto.org/osm-extra/carto-patches/4.0/ I'll prepare the code for this patch directly on the present carto
As of branching the code and creating my own pull request it is something I would have to learn/re-learn as it is ages from when I did that therefore I'll rather prepare a patch
This one should apply cleanly on carto git http://bigvo.hopto.org/osm-extra/carto-patches/4.0/013-towers_direct.patch
A tower is a significant element in the landscape. Therefore, I would like to point out again that we should also have an icon for it. It is not easy to choose one because there are many different types of towers. For this reason it must be a very general and simple symbol as suggested above. We already have icons for insignificant things like hunting stand or mast, so we should be and worth the effort to pick an icon for a tower as well.
The PR is #2671 and I plan to deploy it eventually, but I have no exact time frame for this. If you want to help and speed up the process, you can check the icons and test the rendering for example.
2018-02-13 9:11 GMT+01:00 geozeisig notifications@github.com:
A tower is a significant element in the landscape. Therefore, I would like to point out again that we should also have an icon for it. It is not easy to choose one because there are many different types of towers. For this reason it must be a very general and simple symbol as suggested above.
while I agree that many types of towers should be rendered, I think we should not render all man_made=tower the same, but rather differentiate according to tower type and maybe other tags (height etc) which is now possible due to hstore.
There are multiple icons for different types in this PR and it really uses hstore (like tower:type
for example).
We have 190,686 towers to date and 58% of them have tower: type. So it makes sense to render this tag with an icon and not wait years for special types. The detailed elaboration is also important and can be operated in parallel. An icon like this would certainly be appropriate:
See the test renderings of the mentioned PR code: https://github.com/gravitystorm/openstreetmap-carto/pull/2671#issuecomment-368689153.
In my diary entry here http://www.openstreetmap.org/user/BushmanK/diary/39981 I've described the current situation with tagging masts and towers in OSM. I already have engineering definitions for masts and towers added to
man_made=mast
andman_made=tower
OSM Wiki pages to clarify it. Earlier, I promised to draw a set of icons for the OSM Standard style. Since there are several contradictions in current tagging scheme, I'd like to hear some feedback from developers, how you see this situation.So, here are six of these icons, rendered from original SVG into PNG at 200% scale:
Cantilevered (standing on its own foundation, not supported by anything else) tower
man_made=tower
tower:construction=freestanding
Cantilevered tower used for communicationman_made=tower
tower:construction=freestanding
tower:type=communication
Lattice tower
man_made=tower
tower:construction=lattice
Lattice tower used for communicationman_made=tower
tower:construction=lattice
tower:type=communication
Mast (guyed vertical structure)
man_made=mast
Mast used for communicationman_made=mast
tower:type=communication
Some of these icons could also be used for other combinations of tags, because, for example, all
tower:construction=guyed*
(there are three documented values) fall into a category of masts. Therefore, can be rendered as this: The same icon could be used forman_made=mast
without any additional tags. It applies toman_made=tower
with no other known details and this icon:I am not touching (yet) other purposes of vertical structures (
tower:type=
values), but I can definitely draw more of them if there is any demand for it.If someone thinks that cantilevered tower icon is too similar to one for monuments, I can probably change it a bit, for example - make its top square and/or reduce the width of its foundation.