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

Zoom level for hamlet #1984

Closed
Gazer75 opened this issue Nov 27, 2015 · 22 comments
Closed

Zoom level for hamlet #1984

Gazer75 opened this issue Nov 27, 2015 · 22 comments

Comments

@Gazer75
Copy link

Gazer75 commented Nov 27, 2015

I know this has been rejected before, but I feel this needs to be looked at again.

Currenty the zoom levels and name display is making Norway look rather uninhabited. Seems wrong to have to call small settlements of less than 250 people a village instead of a hamlet. And we got a lot of them in a country which recently passed 5 million people :)

At least move hamlets out one level please. Currently it is showing at 15 and that is the same as locality, farm and neighborhood. I would think a hamlet is more important to show than these? It is supposed to be the name of a larger area than a farm.

I see a lot of places tagged as village that should have been a hamlet because of this.

@imagico
Copy link
Collaborator

imagico commented Nov 27, 2015

Moving the threshold for hamlets from 15 to 14 could work, needs testing though. There are right now very few low latitude areas mapped in rural areas to a similar density as central Europe.

The general problem of proper display of settlements in areas of different density will not be solved by this though. The incentive for tagging for the renderer will remain as illustrated by cases like:

http://www.openstreetmap.org/node/1249339989
http://www.openstreetmap.org/node/515065315
http://www.openstreetmap.org/node/3740127665

@Gazer75
Copy link
Author

Gazer75 commented Nov 27, 2015

Noticed doing a search with Overpass Turbo that there are a lot of hamlets that should have been set as farms in Norway. Currently almost 3k nodes with hamlet.

@Gazer75
Copy link
Author

Gazer75 commented Nov 28, 2015

Would also suggest giving hamlets a slightly bigger font size to set it apart from locality and farm. Something in the middle of village and the current size.

@matthijsmelissen
Copy link
Collaborator

Interesting blog related to this subject: http://www.justinobeirne.com/essay/what-happened-to-google-maps

@matkoniecz
Copy link
Contributor

Interesting blog related to this subject: http://www.justinobeirne.com/essay/what-happened-to-google-maps

Thanks, this was a really interesting article (though unlike author of this blog I think that labels are better after the change - though maybe the change went too far).

@NKAmapper
Copy link

I am supporting this proposal. A hamlet is supposed to be bigger than an individual farm or dwelling. (Same logic for neighborhood also.)

In sparsely populated northern countries most settlements will be village or hamlet, so at zoom levels <15 the entire map looks empty.

@kocio-pl
Copy link
Collaborator

Could you make some tests in different parts of the world?

@NKAmapper
Copy link

Testing rendering at 14? Would be happy to contribute but I have no idea how to do that...
I have just looked at various densely populated parts of Europe, and 14 seems to be possible.

@kocio-pl
Copy link
Collaborator

We have nice idea, now we need proof to know if it's really good. You can start by setting testing environment and reading about this style in general:

https://wiki.openstreetmap.org/wiki/Standard_tile_layer
https://github.com/gravitystorm/openstreetmap-carto/blob/master/DOCKER.md

I can help you with that and a code change is probably trivial, but testing takes time, so it needs somebody
who will do that.

@kocio-pl
Copy link
Collaborator

@rrzefox Would you be interested in applying this code change on your server?

This means just adding z15+ rules to all the other small placenemes and changing general zoom to z14+:

#placenames-small::hamlet {
[place = 'hamlet'],
[place = 'locality'],
[place = 'neighbourhood'],
[place = 'isolated_dwelling'],
[place = 'farm'] {
[zoom >= 15] {

@rrzefox
Copy link

rrzefox commented Apr 13, 2018

I have attempted to do this, but am not sure if I got it right (a PR from which I could have pulled the patch would have been helpful).

--- a/placenames.mss
+++ b/placenames.mss
@@ -368,11 +368,31 @@
     }
   }
 }

 #placenames-small::hamlet {
