Podoma
| Podoma | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| License: | GNU AGPL v3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Platform: | nodejs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Status: | Active | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Languages: | English and French
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Website: | https://github.com/osm-fr/podoma | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Source code: | https://github.com/osm-fr/podoma | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Programming languages: | JavaScript and bash | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Podoma is intended to operate topic-focused monitoring on OpenStreetMap contribution and free many project managers from the hassle to compile statistics about the contribution on their field.
It has been introduced in association with French community Projet du mois to compile statistics at French level only about projects involving dozen of thousands of POIs. Then, a partnership with French electricity distribution operator had encouraged to use this platform to monitor up to dozen of millions of POI. Finally in 2025, MapYourGrid initiative improved it for world scale deployment and with more elaborated features for monitoring.
If you organise topic-focused projects on OpenStreetMap and currently suffer from running manual and daily queries to monitor it, please give it a try and tell us how better your journey has improved!
Features
Podoma processes and interfaces are designed around the Project concept. Each instance administrator has to define one or several projects that correspond to fields they want to monitor or allow mappers to contribute on. Once defined, Podoma will automatically handle history recovering, changes accumulation, statistics computing to rebuild a complete change log on a daily basis and customized web editor on its web interface.
A project is a set of configuration files and will influence how Podoma works. It notably includes an OpenStreetMap features filter, start and end dates and several statistics definitions.
Monitoring
Podoma's monitoring is based upon filtering OpenStreetMap features from planet files or country files and daily diffs to rebuild a more reasonable change log to operate more elaborated processes on it in a suitable period of time.
Each instance currently works at a single scale defined by the OSH file provided in global configuration. Each defined project then start from this OSH file to rebuild the change log.
Change log maintenance
A project is first of all defined with a broader filter, with less filtering capabilities on complex tagging situations. Podoma currently uses Osmium-tool to operate its first stage of filtering from OSM files.
Each project filter allows Podoma to get a set of features and gather their change log. This log is then updated from daily diffs on a daily basis. Podoma supports nodes, ways and relations.
Maintaining such a list of features versions and members allows to rebuild their geometry and follow their evolution along time.
Projects can fit in one of the 6 different supported situations depending on their configuration. See the dedicated documentation for more information.
Labeling
Change log is completed with one or several labels that extend the filtering capabilities of underlying software.
Labels are like sub groups of features and reflect their tagging. They can overlap (a given feature version can get several labels) and they are set on each feature versions (a single feature can see its labels changing along its different versions).
Labels are then referenced easily in project configuration without need to handle complex tagging expressions. They usually match the project's business logic in which they are involved.
Geographical boundaries
Podoma can operate a project at any scale, from world to municipality level. The wider the project perimeter is, the more you can be interested by getting computed KPI at different sub-levels.
It is then possible to load in your instance the custom boundaries that fit your needs. It could independently be administrative or business boundaries or even both.
Podoma will then assign each feature version to one or several corresponding boundaries that intersect them.
Team work
Handling different teams of contributors in each project is also meaningful when it comes to evaluate their contribution or on the contrary exclude the maintainers contribution to focus on the broader community.
Each project can come with one or more teams defined as OpenStreetMap user names lists.
The team contribution consist in the features versions list linked to each member's username.
Processed KPIs
Podoma then computes different figures out of the change log, labels and teams.
Dates at which figures are obtained si currently fixed although it depends on each project's dates. See dedicated documentation for more information.
They break down as follow, for each time point:
- Absolute figures (project / label and boundary / label levels)
- Total amount of features matching project filter or label filter
- Ways length when some are involved in a given project or label, including relations' members
- Area surface when some closed ways are involved in a given project or label, including relations' members
- Total amount of contributors who were involved in the project or on a given label
- Amount of contributors who were involved in the project or on a given label between the time point and 24h before
- Amount of contributors who were involved in the project or on a given label between the time point and 30 days before
- Relative / delta figures (project / label levels only)
- Amount of features versions contributed by a given team on the project or on a given label
- Actual ways length contributed by a given team on the project or on a given label
- Actual area surface contributed by a given team on the project or on a given label
Gamification and points
Web editor
The integrated editor allows to contribute directly on OpenStreetMap with nodes only. More complex editing involving ways and relations should be done on your favorite editor which Podoma doesn't intend to replace.
This editor allows to explore the current state of OSM data known for the selected project.
Data sources
Podoma also supports a broad diversity of data sources to bring more context to each project's change log. Those data sources are mostly useful to display current state of OpenStreetMap data and web editor.
See the dedicated documentation for more detail about each of them.
- Osmose: It gathers warnings from one or more Osmose analyses about features covered by each project.
- Notes: Notes with appropriate content are filtered and displayed as possible hints
- Current OSM features: Current features that are part of the project. Could be obtained from dedicated Imposm database or a view from the change log updated daily
- Compare OSM features: OpenStreetMap that aren't involved in the project but relevant to be displayed on the map for possible hints
- Extra OSM features: OpenStreetMap that aren't involved in the project but selected as possible duplicate or different feature already present in place to avoid any double mapping
- Background imagery: Any suitable source of aerial imagery to be used as background map to map POIs
Tagging fields
Several user friendly tagging fields can be used to ease the contribution on the tagging that matters the most for your own project.
It is also possible to define your own field to support the tagging scenario that could miss in the main branch.
See the dedicated documentation for more details about each of them.
Available instances
You can see Podoma in action on several public instances already:
| Name | Start year | Extent | Provider | Description |
|---|---|---|---|---|
| ProjetDuMois | 2018 | Metropolitan France | OpenStreetMap France | The original instance used to lead French community projects of the month |
| Enedis | 2020 | Metropolitan France | OpenStreetMap France | Decade-long contribution monitoring for French partnership between OpenStreetMap France and Enedis |
| MapYourGrid | 2025 | Worldwide | MapYourGrid initiative | Backend instance for MapYourGrid initiative monitoring. Podoma's web interface is not intended for public use and only put online for debug and maintenance purpose. |
| French FTTx | 2025 | Metropolitan France | OpenStreetMap France | Niche topic contribution monitoring on French Fibre-to-the-Home visible infrastructure (cabinets, exchanges...) |
See also
- World scale announcement in OpenStreetMap diaries
- Documentation on GitHub