On Fri, Mar 8, 2019 at 11:37 AM Martijn van Exel <m...@rtijn.org> wrote: > > I agree that a local US OSM map with a *subtly* adapted rendering would be > fantastic. Phil Gold did some interesting work years ago on rendering US > style highway shields taking into account (sometimes crazy) route concurrency > (http://elrond.aperiodic.net/shields/?zoom=13&lat=39.75926&lon=-86.02786&layers=B > - note that this is based on years-old data and probably pre-carto-switch > stylesheet). Lars Ahlzen created the beautiful TopOSM which is a lot more > divergent from the main map style, but another great example of initiatives > around custom map rendering coming out of the US community.
I've borrowed ideas (and some limited amount of code) from both of them in doing my experimental rendering at https://kbk.is-a-geek.net/catskills/test4.html. It has North American highway shields. I say 'North American' because it handles the Canadian and a few Mexican ones, with concurrences, also. It has a lot more than Phil! incorporated thanks to a yeoman effort by Minh Nguyen (sorry, Minh, no time to go hunting for Vietnamese diacritics to spell your name correctly!) It has scalability issues that are fixable, but imply ditching a fair piece of the toolchain. I'm tracking a project for it at https://github.com/kennykb/osm-shields/projects. I have a Kanban for it at https://github.com/kennykb/osm-shields/projects/1. The chief roadblocks to scaleability are that the graphics are generated in what amounts to a batch process, taking several minutes, triggered by the Osmosis update of the 'northamerica' export from geofabrik.de. If the process is to scale to minutely updates and the whole planet, it needs to do shield rendering incrementally in response to specific updates affecting it. The fact that osm2pgsql does not and will not ever support querying of relations at rendering time is a headache, and so the first job will have to be retooling everything to the table formats used by imposm3. (This is entirely doable; it's quite a lot of very routine programming that I've simply not had time to take on.) https://github.com/kennykb/osm-shields/issues/13 Then there's the issue that the graphics for individual shields are being stored in PNG, which is rendered in a batch process that takes typically several minutes (so could not cope with minutely updates). I have some sketches for how that could be accomplished, but again, I keep running out of time. https://github.com/kennykb/osm-shields/issues/5 Also, 'carto' does not have support for the GroupSymbolizer in Mapnik, needed for highway shield rendering, so I'm still stuck with defining the rendering in Mapnik XML. This isn't a problem for me, but others might demand better support. Finally, Mapnik itself would benefit from being able to render SVG's with template parameters substituted from objects in the database. I think that the pipeline could be implemented in a scalable fashion without this last task, but there would be more custom code about. I've sounded out the maintainers of various of the OSM software, and get different assessments. osm2pgsql - Actively hostile to supporting what I need, contend that osm2pgsql is the wrong tool for the job. imposm3 - Interested and helpful, and it appears that they wouldn't actually have to do anything (imposm3 may have everything needed 'right out of the box'). Phil Gold!'s 'highway shields' project - Moribund, but I've extracted from it what I think I need and put the code at https://github.com/kennykb/osm-shields/ TopOSM - Again, moribund, but I have working renderings derived from it that suit me and could serve as starting points for new development. Carto - Maintainers would be very interested in GroupSymbolizer support. OSM Carto - Little interest, but that's because of the emphasis on consistent rendering worldwide, and this is really a project specific to North America. Mapnik - I've not really needed to approach the Mapnik team yet - I've been treating it as a black box. So, it looks as if there's a path forward, but it involves a bunch more programming than I've had time to take on. I'm very good at programming, but my time is limited. I'm much less good at project management, and I'm terrible at recruiting, so I've been unable so far to form a team to tackle this. A better leader than I could probably make significant forward progress with my technical assistance. I may find this thrust upon me, but I hope to dodge any requests to lead open-source development efforts while I'm still in the paid workforce. (With luck, retirement is a couple or three years away.) > Perhaps something for a BoF session at the next SOTM! Finding the time and money to attend a conference that my employer doesn't sponsor is hard for me at the moment, particularly since I'm already committed once or twice a year to conferences on another "free time" (hah!) project. (Also, I presume you mean SOTM-US? An overseas conference would add a whole other level of complexity to my getting to go.) > Finally, I don’t think it’s a funding or infrastructure issue. It’s just that > someone needs to lead it. That might have to be me, but in that case I have to say, "not yet." _______________________________________________ Talk-us mailing list Talk-us@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-us