Hi,

I am a bit of an OSM newbie having just made my first edit. I added the way http://www.openstreetmap.org/browse/way/231720132 Bradlaugh Fields using the ID in-browser editor.

This is a public park in northern Northampton, England. However the label for the way appears to the right of the area itself, and the label is in fact over Aintree Road, which is not part of the way. How can I move the label so that it is over the actual park rather than in the rather odd place it is now?

asked 29 Jul '13, 17:22

whenthedanceisthrough's gravatar image

whenthedance...
51112
accept rate: 0%

edited 30 Jul '13, 15:37

gormo's gravatar image

gormo
2.9k32660

1

Right now, the label "Bradlaugh Fields" is actually in the middle of the park, as I would expect it. Maybe it was just a problem with the renderer; sometimes it takes a while for changes to appear on the map.

(29 Jul '13, 20:53) sleske

It still shows wrongly for me. Check the following URL: http://osm.org/go/eu4zvisZ The label "Bradlaugh Fields" is not over the park at all, but actually at the corner of Aintree Road and Goodwood Avenue, just to the east of the park.

(30 Jul '13, 10:37) whenthedance...
1

I am a bit confused: the MapQuest Open style shows the label off. But osm.org's Mapnik style shows the label right on the park - contrary to what I understand you see. Oh, hold on... That may be due to the fact that you are accessing from the Brit. Isles and I from Germany. Users from the Brit. Isles were switched to the new CartoCSS style on 24 July 2013. So you may see a different map than I do. The current openstreetmap-carto style may currently have a disadvantage here compared to the classic Mapnik style.

(30 Jul '13, 22:37) aseerel4c26 ♦

I'm from Belgium, but I do see the label right of the park, above the residential area. Was Belgium switched as well ?

(31 Jul '13, 04:25) escada
1

Thanks for the explanation. I wasn't aware of this "layers" switch before as I am relatively new to OSM. I notice that when I use the "cycle map" layer, I actually see the label in the correct place. But using "standard", it appears in the wrong place. As you mention, this is probably due to the CartoCSS.

(31 Jul '13, 11:38) whenthedance...
1

Update: now I see (from Germany) no label in my mapnik link from above but I see a label in a lower zoom level which is ("wrongly") on the residential area. There seem to be some server changes/actions currently.

(05 Aug '13, 03:33) aseerel4c26 ♦
showing 5 of 6 show 1 more comments

You cannot change the position of the labels. The renderer uses an algorithm to determine the position of the labels. Most likely it positions the label in the middle of the of the area.

permanent link

answered 29 Jul '13, 20:20

escada's gravatar image

escada
17.9k16153284
accept rate: 21%

4

… and in fact there is no "the renderer". There are many as OSM is just a database with many different maps and services using OSM. As we have no render direction in our database one cannot change, yup.

(29 Jul '13, 22:52) aseerel4c26 ♦

Thanks, this is a shame because the label position is totally wrong according to this algorithm. You can check the following URL to see: http://osm.org/go/eu4zvisZ the label "Bradlaugh Fields" appears at the corner of Aintree Road and Goodwood Avenue, and not at all within the actual area. Is there any way to position the nodes in such a way as to "force" the algorithm to work correctly? Or is this a bug I should report with OSM?

(30 Jul '13, 10:40) whenthedance...
3

The algorithm works fine when you have something that is a rectangle or something that resembles that. In this case the area is a square with a long small rectangle at the top. That's why the center moves out of the area.

As aseerel4c26 points out, there are multiple renderers, the one you refer to is probably the Mapnik renderer used at the main OSM site.

Placing labels nicely is a difficult task. There is still research going on to improve those algorithms. I assume you can file a bug report, but do not expect it to be fixed anytime soon.

(30 Jul '13, 11:20) escada

In fact, label placement on a graph/map is shown to be a NP-complete problem, which means there are no perfect solutions in polynomial time. See http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.8844 .

All label placement algorithms must fail, if you want them to ever finish computing (this is somewhat simplified).

So: you should not do anything. If the area is tagged correctly then leave it as it is. Don't nudge the data to display the way you want (we call this "tagging for the renderer", and it is a sacrilege in the OSM community. See http://wiki.openstreetmap.org/wiki/Tagging_for_the_renderer ).

permanent link

answered 30 Jul '13, 11:29

gormo's gravatar image

gormo
2.9k32660
accept rate: 13%

2

… ein leicht zu lesender Artikel über das Beschriftungsproblem auf Deutsch: "Beschriftung von Karten ist ein hartes Problem. Abstrakte Theorien führen zu seiner Lösung"

(30 Jul '13, 14:00) aseerel4c26 ♦

How about if I created several separate ways of more traditional shapes and named them all as "Bradlaugh Fields" so that the labels would appear more than once but at least within the actual areas? Would that be considered "tagging for the renderer"?

(30 Jul '13, 17:24) whenthedance...
4

Generally speaking, there should be one feature for each OSM element, not one-for-many or many-for-one.

(30 Jul '13, 17:36) SomeoneElse ♦

Thanks, I guess we're stuck with this situation then :(

(30 Jul '13, 18:31) whenthedance...
2

@whenthedanceisthrough: strictly speaking: no, not really. You just need to program a more shape-aware label placement heuristic into the renderer (/-style) which produces the map you are looking at. E.g. the circle approach used there would more likely place the label on the park itself. It could well be that there are already other maps placing the park label in a way which suits you more.

(30 Jul '13, 18:53) aseerel4c26 ♦
1

I checked other renderers like OpenMapSurfer or MapQuest, but they generate it wrongly too. I think the upshot is that it requires a code change to each renderer to fix. As @escada mentioned above, this is possible, but will likely not happen in the near future. That's why I said we are stuck with this situation (at least in the near future).

(30 Jul '13, 19:22) whenthedance...
showing 5 of 6 show 1 more comments
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×389
×49
×6

question asked: 29 Jul '13, 17:22

question was seen: 7,344 times

last updated: 05 Aug '13, 17:19

powered by OSQA