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

"tourism" refrains "man_made" node from rendering "name" #3545

Closed
IgorEliezer opened this issue Dec 1, 2018 · 17 comments · Fixed by #3603
Closed

"tourism" refrains "man_made" node from rendering "name" #3545

IgorEliezer opened this issue Dec 1, 2018 · 17 comments · Fixed by #3603

Comments

@IgorEliezer
Copy link

IgorEliezer commented Dec 1, 2018

Expected behavior

Related to: https://www.openstreetmap.org/node/1980961590

Combining man_made=cross and tourism=attraction should not refrain the feature from rendering its name beneath the cross icon.

Actual behavior

See history: https://www.openstreetmap.org/node/1980961590/history

At the version 1, the node had only tourism=attraction and name=Morro da Santa. I remember its name rendered at the node.

Once I added man_made=cross, it started to render the cross icon but, on the other hand, its name no longer renders.

Now, compare with https://www.openstreetmap.org/node/5185486387 which has man_made=cross and name. Its name is rendered beneath the cross icon. My guess is that, the problem is on tourism=attraction side.

Links and screenshots illustrating the problem

map

@kocio-pl
Copy link
Collaborator

kocio-pl commented Dec 3, 2018

Thanks for the report, it looks like a valid problem. Would you like to prepare the code fixing this?

@jeisenbe
Copy link
Collaborator

jeisenbe commented Dec 4, 2018

I think this is a text-dy problem?

If there is a man_made=cross alone, the code moves the name label text down by 6 pixels so that the name label is not blocked by the icon:

    [feature = 'man_made_cross'],
    [feature = 'historic_wayside_cross'] {
      text-dy: 6;

But tourism=attraction is rendered without an icon, like an area feature, the same as zoos and theme parks:

      [feature = 'tourism_attraction'] {
        text-fill: #660033;
        text-face-name: @standard-font;
      }

The wiki page for tourism=attraction says:

"This tag may be added to object to indicate that the place is interesting for tourists. Note that tagging just tourism=attraction is not enough - this tag should be used only as addition to main tag describing the feature.

"For example tourism=attraction + name=Waterfall "Foobar" is not a proper way to tag waterfall named Foobar, such object should be tagged rather with waterway=waterfall + tourism=attraction + name=Foobar."

"Other (rarely used) possible way is to map the primary feature (eg waterfall) and add tourism=yes."

So this suggests that we could solve this problem by removing the code to render names for features that are tagged tourism=attraction without another tag.

Thoughts on this option?

@jeisenbe
Copy link
Collaborator

jeisenbe commented Dec 4, 2018

Previous threads and comments about tourism=attraction :

#460 (comment)
#1029 (comment)

#1047 "Change color tourism=attraction label and drop rendering of tourism=attraction areas "
#1063 "tourism=attraction - partially restore old label, stop rendering areas"
#1257 "Add area render for tourism=attraction"

@Adamant36
Copy link
Contributor

Adamant36 commented Dec 4, 2018

That does seem to the issue as other things co-tagged with tourism attraction dont seem to have their names render either. Whereas places just tagged as tourism attraction do have their names rendered.

The problem with removing name rendering from attraction is that you'll be removing a lot of names of importent features from the map. As a lot of things are tagged that way despite the wiki. Id imagine there's a lot of places out there like city districts or wharfs that dont have clear boundaries or objects to add the tourism node to that are still interesting to tourists. There's a few such places in San Francisco.

It would be a shame to remove the names of those things from the map. Although, im not sure there is a better solution, but its still something to consider.

@dieterdreist
Copy link

dieterdreist commented Dec 4, 2018 via email

@jeisenbe
Copy link
Collaborator

jeisenbe commented Dec 5, 2018

I've looked into this bug, and I suspect it is related to the amenity-low-priority layer, for man_made=cross and historic=wayside_cross (the other features in this layer do not have a name label rendering)

There are a couple possible solutions:

1) Add and icon and text-dy for tourism=attraction

  • This will move down the name label for tourism=attraction so that the text will render
  • However this may then show the new tourism=attraction icon instead
  • If text-dy is added without an icon, then then name label would be slightly misplaced for other tourism=attraction
  • We would also need to add an outline or area fill rendering for tourism=attraction

