MapRules is a set of software components that together generate tagging preset/validation files easily adaptable into files usable in different OSM Editors and data validation tools.
For example...
I make a MapRules config file. I download the MapRules JOSM plugin I use that MapRules config for custom JOSM presets and validations that enforce MapRules Validations I wrote.
See the Integrations paragraph for currently and 'in development' integrations.
The MapRules UI (currently under development) allows users to interactively build MapRules config files that are savable to an instance of the MapRules API (this repo!).
- it is built using Angular
- suggested key value pairs are driven by taginfo
The 'API' refers to the API and database that stores the tagging rules and formats them to be usable in external editors and OSM validation tools.
- the API is written using hapijs. For full documentation regarding the API, check out its own documentation
- each editor/tool integration is made possible by an
adapter
modules and a schema module. These generate files that make presets/validations usable in integrations. - the schema modules are written using joi. These modules define what is a valid output for a given integration file as well as inputs for the config file.
Integrations refer to plugins and features in different editors and tools that make MapRules presets and validation rules usable.
Currently supported integrations and integrations in development are below...
- the JOSM MapRules Plugin provides support for MapRules in JOSM
STATUS: Developed and awaiting integration into the JOSM Plugins repo
- a feature branch brings MapRules support to iD
STATUS: Still just a fork