-  [place = 'hamlet'],
+  [place = 'hamlet'] {
+    [zoom >= 14] {
+      text-name: "[name]";
+      text-size: 10;
+      text-fill: @placenames;
+      text-face-name: @book-fonts;
+      text-halo-fill: @standard-halo-fill;
+      text-halo-radius: @standard-halo-radius * 1.5;
+      text-wrap-width: 45; // 4.5 em
+      text-line-spacing: -0.8; // -0.08 em
+      text-margin: 7.0; // 0.7 em
+    }
+    [zoom >= 16] {
+      text-size: 12;
+      text-wrap-width: 60; // 5.0 em
+      text-line-spacing: -0.60; // -0.05 em
+      text-margin: 8.4; // 0.7 em
+      text-fill: @placenames-light;
+      text-halo-fill: white;
+    }
+  }
   [place = 'locality'],
   [place = 'neighbourhood'],
   [place = 'isolated_dwelling'],
   [place = 'farm'] {
     [zoom >= 15] {

It does show different rendering, e.g. at
https://osm.rrze.fau.de/compare-osmfau-osmorg.html#zoom=14&lat=64.31564&lon=10.48396

@Gazer75
Copy link
Author

Gazer75 commented Apr 13, 2018

I've looked at other places with a lot more hamlets and other tags and it looks good to me. Text size could probably even be increased to 11.
https://osm.rrze.fau.de/compare-osmfau-osmorg.html#zoom=14&lat=58.09863&lon=6.9225

Use this one to find areas with hamlets in Norway: http://overpass-turbo.eu/s/xRl

Not sure if there are other countries close to the equator with a lot of hamlets. Due to the projection things might look different there.

@kocio-pl
Copy link
Collaborator

Are there some places where the hamlets could be potentially harmful, probably near some other, more important placenames? That would make perfect testing case.

@Gazer75
Copy link
Author

Gazer75 commented Apr 13, 2018

Is there no way to override it so that names for larger places get priority?

Found this area in France:
https://osm.rrze.fau.de/compare-osmfau-osmorg.html#zoom=14&lat=48.00344&lon=2.96545
That look pretty good to me. It look much more alive.
Problem here is that it looks like the farms are set as hamlets? No idea what system they have for this in France.

@NKAmapper
Copy link

Thank you for providing the test rendering.

I have checked many different areas now, in South and Central Europe as well as in Asia and America, and I have not been able to discover any rendering conflicts, including from place=village. By definition place=hamlet is a rural concept, so we are not getting into the problematic areas of
cities and suburbs.

The proposed rendering at z=14 works particularly well in hilly areas where perhaps no other place names would be rendered at this zoom, such as in this example from Italy:
https://osm.rrze.fau.de/compare-osmfau-osmorg.html#zoom=14&lat=44.08169&lon=10.9041
(Very few areas become as busy with hamlets as in this example.)

This change improved rendering in the North (Scandinavia, Northern Canada, Russia etc), but only a bit. I think perhaps the projection is the problem: One meter on the ground in Oslo or Tromsø is represented with a distance on the map which is 2-3 times longer than one meter in Italy.

Would you be interested in testing also place=neighbourhood at z=14? As with hamlets, neighbourhoods are supposed to represent bigger settlements than individual farms or dwellings. They are found in urban areas, though, so there could be more conflicts.

@kocio-pl
Copy link
Collaborator

I wouldn't try to change place=neighbourhood, but of course somebody could make some tests in urban environments. Hamlets however are OK for me. We don't have to change rendering priorities, because on this level we already know which larger place we're in. The test rendering looks proper.

Who is gonna to prepare hamlet code PR? It should be probably something like (but it should be tested of course):

   [place = 'hamlet'][zoom >= 14], 
   [place = 'locality'][zoom >= 15], 
   [place = 'neighbourhood'][zoom >= 15], 
   [place = 'isolated_dwelling'][zoom >= 15], 
   [place = 'farm'][zoom >= 15] { 
[zoom >= 14] { 

@Gazer75
Copy link
Author

Gazer75 commented Apr 15, 2018

Still think the text size could be increased to 11...

@kocio-pl
Copy link
Collaborator

OK, so please test it and show us the comparison.

@NKAmapper
Copy link

It would be great to have this issue concluded. I believe testing text size is missing. The rendering of place=quarter seems to be fitting quite well, perhaps that code could be reused for hamlet. I am unfortunately not capable of making the PR or technical testing (I have no idea what the various settings are doing).

@rrzefox Would you be interested in including place=hamlet in the place=quarter code on your server? I could then provide some test examples.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jan 8, 2019

I agree that hamlets should render earlier than locality, isolated_dwelling and farms. I also think hamlets should not render on z18 and z19, even here near the equator, but they can render at z17.

I tested combining hamlet with the same rendering used for quarter, but the large text did not look right, and hamlets need to render at z17 (while quarter stops at z16).

So I made a new version that starts at z14 and has text just 1 point larger than locality/isolated_dwelling/neighborhood at each zoom level. It's in the same layer as quarters, so it will not block the rendering of town or village names if they are too close.

I spot-checked the rendering in part of Northern Ireland, Wales, the Azores, Basilicata (Italy), Lebanon, Burundi, Belize, Costa Rica, East Timor, Papua and Yogyakarta (in Indonesia). Most of these have very few hamlets tagged. Costa Rica, Wales, East Timor and Papua have many: they seem to be more common in mountainous farming areas.

Wales:
z14 Trefin - after
z14-trefin-hamlet

z14 Stepaside - after
z14-stepaside

Italy
z14 Agromonte Mileo - after
z14-agromonte-mileo-hamlets

Costa Rica:
San Isidro, z14 - mountainous area with coffee farms
z14-san-isidro-hamlets

Sixaloa - banana plantations.
z14 after
z14-sixaola-hamlets

z14 current rendering:

  • Currently the names of the farms/plantations render but not the names of the hamlets
    z14-sixaola-master

Timor Leste: - 7 degrees south
z14
z14-timor-leste

Papua, Indonesia: - 5 degrees south
Soba:

  • I added these hamlets myself while visiting this area, so this data is good quality.
  • These are very close together on the map: z14 at this latitude (4 degrees south) is similar to z13 in northern Europe, so this is a worst-case scenario for this rendering.

z14 - Initial test with same rendering as Quarter (labels are a little too big in my opinion)
z14-soba-hamlets

z15 - new rendering, same as rest
soba-z15-hamlet2
z16 - new rendering
z16-soba-hamlet2
z17 - I believe they should render at this level as well (unlike quarters)
z17-soba-hamlet2

Syokosimo

  • I didn't add these myself, but this area is popular with trekkers. A couple of places are tagged as village that might actually be hamlets

z14 with hamlets
z14-syokosimo-hamlet2

z14 current rendering - no hamlets
z14-syokosimo-master

@NKAmapper
Copy link

Thank you! Seems good to me.

@jidanni
Copy link

jidanni commented Aug 11, 2020

It seems for this particular hamlet not rendering at zoom levels 18 and 19 does more harm than good.
Other layers keep it around through 21. Looks fine.

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