gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.53k stars 817 forks source link

Low-zoom: decide which features to render #2925

Closed matthijsmelissen closed 6 years ago

matthijsmelissen commented 6 years ago

Some features that we currently render for which we do not (yet) have a use case:

In which cases do we want to add use cases, and in which cases do we want to drop rendering?

CC @kocio-pl

matthijsmelissen commented 6 years ago

My opinion:

Province/state names and borders on z5

This really depends on the area. I guess we cannot avoid rendering for larger countries such as the US, and as we have no way to distinguish country size currently, we should render all borders.

Roads on z5

I'm in favour of dropping rendering.

National parks on z7

I'm in favour of dropping. I fail to see how the current rendering is useful for any purpose.

Railways on z7

I guess people who like tracing railway lines to see along which route they are travelling (including me) can zoom in one zoom level more. So I'd say drop.

Minor water areas on z5/6/7

Guess nothing we can do about.

matkoniecz commented 6 years ago

This really depends on the area. I guess we cannot avoid rendering for larger countries such as the US, and as we have no way to distinguish country size currently, we should render all borders.

documented in #2926

matkoniecz commented 6 years ago

My opinion:

Province/state names and borders on z5

It depends on location and I am tempted to introduce some form of hardcoding here. Where (except USA) showing internal division is useful?

Roads on z5

advocatus diaboli: it nicely shows population density (seee for example USA http://www.openstreetmap.org/#map=5/41.212/-95.010 )

but given that strongest argument is really weak - I think that it may be dropped

National parks on z7

I'm in favour of dropping since #1669. I fail to see how the current rendering is useful for any purpose.

Railways on z7

Here I would be against change. At this scale showing railway structure IMHO makes sense.

Minor water areas on z5/6/7

Depends on what one considers as minor. But given technical problems for now I will ignore this issue.

matthijsmelissen commented 6 years ago

Railways on z7

Here I would be against change. At this scale showing railway structure IMHO makes sense.

What is the use case? :)

matkoniecz commented 6 years ago

What is the use case? :)