2) Remove rendering of the name label for tourism=attraction

  • This would also resolve Add area render for tourism=attraction #1257
  • May be preferred if tourism=attraction should only be a sub-tag for other features, as the current wiki page suggests
  • JOSM preset, which allows tourism=attraction alone, should be removed in this case

I believe option 2) is the best, so I will ask on the tagging mailing list, to confirm if the current wiki page description is correct.

It might also be possible to remove man_made=cross and historic=wayside_cross from the low priority layer, move to higher priority position in amenity-points.mss

  • In theory this should work, but I have not yet found a working solution
  • However, this may cause problems when there is a summit cross on a natural=peak, for example.
  • We would still need to fix the lack of an icon, outline or area rendering for tourism=attraction

@HolgerJeromin
Copy link
Contributor

ref #3446

@jeisenbe
Copy link
Collaborator

jeisenbe commented Dec 19, 2018

This tag has now been discussed on the tagging mailing list. https://lists.openstreetmap.org/pipermail/tagging/2018-December/

Many people felt that all tourism=attraction can be tagged with a more specific tag. Taginfo shows a number of popular combinations https://taginfo.openstreetmap.org/tags/tourism=attraction#combinations

However, there are over 10,000 combined with attraction=, mostly attraction=animal (to tag a specific animal exhibit in a zoo). Attraction is also frequently used with water_slide, roller_coaster, amusement_ride, and carousel. These seem to be fairly reasonable uses of the tourism=attraction tag, though perhaps attraction= alone would be sufficient.
https://taginfo.openstreetmap.org/keys/attraction

While we could switch to rendering only features also tagged with attraction=*, it would be less disruptive to switch to rendering tourism=attraction only at z17 and higher, and no longer rendering it early when tagged on large areas. A generic marker should also be added to show the location of the attraction. I'd suggest using @tourism color to match zoos and amusement parks.

This will appropriately render attractions such as animals in zoos and amusement rides in theme parks, but should encourage mappers to look for better ways to tag large areas.

I found that I can resolve the initial issue by moving 'tourism' below man_made_cross in project.mml, so that it renders after man_made=cross and historic=wayside_cross.

Test area, currently:
("bench attraction" is a man_made=bench tagged with tourism=attraction. "Animal attraction" is tourism=attraction with attraction=animal. "Baliem Resort" is a leisure=resort also tagged tourism=attraction. The two crosses without names shown are also tagged tourism=attraction)
z17
z16-tourism-attraction-before

z16
z15-tourism-attraction-before png

After
z17
z16-tourism-attraction-after

z16
z15-tourism-attraction-after

@Adamant36
Copy link
Contributor

@jeisenbe, how come you do test renderings with style maps (or whatever their called) instead of using the actual map map in Kosmtik? I noticed you did the same thing with roads. It would be interesting to know if it might give different results that way or what the pros/cons are. I'm sure whatever your using is a lot smaller in file size then the average shape file at least.

@kocio-pl
Copy link
Collaborator

I still think violet is good for both attraction and zoo/theme park.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Dec 19, 2018 via email

@kocio-pl
Copy link
Collaborator

I would start with boundary. That would be also needed for merging #3521 at last.

@matthijsmelissen
Copy link
Collaborator

I still don't fully understand the problem in this issue - could somebody give me a short summary of the cause?

@jeisenbe
Copy link
Collaborator

jeisenbe commented Dec 30, 2018 via email

@matthijsmelissen
Copy link
Collaborator

@jeisenbe I still don’t follow. Which feature blocks rendering of the man_made cross name?

@matthijsmelissen
Copy link
Collaborator

Ah, I guess I get it now. So part of the issue is that for objects that are both man_made=cross and tourist=attraction, the label is rendered in the latter style? Perhaps we could solve this by change this order?

@jeisenbe
Copy link
Collaborator

jeisenbe commented Dec 30, 2018 via email

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

Successfully merging a pull request may close this issue.

7 participants