Hi Frédéric, Thanks and congrats, this is an awesome news! :) I'm really excited about the possibility of having a united MapCSS validator database shared between Osmose and JOSM. Concerning your issues: - level mapping: I see no problem to add osmose-specific declarations in our mapCSS definitions - translations: Yes currently all translations are hosted on Launchpad. To get them you can take a look at https://svn.openstreetmap.org/applications/editors/josm/i18n/launchpad.pl . The bazaar repository URL is lp:~openstreetmap/josm/josm_trans - inside tags missing in country-specific rules: I will create a ticket to naoliv for the Brazilian rules - validation issue with de_openrailwaymap: maybe you can create a ticket on their Github to see if the check is correct/needed
I need to find the time to play with these new Osmose issues, I'll let you know. Cheers, Vincent 2018-01-28 20:07 GMT+01:00 Frédéric Rodrigo <fred.rodr...@gmail.com>: > Hi, > > I passed the three last months to add support of mapcss validation into > Osmose. > > I rewrite an antlr4 grammar for the mapccs and produce a python parser. > Then I use the parser to generate python code for selectors, declarations > and mapcss functions. The result is some kind of "compilation" of mapcss in > python. The generated code use one of the Osmose checking framework to do > the Job. > > Osmose have many validator engines. The simplest only check tags of one > object at once (no geometries involved nor object relations). I only > generate code for rules able to be lunched on this engine (it's possible to > support the others, but to do). > > The result of running the official JOSM and contrib rules for the whole > world is now available on Osmose, from at least a week. We refresh the > result every two days. (Technically the whole world is not yet computed, > but it's a matter of finishing to update all the Osmose backends around the > world). > > > So, show me the data! > > http://osmose.openstreetmap.fr/en/errors/?limit=0&item=9xxx& > useDevItem=true > > http://osmose.openstreetmap.fr/en/map/#item=9xxx&useDevItem= > true&zoom=12&lat=49.4805&lon=6.3461&level=1 (play with the severity > selector if nothing displayed) > > This page take a while to load, you can sort on column by clicking on the > header (and wait). > > All this content is on Osmose but not yet publicly displayed. > > > All this checks have generated so far 20.1 millions of issues. I excluded > one rule of official JOSM validator because just this rule raise 4 millions > of issues ("Unnamed unclassified highway"). > > The goal of supporting mapcss in Osmose is to try to state a common format > for data validation. The next step is to move a part of Osmose validation > to mapcss and make them available into JOSM as contrib. > > > During doing all this stuff we encountered some problems. > > - Osmose issue level VS JOSM throw level: Osmose report only issues where > there is a high probability of something go wrong, with level mean the > impact on data usability. But JOSM have an orthogonal level with Error, > Warning, Other. For now, I simply map throwError to Osmose level1 and so on. > > - Translation. Because we use official MapCSS, we also reuse translation > too. The only way to get it is via bzr ? > > - Harmonisation of throw level in contrib: contrib mapcss validator have a > very different use of throw level and sometime the inside() selector is > missing. Not yet done, but I plan to blacklist in Osmose lot of rules from > "Brazilian-Specific" and lower some other ("transport"). I added the > ability in Osmose to limit a mapccs validator file to a country, whatever > the inside() selector are used or not. > > - I generate the selectors and the declarations in python but also I > generate the tests. And I'm able to run all the included tests. Except one > from the contrib de_openrailwaymap, in short the test try to validate that > "5" != "05". As the content are numbers, my implementation check 5 != 5, > and it fails. > > > About port of Osmose hand writen python rules to Mapcss, we should add > some extension into mappcss declarations (like "osmose-level" or > "osmose-item"). And I plan to add this kind of declaration into some > existing mapcss validation rule files to avoid duplicating the report to > user, one from JOSM ruleset, one from Osmose ruleset. > > > The grammar and the mapcss2osmose code: https://github.com/osm-fr/osmo > se-backend/tree/master/mapcss > > The Osmose analysers produced from mapcss code (all MapCss* files): > https://github.com/osm-fr/osmose-backend/tree/master/plugins > > I'm widely open to comment. > > Reagrds. > > Frédéric. > > > >