Showing structure of railway network - but given that using "it is interesting for me" one may justify showing anything, from showing density of stork nests to showing capacity of bicycle parkings it is not a real usecase :(

kocio-pl commented 6 years ago

I have a general problem with fitting in the "use case" approach here. I think about natural areas as important general context, but they can be interesting in themselves (especially on low zoom levels), because my primary aim when looking at the map is to understand the space (is this a use case? I don't know).

I don't know how to answer the question like "what for would you like to see the river on the map"? I think that on z5-z7 we can have a minimal context as described, but having rivers, lakes, woods, farmlands (let's simplify things a bit assuming that they are natural), meadows, sands, deserts or ice makes it better. Speaking just about the context - for me road going through the forest is different than one going through farmlands or sands.

It's a also good to see mountain areas, even if we don't have tags for hillshading probably. So it's a different problem how much we want to avoid external sources - I would accept this exception, because it's out of OSM scope currently.

We should also examine West Coast (USA) - there are a lot of big military areas (use case - avoiding such areas when planning a route?) and nature reserves (use case - probably they are kind of big parks, like Yellowstone for example, so maybe looking for such places when planning a route?). They are already visible on z7, but there's so much of them, that they would be also visible on z5 and z6.

matthijsmelissen commented 6 years ago

to understand the space (is this a use case? I don't know).

Yes, absolutely! But probably it is possible to make it even more specific. Maybe something like 'Understanding what part of the area has legal protection' or 'Understanding what the area looks like' or 'Learning what are the important named toponyms'. By making the use case more specific, we can also be more specific in the rendering: is it important to show the boundaries of the individual nature areas, or perhaps just the boundary between protected and non-protected areas? Do we need the names? Or perhaps a different feature, like landcover, answers the question better than natural areas.

Of course this approach is also new for me, so we'll probably find out what works while we go.

(I wouldn't call this use 'context' though. If it was used as context, it would be more about learning things like 'the village is next to Yellowstone NP' or 'the museum is inside the national park').

matthijsmelissen commented 6 years ago

Showing structure of railway network

Would it be possible to make that more concrete too? Why exactly do we want the structure of the railway network? What can it teach us? I don't know the answers myself either, btw.

matthijsmelissen commented 6 years ago

advocatus diaboli: it nicely shows population density

In well-developed areas, yes. If we want to show population density, I guess we should show it in a different way.

kocio-pl commented 6 years ago

OK, I will try to make it as specific as I can.

(I wouldn't call this use 'context' though. If it was used as context, it would be more like finding out things like 'the village is next to Yellowstone NP' or 'the museum is inside the national park').

For me it's both subject and the context, depending on a current view:

  1. When I want to see what's the dominating form on land on z5-z7, natural areas like mountains or sand are the subject, while the land/water borders (like continents and oceans) are the context.

  2. But when I look at USA or China and I notice that west parts of both countries are visibly less populated than east ones, the mountains and deserts are the answer ("population of this continent lives mostly away from high and dry areas").

pierzen commented 6 years ago

As was said previously, we should not have the same rule for large territories and dense populated Europe. In less populated territories, Borders and important infrastructures should be rendered from Z5. This includes Major Roads, railways, National Parks, Dams and Major electric lines. A comparison at zoom level 5 between the «Blank Map» for east of Canada and the dense network of roads for Europe speaks by itself. I will speak of a territory where I did a lot of mapping, North of Quebec. This is a very low population density territory, with hydro-electric dams, Major Power lines, mining sites, railways, nature activities and some major roads. A few villages and airports are spread mainly around the north sea and the major economic activities.

matkoniecz commented 6 years ago

we should not have the same rule for large territories and dense populated Europe. In less populated territories

It is an old idea where main problem is that nobody has a good idea how to implement that. It is tracked in #1957 (and it should not be discussed in this issue)

pierzen commented 6 years ago

Ok if I follow you, Well let's keep territories like Canada a «Blank Map», a no «OSM territory».

matthijsmelissen commented 6 years ago

For areas like Canada, major railways (based on length ?) should be rendered at z5

Could you please expand a bit on why they should be kept according to you?

pierzen commented 6 years ago

For railways and airports, we should use the same arguments as major roads. Why do we keep these at lower zoom? Because they are the major way to circulate. In case of low density territories, the only access to some part of the territory is by railway or airplane. We need rules that adapt to various types of territory. General rules like the actual ones do represent well the western europe, but Europe is not representative of other parts of the global map.

kocio-pl commented 6 years ago

General rules like the actual ones do represent well the western europe, but Europe is not representative of other parts of the global map.

Of course, but please note, that it's also true for Canada - in fact, no part of the world is representative for the whole planet. The world is not uniform, hence there will be always problems. And it's one thing to have policy how should it look like (and I share your concerns), but the other how to achieve it and this is where we stucked.

Resolving #1957 is the only hope to make a change. Until we know how exactly make a difference (PR would be preferable), I wouldn't like to apply such policy, because urban areas would be unreadable at the cost of nice rural areas.

kocio-pl commented 6 years ago

I like the subject of this issue, as it moves us forward, but the proposed method still feels foreign to me.

Roads on z5 I'm in favour of dropping rendering.

Railways on z7 I guess people who like tracing railway lines to see along which route they are travelling (including me) can zoom in one zoom level more. So I'd say drop.

The weakness of the use cases is it does not tell us what zoom level would be good for them. We can only say they are useful for route planning, to see the transportation network overview and that they're general enough to be on this map - just not when to start showing them. But we already know that we want to show them somwhere.

For me it's still the old good "they are too dense/visible in some places" (roads) or "they're not visible enough anyway and just add some clutter" (railways) which works better. I guess you're right with roads and railways, but use cases don't explain why roads should be visible on z6+ while railways on z8+.

National parks on z7 I'm in favour of dropping. I fail to see how the current rendering is useful for any purpose.

So what's the use case for national parks at all? For me it's that they are big and are related to leisure in some cases. But the size is different and some of them really look well on z7 even individually (and can still be visible as a group on z5+, I guess). Lack of use case would rather mean to drop rendering them at all, not just "show them later" (I know that we're testing limited zoom level range).

My take: if we have something other to show here, we might move parks later, so it depends on what we have tagged and we know how to show it. BTW: maybe if we have more background, roads would stop dominating the space and should stay on z5+? It's also more context related than use casing shows.

matthijsmelissen commented 6 years ago

the proposed method still feels foreign to me.

As I said, this is also a new approach for me, so if it doesn't work out we'll find out soon enough...

The weakness of the use cases is it does not tell us what zoom level would be good for them.

Maybe in this particular case yes, but for the roads I think it was quite useful. We can be quite sure that we won't start planning routes on z5.

The disadvantage of the 'too dense' method is that we're trying to render as much as possible ('cram as much as possible in the map') without considering whether the information we're giving is useful. A map that is not filled with information as much as possible might be better legible.

The difference between roads and railways, in my opinion, is that road users will base their itinerary on the map, while railway users probably will base their itinerary on an (online) route planner. For example, somebody travelling from Warsaw to Krakow cannot / will not use the map to see if he should travel over Radom-Kielce, Wlosczowa or Piotrkow-Trybunalski (at least with the current state of the map, where we don't distinguish between long-distance railways and others). The same holds in Canada for somebody travelling from Winnipeg to Saskatoon for example.

On higher zoom levels, like from z10, using the map for train route planning seems to work better. For example, for any of the towns villages around Warsaw visible on z10 it is clear by which train line how to get there.

So what's the use case for national parks at all? For me it's that they are big and are related to leisure in some cases. But the size is different and some of them really look well on z7 even individually (and can still be visible as a group on z5+, I guess). Lack of use case would rather mean to drop rendering them at all, not just "show them later" (I know that we're testing limited zoom level range).

Some usecases could be 'Trying to find a known famous nature reserve', 'Understanding what the area is used for'. Probably you wouldn't look for the Kampinoski national park at z7, and knowing there is a national park east of Warsaw is not very relevant at that zoom level either. However, at z10, it is very interesting to know that there is a large national park there. That leaves z8 and z9 as zoom levels to be discussed. In short, I don't agree that usecases cannot help us to decide on zoomlevels.

BTW: maybe if we have more background, roads would stop dominating the space and should stay on z5+? It's also more context related than use casing shows.

Yes, I think that's a very good point. Another way to see it: the amount of map subject matches the amount of map context. It doesn't make sense to render subject for which we have no context (all railway lines in Germany at z7 of which you have no idea where they lead to, or all national parks in Poland on z7).

This is basically the same as the external link we had earlier about not rendering roads for which we don't render the cities they connect, versus rendering cities without showing the relevant roads.

kocio-pl commented 6 years ago

Maybe in this particular case yes, but for the roads I think it was quite useful. We can be quite sure that we won't start planning routes on z5.

Of course. My use case would be "transportation network overview" (this not hypothetical - I really do it, similar to what Mateusz said about road network).

Another way to see it: the amount of map subject matches the amount of map context. It doesn't make sense to render subject for which we have no context

:+1: - it's a very useful general rule.

matthijsmelissen commented 6 years ago

I have updated the USECASES file based on the last merge (as it's a meta file, let's update it directly and not work with PR's. We could perhaps also consider using an issue to track the info in the file).

I added some last things on which we need to decide whether we have a usecase:

matkoniecz commented 6 years ago

let's update it directly and not work with PR's

I think that PRs are better, but even if we switch to direct changing I prefer to ask

Long distance road trip planning | Motorways

I think that trunk roads also should be here - in countries without motorways trunk roads are (supposed) to form network of the most important roads, forming basic road network.

matkoniecz commented 6 years ago

Military areas on z7

Where one may see them on z7? I found USA, Russia-Finland border and Russia ( http://www.openstreetmap.org/#map=7/59.809/29.465 )

matthijsmelissen commented 6 years ago

I think that PRs are better, but even if we switch to direct changing I prefer to ask

Fine.

Where one may see them on z7?

There's also one in the baltic between Sweden and Poland, and one in western Canada.

matthijsmelissen commented 6 years ago

As we don't render any landcover features on z6/z7, I'm considering removing glaciers and icesheets from z6/z7.

kocio-pl commented 6 years ago

I have added it (together with other natural and semi-natural objects) as a use case in #2946, so it depends if we accept it and how long could it take.

matthijsmelissen commented 6 years ago

Rendering of (inland) ferries leads to a lot of noise on z7, while the ferries are not really detectable otherwise.

This is the Rotterdam area (ferries only), z7:

screen shot 2017-11-12 at 21 46 28

You can see the same effect in the Swiss' lakes.

kocio-pl commented 6 years ago

I don't think this has anything to do with use cases. But I also don't know what is the problem exactly? We might probably just cut short lines (way_length?), but there are some other legitimate and easy to see short ferry lines.

matthijsmelissen commented 6 years ago

Is there a reasonable usecase for ferry routes on z7? I would be happy to remove them altogethr from this zoomlevel.

matthijsmelissen commented 6 years ago

Some areas where the amount of water is currently a bit overwhelming / giving more information than useful and distracting from the useful information:

screen shot 2017-11-20 at 12 58 18 screen shot 2017-11-20 at 12 58 11 screen shot 2017-11-20 at 12 57 48
kocio-pl commented 6 years ago

Is there a reasonable usecase for ferry routes on z7? I would be happy to remove them altogethr from this zoomlevel.

I don't feel they are visual problem (only Baltic Sea area can be seen as such), but moving them later won't be a problem for me.

kocio-pl commented 6 years ago

Some areas where the amount of water is currently a bit overwhelming / giving more information than useful and distracting from the useful information:

The question is - what filter do we want to use and up to which zoom level?

matthijsmelissen commented 6 years ago

The question is - what filter do we want to use and up to which zoom level?

Good question. I created #2952 and will respond there.

kkofler commented 6 years ago

How is displaying less information an improvement? And why is planning long-distance road trips a use case, but planning long-distance train trips not? (Relying exclusively on the train company's routing algorithm is not going to work, their routing software will just time out if you ask it to compute long routes without splitting at suitable points.) Major railroads ought to be shown at a lower zoom level. I know that OSM is historically the OpenStreetMap, but it has grown into mapping much more than just streets and the focus exclusively on streets is unhelpful. Going by train is nicer to the environment than going by car or plane.

polarbearing commented 6 years ago

There are map styles specialised on public transport. When it comes to routing, which is not an issue for the carto style here, railways are significantly different from road routing, as they depend on schedules and connectivity. The bugs in railway provider's routing engines are also irrelevant for this style.

matthijsmelissen commented 6 years ago

And why is planning long-distance road trips a use case, but planning long-distance train trips not?

I commented on that here: https://github.com/gravitystorm/openstreetmap-carto/issues/2925#issuecomment-342471121

matkoniecz commented 6 years ago

How is displaying less information an improvement?

Displaying too much, especially unimportant data is not useful and harms display of important information. This discussion is about deciding what should be classified as unimportant and what as important.

matthijsmelissen commented 6 years ago

As we decided on these issues now, I am going to close this issue.