MapOSMatic is a web application to generate maps of cities or towns, including index of streets, from OpenStreetMap data.
It is made of two components:
-
MapOSMatic (this repository): the web front-end. An application written using the Django framework allows to submit and visualize map rendering jobs. The rendering is done in the background by a daemon process.
-
OCitysMap: the back-end that generates the map. It is available as a Python module, used both by the maposmatic daemon (above) and by a sample command line application.
It is licensed under under GNU AGPLv3 (GNU Affero General Public License 3.0).
You can help translating the user interface into other languages here:
https://translate.get-map.org/projects/maposmatic/maposmatic/
Please refer to the INSTALL file in this repository.
The automated test suite runs against a dedicated, self-contained test
settings module (www/settings_test.py) that uses throwaway in-memory
SQLite databases, so it needs neither PostgreSQL nor any external service:
./manage.py test www.maposmatic --settings=www.settings_testLike the normal settings, the test settings still expect a
www/settings_local.py to exist, but none of its values matter for the
tests. In a fresh checkout (or CI) create one from the template first:
cp www/settings_local.py.dist www/settings_local.pyTests live in www/maposmatic/tests/.
The test suite can be run automatically before every commit via the
pre-commit framework (configured in
.pre-commit-config.yaml). Enable it once per clone, from within the
activated virtualenv:
pip install -r requirements-dev.txt
pre-commit installAfterwards git commit runs the test suite first and aborts the commit if
any test fails. Bypass a single commit with git commit --no-verify.
End user documentation for the web frontends useage, and API documentation
for developers who want to submit their own rendering job into the rendering
daemons queue, can be found in the documentation subdirectory.