Add OSM style - #103
Conversation
- Add trees layer (trees.map) and include it in all osmbase.map levels
- Extend highways and landusage styles: oneway arrows, service roads,
subway/light_rail/tram, more landuse types
- Shared files impacted by other styles:
- buildings.map now uses the _building_clr_opacity macro instead of a
hardcoded OPACITY 50 (macro emitted by generate_style.py)
- Makefile adds trees.map to the includes and generates levels 19 and
20 for every style
| CLASS | ||
| #if _display_bridges == 1 | ||
| EXPRESSION {unclassified00,residential00,service00,road00,living_street00} | ||
| EXPRESSION ("[type]" IN "unclassified,residential,road,living_street" AND "[bridge]" = "0" AND "[tunnel]" = "0") |
There was a problem hiding this comment.
using these kinds of mapserver expressions is orders of magnitude slower than the plain string comparison that was in place beforehand. I would suggest we see some before/after performance timings before accepting this PR. Another solution could be to move the expression itself into the template engine, so that performance of existing styles is not affected
There was a problem hiding this comment.
agreed with @tbonfort, I thought the same thing initially, logical expressions are very slow.
There was a problem hiding this comment.
I measure about 10% of lower performance do you consider it as acceptable or should I rollback this part?
Report: https://github.com/sbrunner/basemaps-bench-kit/blob/master/results/summary-1024.md
There was a problem hiding this comment.
what do before/after/fix and n mean in your table ?
There was a problem hiding this comment.
before: current situation on master
after: with this pull request as he is
fix: with this pull request but with restoring the plain string comparison
There was a problem hiding this comment.
I see no need to use the slower logical expressions. I think for your local instance fine, but as a pull request into a public repo, it should use the faster expressions (as in main).
Are you interested on that?
To be clear some parts are generated by an agent.
Final result: https://test-plan.epfl.ch/?map_x=2532321&map_y=1151996&map_zoom=10 (in the EPFL area it's the EPFL data who a re displayed on place of the OSM one).
Details
trees.map) and include it in allosmbase.maplevelshighwaysandlandusagestyles: oneway arrows, service roads, subway/light_rail/tram, more landuse typesbuildings.mapnow uses the_building_clr_opacitymacro instead of a hardcodedOPACITY 50(macro emitted bygenerate_style.py)Makefileaddstrees.mapto the includes and generates levels19and20for every style