-
Notifications
You must be signed in to change notification settings - Fork 829
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
Render name labels of bays and straits from z14 only, lakes from z5 only #3750
Conversation
I support this but it is clear that we need to establish consensus on the matter before this can be merged. As a point for discussion: A theoretical alternative to removing the way_area based labeling decisions would be to actually render the geometry by drawing things in a different color than the ocean. This would provide feedback on the geometry and thereby address some of the arguments against using way_area. I would be against this since (a) it is bad cartography even with accurate and verifiable mapping and (b) it would still render bays and straits fundamentally different depending on how they are mapped which is not desirable IMO. I like to clarify one thing regarding:
I have not made any promises that i will actually write code for that. What i have said is that this is possible to do, most experienced developers here would be able to do this (put the coastline data and the bay/strait features into a temporary PostGIS or spatialite database and do some processing). Anyone who wants to work on something in that direction is welcome to ask for advise on specific practical questions. But independent of the question of implementation we would need to decide on if we want to actually have something like that in this style. This we would need to discuss based on a specific proposal that can be tested. I think this would probably be a good test case for trying the fundamental idea and evaluating the practical effects of it but I would not be in favor of connecting a decision on this PR with a definite forward promise to make this decision in a certain way in the future. |
Sorry, I'm not sure why I thought there was a plan to develop the script. Wishful thinking perhaps? I've edited the original comment. Should I open a specific issue to discuss preprocessing the bay, sea and strait nodes in this way? |
👍 - does not change current rendering, but helps to prevent vandalism in a sane way, so I'm OK with that
👍👎 - I'm OK with rendering them later, as they typically have less land borders, but since they can be quite big, I vote for z7+ to avoid looking for labels on the water (this way even biggest ones will be still detectable with the land still in sight)
👎 - I'm against both dropping area rendering and way_area (at least for now) In short: the main reason is there are more problems with big (especially global) objects and with water objects in OSM. The discussion on tagging is currently open, but is far from being resolved, so I believe the most responsible action is not to decide now how to change rendering and wait for the outcome. A bit longer: these problems are really general and verifiability of nodes or lines is questionable as well. For small objects it is not that painful, but for global objects local knowledge does not really apply - the area shape can be fuzzy, the line can have unreliable ends and shape and position of node can differ by many kilometers. Since their size may vary, I would not remove rendering for dots and oppose rendering ways (if they are small enough we can reasonably round the area down to the line or node), but for larger ones using nodes is abusing the simplification - this way or another you start with some shape to find the middle of the object (at least to know you really put it inside), so it's better to show it instead of hiding the problem (this is exactly making it less verifiable IMO). There could be different solutions to this - maybe global objects would be banned from OSM (but then geometry doesn't matter anyway), maybe there will be some special rules to cover such special cases - who knows? Maybe we would define bays and straits in a different way, so there would be more clear how to tag them. Yet it's too early to know and act, it needs some time to settle and let people decide with both discussion and practice. |
@kocio-pl - for understanding your position: Would you be fine with keeping the way_area logic but introducing in addition a cap of way_area at 270000 (i.e. any polygon larger than this is interpreted to have only this way_area)? That would remove the incentive to mappers to draw labeling polygons for straits and bays to make them show up at the zoom level they desire since bays/straits mapped with nodes or linear ways are not shown later than ones mapped with large polygons then. |
I'm not sure if I understand you properly, so I'll try explain this way: I'd like to keep the way_area logic to retain a sense of size (since this gives better feedback than removing it), but the initial zoom level is moved so they start showing later when zooming in. |
Which is exactly what a cap on the raw way_area value would do. A way_area of 270000 is approximately 3000 way_pixels at z14. |
Place=island text labels are first rendered at z4. None of the other text labels in this layer are rendered earlier now
The thing is, the way_area logic currently only works at zoom levels below z14. Small bays currently all render at z14 no matter how small they are. That's why I just removed the Can anyone confirm if the |
Current way_area logic for bays and straits can be found in: Lines 342 to 368 in b117a29
That means the zoom level threshold is disabled at z17+ but the zoom level logic for the label size is the same at all zoom levels. |
That's what I thought, but when I did test renderings of Waikoka pond (the smallest "bay" or probably an estuary in Hawaii), it still rendered on z14. (I think you are correct about straits). Here's a screenshot from openstreetmap.org: z18 with the closed way selected: I believe these lines in the openstreetmap-carto/amenity-points.mss Lines 2524 to 2538 in b117a29
|
I added another commit which changes the |
Ah, yes, there we have some chaos in the code that needs to be cleaned up - there is also Lines 372 to 389 in b117a29
So all together three different variants in two different files with rules that overlap in application. All the more reason to remove the way_area logic - since it is not working consistently at the moment anyway. 😉 |
Ah, who added that! How careless. Let me check git blame ... Oh, I did it. Oops. So the current initial zoom level for both straits and bays mapped as polygons is:
That is, currently they are rendered as early as z0 if they are mapped as polygons that take up more than approximately 3000 square pixels on the screen. But at z14 and higher all bays and straits are rendered no matter what size. Nodes are also rendered at z14 and above. (Straits mapped as linear ways are rendered at z14 and above, but bays mapped as linear ways are not yet rendered; I'll fix this soon) |
@kocio-pl said "I vote for z7+ to avoid looking for labels on the water ... I'm against both dropping area rendering and way_area". The PR does not propose stopping rendering straits or bays mapped as areas (that is, those mapped as closed ways or multipolygon relations and imported as polygons). As far as rendering, there is not any area fill or outline rendering for bays and straits currently. Do you mean you think it should still be something like this for natural=strait and natural=bay?
The problem with this code is that it has been pushing mappers to change the mapping of large bays, straits and seas. As of March 2018, 1 year ago, the majority of all seas, bays and straits were mapped as nodes. But in the past year the number of natural=bay relations has increased from 2,000 to almost 5,000, while the number of natural=bay nodes only increased from 45k to 46k. Relations tagged natural=strait increased from 290 in March 2018 to 945 now in April 2019, while nodes increased only slightly. In early 2018 there were over 120 place=sea mapped as nodes and less than 20 mapped as relations. Now there are 68 place=sea nodes and 63 place=sea relations: the total number of mapped seas has not changed, but nodes are being replaced with polygons and being double-tagged with "natural=bay". Notice how stable the tagging was for many years until the past 6 months: We shouldn't be discouraging mappers from using nodes or ways for large bays and straits by only rendering the labels for those mapped as areas at low zoom levels. |
Sorry for editing your posts - I've just added missing "`" in both because formatting was broken and I had hard time reading it. The problem with nodes is that they lack information about size, which can vary a lot, so their rendering is trimmed to the lowest common size and I have found no way to improve it currently. That is the cost of avoiding area geometry for describing areas - some additional information is needed anyway (for example for cities we use population data to rank them). For small bays it works, but for big ones it doesn't. If there was tagging type which can differentiate small bays from big ones, it could be easier even on nodes, but I'm not aware of this. |
Thanks! Sorry about that
The coastline is already there, and we can compute the distance from the node to the coast to find out approximately how to render the strait or bay (or sea). Above: "this is possible to do, most experienced developers here would be able to do this (put the coastline data and the bay/strait features into a temporary PostGIS or spatialite database and do some processing). " #3750 (comment) The alternative is that we could add a darker outline for bays and straits so that mappers would know when they were incorrectly drawn as a rough sketch instead of along the coastline. But I don't think this would work for seas, and it will look not so great. I'm quite concerned that seas are being double-tagged as bays and redrawn as polygons, eg: the Bothnian Sea has been mapped as a node for over 7 years as place=sea - but this doesn't render yet: https://www.openstreetmap.org/node/1195287427 But now there is a "Gulf of Bothnia" relation made of just 2 ways roughly drawn 5 months ago: https://www.openstreetmap.org/relation/9048256 |
Note the idea of avoiding area geometry for describing areas is somewhat misleading here. A polygon (closed way or multipolygon relation in OSM) is just a way of defining a two dimensional entity (an area) through an explicit representation of its outline. It is not that mapping a bay or strait with a node or linear way typically lacks significant information about the feature in question, that information is already available in form of the coastline geometry. It is just that in our rendering toolchain that information is not readily available for making rendering decisions. As @jeisenbe explained with #3438 and #3144 we have created an enormous incentive for creating polygons to represent bays and straits but provide no feedback on the geometry of these polygons. This has led mappers to create thousands of polygons, many of which they would not have created without this incentive. This is something we should not do - no matter how convenient it is for us within the technological framework we have chosen. Note it is not that for small bays there is any less need for decent importance rating and label placement than for large bays. In a zoomable map this is a completely scale independent problem. It is just that at higher zoom levels the problem is more hidden and can be ignored more easily than at low zoom levels. If we can't achieve consensus on not using way_area any more for labeling decisions for bays and straits at z<14 i would - as already indicated - propose to explicitly display the geometry of bay and strait polygons for providing proper mapper feedback on these geometries. I don't really like that but it would be much better than the status quo. It might be a solution to the equal dissatisfaction of everyone. |
Sorry for not being too verbose - I still have not too much time and energy. You both pointed out a lot of interesting problems I'd like to talk about or ask about details, but it looks like this PR is a "fork bomb". 😉 So I would like to propose:
Anything that could make this problem less complex would also help, do you have some ideas? Some background (I doubt it will close the discussion, but I believe it can at least clarify a bit my views):
|
@kocio-pl - i try to understand the long term strategy behind your suggestions. You seem to insist on maintaining making the decision at which zoom level to start labeling a bay or strait mapped with a polygon from way_area - which is the central idea of this PR to abolish. If that is not the case please say so - consensus hinges on this here so it is important not to have misunderstandings on the matter. But apart from that you indicate to support improving the labeling of bays/straits mapped with nodes - which based on the discussions about this we had so far would mean pre-calculating an importance rating for them using the coastline data to select the starting zoom level based on that. What i am not sure about is this: If such a method is developed and if we achieve consensus to use it in this style if you'd want to use it for nodes only, that would mean still keeping the way_area logic for polygons while rendering nodes with a completely different system in parallel or if you then would be fine with abolishing the way_area logic and labeling both nodes and polygons using the same pre-calculated rating for selecting the starting zoom level. |
I've updated this branch to fix a merge conflict. It would be good to have input from the other maintainers. I see 3 possible long-term solutions:
|
@imagico My long term strategy is to balance the gains/problems with each geometry choice, since I see no perfect solution for this problem. I find using way_area for water objects pretty natural. If we find a way to prioritize water objects, I would use it to make sure that parts are never rendered before the whole objects, so it's rather about initial zoom level, not taking away the sense of object's scale.
|
I don't understand this comment. EDITED: Oh, I think I see my mistake. I changed the text above to clarify: the rendering of name labels for areas should not depend on the With this PR, bays and straits would be rendered the same whether they were mapped as nodes or areas: they would get a name label at z14, on the center of the polygon or node. Currently there is a special rendering for bays and straits that are mapped as polygons which allows them to be rendered at lower zoom levels and with larger text.
This isn't necessary to show the geometry, because the name label is centered exactly over the node, so if you zoom in to z19 it shows the location of the node quite precisely. This is the same situation with place=village/hamlet: we just render the name.
This PR would not favor bays or straits that are mapped as nodes. They would get an identical rendering to those mapped as areas. Currently it is those that are mapped as areas that are favored by the special rendering. I'm mentioning seas because they are quite similar to bays, and some seas (Baffin Bay, the Bay of Bengal) are even named "X Bay" in English, or "X Gulf" (eg. Gulf of Mexico). If we render bays as soon as z5 when mapped as an area, then we also need to render seas in this way. It's rather inconsistent to show the Bay of Bengal but not the equally large Arabian Sea on the other side of India. |
@kocio-pl - i still don't understand your position. You write I'm all for improving rendering nodes and i am trying to understand what you mean by that. Does this mean you are only for improving rendering of nodes but insist on keeping the way_area logic (and thereby direct mapper control over the labeling) for polygons? This is a pretty fundamental question regarding this matter. 👍 on 1. |
Yes, that's what I mean. |
Seas and oceans have two huge problems with regard to rendering, which make them different enough:
That's why I would keep them in separate tickets. |
OK, I guess I'll open a new PR to add the outlines and a separate PR
to render lakes from z5 only?
…On 6/17/19, kocio-pl ***@***.***> wrote:
Closed #3750.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#3750 (comment)
|
Yes, please. In a matter of fact I consider such complex PRs to be a problem and prefer smaller ones, which are easier to test and apply. |
@kocio-pl - in issue #2068 it was clear that @imagico opposed PR #3144 (which rendered bay areas sooner) but the PR was merged without discussion only 1 day after it was opened. Perhaps we can reconsider whether a lack of consensus for the original changes in #3144 should mean that the change should be reverted, as in #3955 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with these changes, but would like to see a rebase before giving an approving review.
@jeisenbe would you have a chance to rebase this PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I figured out how to resolve the conflicts, it wasn't too bad
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Checked that this works as intended.
As already indicated above in #3750 (comment) i support this.
This also resolves #4546.
The entire water names section of code could use cleanup. |
…tended by the PR
commit d4d79f6b2463fa10db12104b32ced01d47b04319 Merge: ce36bab3 4a9b5a6 Author: dch0ph <[email protected]> Date: Sun Jan 19 13:06:39 2025 +0000 Merge remote-tracking branch 'upstream/master' commit 4a9b5a6 Author: Nick Doiron <[email protected]> Date: Thu Jan 16 14:45:57 2025 -0600 Replace current font download with Python script (gravitystorm#5052) * recommend python script * Python script to replace current downloads * clarify messages / comments * remove constants not useful for current repo * include Docker startup update commit 248b72d Author: dch0ph <[email protected]> Date: Thu Jan 16 20:41:58 2025 +0000 Additional access marking (gravitystorm#5049) * Restricted marking for motorway/trunk/primary * Add access marking for highway=pedestrian * Update functions.sql highway=pedestrian should support restricted access * Change pedestrian access marking colour Change pedestrian access marking colour to common light shade of grey. Also consolidate names. commit adff4bd Author: dch0ph <[email protected]> Date: Thu Jan 16 20:41:22 2025 +0000 Move leisure=track and attraction=water_slide (gravitystorm#5046) leisure=track and attraction=water_slide moved to layers at more appropriate positions in stack Minor optimisation of post-road layers Tweak of SQL ford query commit ce36bab3ad31b946072319dc65e1585819c7c306 Merge: 2a206fa5 5791e79 Author: dch0ph <[email protected]> Date: Wed Nov 27 17:28:16 2024 +0000 Merge remote-tracking branch 'upstream/master' commit 5791e79 Author: Marcos Dione <[email protected]> Date: Wed Nov 27 17:28:19 2024 +0100 5033 roads bridges tunnels queries (gravitystorm#5035) * Do not calculate surface for railways. * Name the value for access in railway branch. * Do not calculate service for railways. * link is always null for railways. * preserved is always null for roads. * All other CASE statements are not parenthesized. * Alignment. * Documentation. * Documentation. * Copy roads_sql subqueries to tunnels. * Copy roads_sql subqueries to bridges. * Spurious spaces. * Duped SELECT. * changing column name from access to int_access --------- Co-authored-by: imagico <[email protected]> commit 6164c07 Merge: 81d39e0 c9ee914 Author: Christoph Hormann <[email protected]> Date: Mon Nov 11 21:07:02 2024 +0200 Merge pull request gravitystorm#5042 from gy-mate/fix-reference Fix `generate_road_colours.py` reference in `INSTALL.md` commit c9ee914 Author: Máté Gyöngyösi <[email protected]> Date: Fri Nov 8 18:17:05 2024 +0100 Fix `generate_road_colours.py` reference in `INSTALL.md` commit 81d39e0 Author: Máté Gyöngyösi <[email protected]> Date: Thu Nov 7 14:32:25 2024 +0100 Improve install instructions: package name, commands, links & formatting (gravitystorm#5040) * Add command for installing Python libs per PEP 668; correct `yaml` package name * Update INSTALL.md * Update INSTALL.md commit 2a206fa5138105eda919eb3b2cfa571f76b0e1cf Merge: 9c254260 d2a8ebf Author: dch0ph <[email protected]> Date: Fri Nov 1 18:26:33 2024 +0000 Merge remote-tracking branch 'upstream/master' commit d2a8ebf Merge: d9ea31c 52126f9 Author: Paul Norman <[email protected]> Date: Sat Oct 26 11:30:43 2024 -0700 Merge pull request gravitystorm#5030 from pnorman/maintainer Step down as maintainer commit 52126f9 Author: Paul Norman <[email protected]> Date: Sat Oct 26 11:24:06 2024 -0700 Step down as maintainer commit d9ea31c Merge: 491bd4a e47a438 Author: Christoph Hormann <[email protected]> Date: Sat Oct 26 15:50:48 2024 +0300 Merge pull request gravitystorm#4978 from joto/switch-to-flex Flex version of the osm2pgsql configuration commit e47a438 Author: Jochen Topf <[email protected]> Date: Sun Jul 7 18:24:43 2024 +0200 Remove outdated Lua test scripts They don't work any more with the new flex Lua output. And they are have not been maintained anyway. commit adc5f50 Author: Jochen Topf <[email protected]> Date: Sun Jun 16 10:28:54 2024 +0200 Switch to flex output This commit does the actual switch to the new flex config. It removes the old config files and updates the documentation and various scripts. commit d22111f Author: Jochen Topf <[email protected]> Date: Thu Feb 15 20:47:48 2024 +0100 Flex version of the osm2pgsql configuration This commit contains one file with an osm2pgsql configuration for the flex output that can be used instead of the old configuration for the pgsql output. It replaces the openstreetmap-carto.style and openstreetmap-carto.lua files. The configuration is nearly 100% compatible to the old one. The database layout will be exactly the same with just very little changes. The id columns (`osm_id`) and geometry columns (`way`) on all tables will get the NOT NULL flag when using the flex output. These have always been NOT NULL in practice anyway. The content of the database will be the same with only minor irrelevant differences. Run like this: osm2pgsql -O flex --style openstreetmap-carto-flex.lua -d gis ~/path/to/data.osm.pbf commit 491bd4a Author: imagico <[email protected]> Date: Thu Oct 17 12:30:15 2024 +0300 Updating changelog for v5.9.0 commit 49e5c27 Author: Jacob Wysko <[email protected]> Date: Wed Oct 16 09:08:03 2024 -0400 Render `leisure=dance` (gravitystorm#4996) * Render leisure=dance * Improve dance icon commit fbb0fb0 Author: dch0ph <[email protected]> Date: Wed Oct 16 14:04:56 2024 +0100 Rendering specific access tags (gravitystorm#4952) * Interpret additional access tags mode specific access tags relevant to primary mode of highway interpreted to determine access marking for: Road types (motorcar > motor_vehicle > vehicle) Footway (foot) Cycleway (bicycle) Bridleway (horse) * Function load in CI * Add carto_path_primary_path * Moving customers, permit Following discussion moving: access=customers -> "restricted" marking access=permit -> "no" marking * Major changes in response to comments Functions renamed for clarity Changed logic for mode-specific tags, only ignoring 'unknown' values unknown access type return for unknown/uninterpretable path promoted to cycleway/bridleway in SQL rather than MSS * Use foot primary mode for highway=pedestrian * Typo fix * Remove incorrect END statements * Fix regression on introducing explicit unknown * Fix regression for highway=path * Alter 'destination' outcome for 2-state access 'destination' on path / footway etc. interpreted as 'yes' (matching current behaviour) * Simplify functions.sql Reduce number of functions Tidy comments * Tidy access functions Consistent formatting of CASE/WHEN Use more idiomatic COALESCE(NULLIF(...),) * Update functions.sql Change argument name accesstag -> accessvalue Improve documentation Simplify logic for promoted paths * Remove obsolete comment from MML * Avoid unknown overload Return "unrecognised" rather than "unknown" if access restriction is not one of recognised values * Extend code comments Note on short-circuiting logic in carto_highway_int_access * Fix broken bridge on path Bridge not being rendered on highway=path commit 23b1cfa Merge: 84c844d 369c81a Author: Paul Norman <[email protected]> Date: Sun Jul 7 02:37:01 2024 -0700 Merge pull request gravitystorm#4988 from BubbaJuice/jewellery Removing shop=jewellery commit 369c81a Author: e <[email protected]> Date: Tue Jul 2 14:44:29 2024 -0700 Revert reformatting of lines commit 2c44a11 Author: e <[email protected]> Date: Tue Jul 2 11:22:15 2024 -0700 Removing shop=jewellery commit 84c844d Merge: 91f11ec 0b9784f Author: Paul Norman <[email protected]> Date: Thu Jun 13 08:24:38 2024 -0700 Merge pull request gravitystorm#4965 from hiddewie/preserved-railway Render `railway:preserved=yes` as preserved railway commit 0b9784f Author: Hidde Wieringa <[email protected]> Date: Tue May 21 21:01:27 2024 +0200 Fix specific preserved check in railway name layer commit 5908225 Author: Hidde Wieringa <[email protected]> Date: Sat May 11 11:21:32 2024 +0200 revert whitespace commit 8b0385c Author: Hidde Wieringa <[email protected]> Date: Sat May 11 11:19:40 2024 +0200 low zooms: do not render preserved railways commit 9d615b7 Author: Hidde Wieringa <[email protected]> Date: Sat May 11 11:09:27 2024 +0200 low zooms: do not query preserved railways commit f2fbd89 Author: Hidde Wieringa <[email protected]> Date: Fri May 10 21:21:05 2024 +0200 simplify changeset commit 41e0508 Author: Hidde Wieringa <[email protected]> Date: Fri May 10 21:12:46 2024 +0200 ensure color syntax is aligned commit 5bc5e38 Author: Hidde Wieringa <[email protected]> Date: Fri May 10 20:53:55 2024 +0200 Simplify railway preserved check commit d75fa6f Author: Hidde Wieringa <[email protected]> Date: Fri May 10 20:50:57 2024 +0200 revert some trailing whitespace commit 0581639 Author: Hidde Wieringa <[email protected]> Date: Fri May 10 09:41:00 2024 +0200 No longer railway preserved as railway=rail commit aaf5fe2 Author: Hidde Wieringa <[email protected]> Date: Thu May 9 22:11:09 2024 +0200 ignore rail=preserved in ordering function commit 758c240 Author: Hidde Wieringa <[email protected]> Date: Thu May 9 22:07:01 2024 +0200 Tweak color prominence and ensure tunnels do not render preservedness commit 2935f72 Author: Hidde Wieringa <[email protected]> Date: Thu May 9 17:25:10 2024 +0200 Render preserved railways and tram style only from z15 commit 3170c0d Author: Hidde Wieringa <[email protected]> Date: Wed May 8 22:26:30 2024 +0200 align colors a bit better with existing line colors commit 7d86ded Author: Hidde Wieringa <[email protected]> Date: Wed May 8 22:18:48 2024 +0200 Fixup railway line widths commit 992a6fc Author: Hidde Wieringa <[email protected]> Date: Wed May 8 22:03:31 2024 +0200 improve rendering for edge cases commit 0b723b2 Author: Hidde Wieringa <[email protected]> Date: Wed May 8 21:41:13 2024 +0200 Ensure all types of railways have styles aligned commit 6062c94 Author: Hidde Wieringa <[email protected]> Date: Wed May 8 21:18:32 2024 +0200 include more railway tags to allow `railway:preserved=yes` commit 5b2c452 Author: Hidde Wieringa <[email protected]> Date: Mon May 6 22:02:36 2024 +0200 Render preserved with new rules commit 5ae7128 Author: Hidde Wieringa <[email protected]> Date: Mon May 6 20:58:54 2024 +0200 Render railway=preserved as railway=rail commit 1cf246b Author: Hidde Wieringa <[email protected]> Date: Sun May 5 12:55:53 2024 +0200 Take only railway=rail commit 38bd0dc Author: Hidde Wieringa <[email protected]> Date: Sun May 5 12:33:26 2024 +0200 Ensure railways with railway:preserved=yes render as preserved railways commit 91f11ec Author: Maik Busch <[email protected]> Date: Tue Apr 16 23:08:27 2024 +0200 Use common Quotes for Columns (gravitystorm#4940) commit 9c254260f037f448c089d07a1557956f8688f8f1 Merge: 4a777724 3672c45 Author: dch0ph <[email protected]> Date: Fri Apr 12 20:36:13 2024 +0100 Merge remote-tracking branch 'upstream/master' commit 3672c45 Author: Maik Busch <[email protected]> Date: Tue Apr 2 20:16:23 2024 +0200 Use common Single Quotes for Strings (gravitystorm#4939) * Use common Single Quote for Strings * Update CONTRIBUTING.md commit 9fc6ed4 Author: dch0ph <[email protected]> Date: Sun Jan 21 10:46:54 2024 +0000 Render barrier=jersey_barrier (gravitystorm#4923) Render barrier=jersey_barrier on ways as default barrier, i.e. same as wall, fence. commit 4a777724b2b386a4af23bbed4ef393e9ef9c0edc Merge: e06ea3c1 50e7457 Author: dch0ph <[email protected]> Date: Wed Jan 10 21:14:29 2024 +0000 Merge remote-tracking branch 'upstream/master' commit 50e7457 Author: dch0ph <[email protected]> Date: Mon Jan 8 16:39:51 2024 +0000 Restore reef name rendering (gravitystorm#4918) commit 258d354 Author: sommerbe <[email protected]> Date: Sun Dec 24 16:49:09 2023 +0100 Adding shop symbol: hearing_aids (gravitystorm#4909) * Adding shop symbol: hearing_aids Icon source: own work. Rasterisation: tested with density=96,150,300,600 using ImageMagick convert * improves rendering of hearing_aids icon Using: kosmtik, mapnik Visual change: a) thicker and longer icon to better resemble the human ear; b) improves pixel grid alignment and simplicity * Improving hearing_aid symbol due to preliminary discussion This version is based on number 28, with minor improvements and svg optimisations (number 43). This symbol depicts the human ear with an over-the-ear hearing aid being visually slightly separated from the ear, as well as with sound waves propagating from behind towards the hearing aid receiver. Attention was given to a) uniqueness, b) visual simplicity, c) rendering quality using kosmtik as well as png export with multiple scaling factors (1x and 2x). commit e06ea3c1a7be169d6a99673c57ad1dbaa7169a14 Merge: 2646c3d c39de66 Author: dch0ph <[email protected]> Date: Sun Dec 24 13:00:08 2023 +0000 Merge branch 'master' of https://github.com/dch0ph/openstreetmap-carto commit c39de66 Merge: a3ecd3f 47a96cb Author: dch0ph <[email protected]> Date: Sun Dec 24 11:54:33 2023 +0000 Merge branch 'gravitystorm:master' into master commit 2646c3d Merge: bfc49d0 9d3db81 Author: dch0ph <[email protected]> Date: Sun Nov 26 16:10:27 2023 +0000 Merge remote-tracking branch 'upstream/master' commit 47a96cb Author: imagico <[email protected]> Date: Sun Nov 26 17:52:14 2023 +0200 Updating changelog and preview for v5.8.0 commit 9d3db81 Author: Christoph Hormann <[email protected]> Date: Fri Nov 24 19:17:42 2023 +0200 fix merge errors in gravitystorm#3750 and restore functionality as intended by the PR (gravitystorm#4841) commit 2f23896 Author: Thomas Pétillon <[email protected]> Date: Fri Nov 17 13:50:59 2023 +0100 Mini-roundabouts: fixes and trunk road support (gravitystorm#4904) * Fix mini_roundabout/turning_circle fill for tertiary and unclassified * Fix mini_roundabout/turning_circle casing for primary and secondary * Add support for mini_roundabout/turning_circle on trunk roads commit 73ea404 Author: Mattijs Leon <[email protected]> Date: Thu Nov 9 22:33:35 2023 +0100 Fix rendering of highway=track that was broken in PR gravitystorm#4666 (gravitystorm#4895) Co-authored-by: Mattijs Leon <[email protected]> commit bfc49d0 Merge: fc884db fe6fd98 Author: dch0ph <[email protected]> Date: Sat Nov 4 13:05:52 2023 +0000 Merge remote-tracking branch 'upstream/master' commit fe6fd98 Author: Mattijs Leon <[email protected]> Date: Thu Nov 2 13:59:32 2023 +0100 Add rule to render landuse flowerbed (gravitystorm#4889) * Add rule to render landuse flowerbed * Add non-pictorial rendering for lower zooms and keep pictorial rendering for high zoom levels. * Implement PR comments --------- Co-authored-by: Mattijs Leon <[email protected]> commit fc884db Merge: c4b7dfd 4abe70d Author: dch0ph <[email protected]> Date: Sun Oct 29 17:32:30 2023 +0000 Merge remote-tracking branch 'upstream/master' commit 4abe70d Author: Justin Gruca <[email protected]> Date: Sun Oct 29 07:19:53 2023 -0500 Update pitch color to be less blue (gravitystorm#4480) * Update pitch color to be less blue * Update pitch to #88e0be per suggestion commit ffaedb6 Merge: 3c60a7b c7c8f4f Author: Paul Norman <[email protected]> Date: Thu Oct 26 19:49:42 2023 -0700 Merge pull request gravitystorm#4887 from mnalis/fix-osdn-mirror Use more reliable OSDN mirror commit c4b7dfd Merge: a3ecd3f 88f07af Author: dch0ph <[email protected]> Date: Tue Oct 24 18:59:32 2023 +0100 Merge branch 'tweak-to-run' commit 88f07af Author: dch0ph <[email protected]> Date: Mon Oct 23 21:32:34 2023 +0100 Tweaks to run on UKz14 setup Fonts -> Gillius No ice sheets commit c7c8f4f Author: Matija Nalis <[email protected]> Date: Wed Oct 18 18:36:22 2023 +0200 Use more reliable OSDN mirror Fixes gravitystorm#4864 commit 3c60a7b Author: Nicolas Peugnet <[email protected]> Date: Mon Oct 16 23:46:07 2023 +0200 Update OSM Bright link to Geofabric's maintained fork in README.md (gravitystorm#4880) The Geofabric fork is still maintained and it as updated installation instructions that works. commit 8f2b015 Author: dch0ph <[email protected]> Date: Mon Oct 16 19:41:22 2023 +0100 Remove unused code in amenity-points.mss (gravitystorm#4884) landuse_farm is incorrect tagging and is not rendered anyway (not selected by SQL query for text-point layer) commit eec4e9b Author: map-per <[email protected]> Date: Sat Oct 14 18:32:57 2023 +0200 Restored rendering for railway=platform + covered=yes (gravitystorm#4797) * Restored rendering for railway=platform + covered=yes * made linear platforms consistent with areas --------- Co-authored-by: map per <-> commit a3ecd3f Author: dch0ph <[email protected]> Date: Thu Oct 12 21:57:37 2023 +0100 Remove unused code in amenity-points.mss landuse_farm is incorrect tagging and is not rendered anyway (not selected by SQL query for text-point layer) commit 445e553 Author: Benjamin Schultz Larsen <[email protected]> Date: Thu Aug 17 00:02:06 2023 +0200 Removes amenity-points rendering for golf_hole (gravitystorm#4857) commit aef9179 Author: kaneap <[email protected]> Date: Tue Jul 4 10:45:43 2023 +0200 fix color of ref labef for subway entrance (gravitystorm#4835) commit 1b68d57 Merge: dae7527 1da7305 Author: Paul Norman <[email protected]> Date: Mon May 29 17:27:22 2023 -0700 Merge pull request gravitystorm#4666 from tjur0/feature/roller_coaster feat: Render roller_coaster=track ✨🎢 commit dae7527 Merge: 6591d7b 64ea80c Author: Paul Norman <[email protected]> Date: Thu Mar 9 10:33:36 2023 -0800 Merge pull request gravitystorm#4786 from thoughtful-explorer/doc-edits Formatting, spelling, and minor editorial corrections commit 64ea80c Author: Will Meredith <[email protected]> Date: Tue Mar 7 22:12:04 2023 -0500 Formatting, spelling, and minor editorial corrections commit 1da7305 Author: Mart-0 <[email protected]> Date: Fri Oct 21 21:24:16 2022 +0200 fix: :art: adjust bridge casing width commit d1809f5 Author: Mart-0 <[email protected]> Date: Thu Oct 20 21:40:11 2022 +0200 fix: set variable commit ff83a18 Author: Mart-0 <[email protected]> Date: Thu Oct 20 19:41:59 2022 +0200 refactor: :art: move the dashing outside of the gaps fill layer commit 5b65f08 Author: Mart-0 <[email protected]> Date: Thu Oct 20 19:22:20 2022 +0200 fix: :art: PR feedback change to black for bridges, eleminate duplicate code, add comment, change name of layer commit 7af20d5 Author: Mart-0 <[email protected]> Date: Mon Oct 17 10:37:47 2022 +0200 fix: add indoor bridge support and fix one variable commit ae4053b Author: Mart-0 <[email protected]> Date: Wed Oct 12 15:32:07 2022 +0200 fix: sql and forgot to remove one zoom line commit eef8ac1 Author: tjur0 <[email protected]> Date: Wed Oct 12 13:39:29 2022 +0200 fix: update WHERE statement Co-authored-by: Paul Norman <[email protected]> commit e29df01 Author: Mart-0 <[email protected]> Date: Mon Oct 10 10:52:44 2022 +0200 fix: fix pr feedback commit d65357f Author: Mart-0 <[email protected]> Date: Sat Sep 24 19:38:43 2022 +0200 refactor: :art: Add seperate casing layer, add same group by as the road layer commit db89734 Author: Mart-0 <[email protected]> Date: Sun Sep 18 16:33:57 2022 +0200 fix: :art: move code to sperate file, fixed feedback move code to seperate file, ajust widths, render dashes from 16 instead of 14. commit b0aea63 Author: Mart-0 <[email protected]> Date: Wed Aug 31 17:15:18 2022 +0200 refactor: :art: improve structure commit e88d8cc Author: Mart-0 <[email protected]> Date: Wed Aug 31 17:01:23 2022 +0200 feat: :sparkles: use attachments, add bridges split the rendering in layers to avoid gaps commit 542f8bc Author: Mart-0 <[email protected]> Date: Wed Aug 31 11:28:46 2022 +0200 refactor: :art: remove roller_coaster colum commit 0089d28 Author: Mart-0 <[email protected]> Date: Mon Aug 29 21:54:24 2022 +0200 style: white-space commit 590991d Author: Mart-0 <[email protected]> Date: Mon Aug 29 21:43:54 2022 +0200 fix: :art: remove name rendering, and fix other feedback commit dd83871 Author: Mart-0 <[email protected]> Date: Mon Aug 29 07:28:01 2022 +0200 fix: fix technical issues commit 7177887 Author: Mart-0 <[email protected]> Date: Sun Aug 28 18:41:01 2022 +0200 feat: Add roller coaster rendering
Fixes #3634 and #3705
Reverts #3438 and #3144
Related to discussion of
way_area
based name label rendering in #3284 and #2700, also see #2702Changes proposed in this pull request:
way_area
to set zoom level and text size for natural=bay and natural=strait text labelsExplanation
Since Rendering of strait from z10 #3438 and Adding rendering for big natural=bay #3144, natural=strait and natural=bay have been rendered identically to lakes (natural=water and landuse=reservoir) when mapped as an area (closed way or multipolygon relation). Depending on the
way_area
, they will render as soon as z0 in theory, and in practice there is currently a bay rendered on z3.This led to issue Limit natural labels rendering to z4+ #3634, which recommends that natural area labels should not be shown at z4 and below.
The mapping of bays and straits as areas is controversial, because the non-coastline borders of these features are not verifiable by mappers, and the coastline is already contained in the database. Also, mapping large bays or straits with multipolygons relations can lead to difficult to manage relations with many hundreds of members.
Because of this, some mappers have taken to mapping a bay or strait with a rough outline that does not follow the coastline. This is encouraged by the current rendering, because these features are only shown as a text label with the name, and there is no mapper feedback about the shape or borders of the area in the map rendering.
See also: https://www.openstreetmap.org/user/imagico/diary/43957 [Warning, dark humor]
Recently a text label rendering was added for straits mapped as linear ways in Add rendering for straits mapped as linear ways #3733
We recently stopped rendering tourism=attraction based on
way_area
because of this same problem, in PR Reduce priority of tourism=attraction and render from z17 #3603Previous to PR Restrict rendering of natural=cape to nodes, change font to standard #3732 natural=capes mapped as an area were rendered based on
way_area
, but this has now been removed.Bays, straits, and malls are the only 3 features that currently have text labels that are rendered based on
way_area
without an outline or area fill rendering.This PR will fix Limit natural labels rendering to z4+ #3634 and Do not render water areas names at z2, z3 #3705 by limiting natural=water, landuse=reservoir, landuse=basin and waterway=dock rendering to no sooner than z5. Even the largest lakes in the world do not need text labels before this zoom level, and natural=water is being abused to map marine water areas for label rendering.
The initial zoom level will be set to z14 for all straits mapped as nodes, ways or areas and all bays mapped as nodes and areas. This level has previously been tested and deemed an acceptable initial zoom level in PR Add rendering for straits mapped as linear ways #3733 .
(The PR author plans to submit another PR to add rendering for bays (specifically fjords) mapped as linear ways similar to #3732, and an additional PR to limit the rendering of malls to no sooner than z13 (where the retail landuse fill color is shown) and add a fill or outline in retail color, which should finish resolving the
way_area
based text labels issue.)While many of us would like to see bays and straits rendered at low zoom levels in this style (the author included), we have a responsibility to support good mapping by providing appropriate feedback. Therefore in the short term this PR is the best solution.
@imagico has suggested a script could be written that would calculate the correct initial zoom level based on a node and the position of the coastline. This would allow us to restore the rendering of bays and straits at low zoom levels, and not only for areas but also for nodes. It would also make it possible to render seas in a consistent fashion, which is not currently possible because these are mapped as nodes. However, there is not yet a volunteer to implement this. [EDITED]
Test renderings:
Yam Bay, Hawaii - mapped as an oval-shaped closed way rather than straight across from the ends of the bay; this causes it to render 1 zoom level sooner than otherwise:


z13 before
After
z14 before


after
z15 before


after
Waioka Bay, Hawaii
way_area
based filtering which should have prevented rendering until later. So the currentway_area
adjustment only shows labels sooner, never later.z13 unchanged
z14 Before
After
z16 Before


z16 After
Shelikof Strait, Alaska


z6 Before
after