Thank you.
So good afternoon everyone.
Thank you for attending.
Thank you for being here.
I'm very happy to be with you this afternoon.
I'm from Swadakum.
I've been contributing for open street maps since maybe 15 years.
And I will give you some updates about put a mess of
new methodology we try to install in France to monitor some
topics of contribution in the project.
What I propose you today is to give you the global explanation about
the put a mess of 12 what it's used for for our
with runs and give you demonstration live demonstration for
a particular topic I chosen here in Belgium.
So we will have both parts,
very and practice in this presentation.
And finally we will see for the development perspective we can
bring it up together.
A few reminder of our about open street map is working.
Some of you may already know that for maybe very long time,
but it's useful to understand the presentation.
Open street map has a very basic data model that has been fixed
for many years.
And the most important part is tax.
We are getting a very basic set of features points,
lines, relations and we put tax on them to make a difference
between a tree and a building and an highway.
That's our open street map works.
The tagging is evolving significantly thanks to the
contribution of the community itself because it's a
self-built ontology.
That's all you have to know if we look at this
background map you may have seen.
It's very basic.
It's very neat background that if we look inside,
we will see many tax.
Tax are everywhere on every feature that compose the database
and allow to produce this kind of map.
And right now since open street map is more than 20 years old,
the point is not about not only about completeness.
It's also about maintenance and change management.
We need more and more tooling, more advanced tooling,
to manage those tax to not only the spread of the project
but also the change in the ontology.
So we have to monitor that.
We have to monitor the contribution and get a very
detailed insights about this contribution.
No matter how many tax you have,
you need the tool to observe what contributors are doing in the database.
And currently, we don't have the necessary tooling I will present you today.
Let's get into this kind of chart.
I illustrate this.
It's the change log of the project to manage in your country,
in your community, in your continent, even worldwide.
You have a filter that is created in the database that appeared
that disappear, you have tax, you remove them.
And a long time, you will have those features appearing
and disappearing from your project.
You can change a tree in a building or a hydrant or whatever
and you have to monitor if the objects are showing up or not.
And that's what we do in Podama.
We build this change log.
We build in two dates, and we count at fixed dates.
To get the exact amount of features corresponding to given
filter in a global perimeter.
So we are mostly interested in green features,
because grey don't attach.
Yellow have any tax you want and the green have the
tax corresponding to the filtering may set.
So the main goal of Podama is to maintain this change log
and build KPI.
And provide many more functionalities as well.
In OpenStreet map, we have ways to get statistics.
It's not a very recent topic.
We have many tools to get statistics out of the project.
I and I, three of them that you have many more.
The OSM start by Pascal Nisto instance.
Awesome dashboard and tag info, which has three very popular tool
to get statistics about how the features are set and
remove from the database.
But we miss a topic for QS platform that is able to
undo the contribution both worldwide and locally on a
given filter.
Without maintaining the wall database on your own server.
And that's a big point.
I was working on a project last year that improved a lot
Podama.
And we add to monitor the poor grid mapping worldwide.
And that's a very big topic.
But it's not so big regarding the global amount of data.
So we don't want to maintain the global database in the
server.
We only want to focus on the feature.
And here it was the poor feature.
But it can be any feature you want.
And we miss that tool.
So the timeline of Podama first of all.
It was created in 2020 in France when a few of my
fellow contributors in France were struggling at
organizing project of the month.
And project of the month is held as I said in one
month on a given topic.
And we were computing statistics by hand.
Every day we are counting features that
contributor may have set on the selected topic.
And it was a hassle.
So we build a tool called project more in France.
And it started like that.
We extended it with the N.A.D.
Collaboration which is a very big company in France that is
interested to get a few features from open
straight map.
So it slowly improved.
And last year with the map you're
really initiative that allow to build things and
make them a very helpful worldwide scale.
So it's still to be continued because the
functionalities are not over with that story.
And we still seek for support and
contribution that project will prove the functionality.
First of all, Podama is maintaining the
change log of the features corresponding to the
filter.
After that, because of the existing
tool I mentioned as meon because it's the underlying
software that allow to filter the data out of
the open straight map archives.
And the filtering functionality of a
small is very simple for good reasons.
And we extend those functionality with
labelling features inside Podama to get a few
groups of objects out of a more broad filter.
After that, we come them and we assign the
features to some graphic boundaries and
teams.
We can build teams out of using names.
So you can in your project define a few
teams to observe how they are contributing and
how they are doing.
And we can see that we are going to see
the results in the same
time competing as well on the top picture selected.
That's the basic feature.
That's how things work.
We process and you will see an action.
Right after we process all those step and get the
map you see on the right.
And that's exactly what we need.
Thanks to map your grid, we can observe several
of the map.
The main functionality of the web interface is
dashboarding.
You get all necessary insights from the project in
different views like the Podium.
Regarding the users, you are observing the map.
Regarding the different boundary you are considering
and the evolution of the features.
Not only the existing features in green, but also
the two integrated features got from or
smalls for instance.
Because Podium is not doing quality insurance.
It's not comparing with open data, external data
source.
It's only observed what's happening in open
street map and can take real value from
smalls and gathering corresponding issues you can
address on existing object as well.
You also got an API that they were some basic
information about the process KPI on every date
process, the amount, the length on
ways as well, the area.
Also, you get very basic information about what's
going on in open street map and you can observe the
evolution of those KPI.
We also got a web editor because back in days
during the project of the maps in France,
we are also interested to enable users to
contribute, then to provide them a view of what
exists.
So where they are not forced to contribute and what
should be integrated is the difference between
the green and the red dots.
But also you can see on the left, we have a
very contextualized editor with precise set of
fields you can contribute.
It's a very pretty customized and it
adapts to the project you are managing.
Finally, the gamification as well, we provide
the Podium of the users, we give points,
depending on the action done on the database.
So if you add an object, you get some points,
if you add it one, depending on the field you
add it, you can get another point and so on.
And finally, you get this kind of thing.
It's the very beginning of gamification,
Podium, I didn't pretend to have a very
broad set of functionalities, but it's a platform
that allows to deploy it more deeply if you
want in your community.
If the web interface doesn't satisfy your need,
it's completely possible because it's a generic web interface.
The API allows to deploy such kind of dashboard
you can build on your own,
regarding the project you are managing.
So thanks to the API of the dashboard we deploy
in the map you're reading initiative.
So full customized dashboard,
consuming API, getting insights,
the point is not to understand what's displayed,
but it's only intended to show that there's
difference between this and this.
And that's why it's important to not only have the web
interface, but also the API to deploy such
very customized dashboards.
I propose we try this in Belgium this afternoon.
I selected a few atopic.
I was interested in, but you may have a hint
under the right of the screen,
make some of you guess what we are going to count,
maybe if you know this example,
do we have any ID?
No, it's not pencils.
Firstly, now it's benches.
Let's give you the try on public benches in Belgium.
That's a broad enough feature to get the real perspective
of our customized working, but also a limited enough
to not take any time and a long time to wait for results.
So I have recorded the process.
It lasts approximately 11 minutes.
I shot it the most long faces to not let you wait so much.
The video will last for four minutes to give you the
world process and show how it achieve the processing.
But first of all, let's have a look to the very
basic set of configuration.
It may look complicated.
I wanted to detail all parameters,
but understand it well.
But it's a very neat configuration
regarding the functionality and the advantage for the
my brains.
It takes me approximately one hour to get it worked
from the Git clone to the results I got from the process
for this topic.
So it's very simple.
It's intended to be very simple and let you deploy it on your
own and not bother you with so much parameters.
The most important are the red ones.
The most of all you should type all of your platform.
You just call it very basically put them at first
them, very original.
But you also set secrets for open street map users
because the web editor will push data to open street map and
we'll need an account.
And also you have to indicate the URL to
what the open street map archive files.
The big files where all the open street map data is provided.
I selected a file for custom Belgium.
Obviously I didn't download the worldwide file.
I got it from Geofabric servers and I focused on Belgium.
I also set the polygon URL for Belgium.
The extend and the B-box.
And also a title for the URL for titles for the web editor.
But these are very basic set of feature actually.
If you have the docs, you are perfectly able to set it on your
own.
Once we set up the instance, we will define the project.
Obviously it's still configuration files.
Tomorrow it can be done in the interface directly.
If we spend the right time on improving the interface to
let users define all those parameters on that one.
It will be even easier.
So for this project I give you a name.
It's benches.
I added the first of January in 2020 and it ends in 2025.
It's a soft, soft end.
So it will continue to count endlessly until now.
I give it a filter.
So the filter is here.
It's the most important part of the configuration.
I will select the nodes but also the ways that correspond to the bench.
So in a pencil it's a mini-t equals bench that corresponds to those
benchings.
We have many more attributes that we will be catching up with those
features, the seeds, the anything, the color, the material, whatever
it we came with with this.
And I also provide higher views with that.
Here for funders, higher views that will help people to map
the missing bench they may find.
And that's all.
The last parameter I enable the counts.
What I want is it select the benches and come them
a long time and give us the insights about our contribution
going in a global way and we'll contribute it to.
Let's put it all in Docker.
It's not mandatory but we provide as well
Docker functionality.
We process them and I will launch the video to show you how it's going
and explain all the steps.
I hope it's okay.
So it runs in several steps.
So the first step is downloading the data.
The project is installing.
So it takes the JSON file.
Putting the database.
We'll recall the database to stay okay.
I have a project.
And then we check if it knows locally the archive file.
It doesn't know it.
So it will download directly from geofabric.
The number is going.
Belgium is only 1.3 gigs.
And you get the wall is three of a panstreet mapping.
1.3 gigs.
Worldwide is 350 gigs maybe.
So the Belgium was appropriate for this demonstration.
Once downloaded, it just checked the dates
because those files are generated a few times a month.
So we will get a date.
It's not today.
It's a few years ago.
A few days ago.
And it will pay the way for the next step.
So it's 12th of January.
Once we got the file and it's date,
we will extract the history in the time frame selected.
You remember we start from 1st of January,
20 to 24 to now.
So we will just extract the wall is three of a panstreet mapping.
This time frame to reduce the amount of process to be done.
And once it's done, it takes, let's say, 50 seconds.
Once it's done, it will get into details regarding the filter.
We selected so benches.
Just afterwards a few seconds.
Yeah.
And the most important part is we reduce slowly the perimeter
to get the most efficient process as possible.
Because worldwide, it's a lot of data.
And you want to save some hours of processing by doing so.
And that's why.
So over, it extract features regarding the filter
we selected.
So right now it's selecting benches in the time frame we selected.
And it also select all the related features for instance
when you have benches defined as ways.
It will also select the nodes as to rebuild the geometry.
It's very important.
It's a detail.
But it's very important if you want to get the length of benches.
We have to get the related feature as well.
And put them.
I will do it for you.
Then it reports in the database.
It's a detail.
All the steps.
But it's important that I basically rebuild the geometry.
It assigns on boundaries.
I preloaded the boundary.
I made administrative boundaries of Belgium.
The country.
But also the region.
And so on.
Once done.
You know, it does until the 12th of January.
We have to catch up with the present time.
Because the file stops at the date in the past.
We're so together.
Under this.
The daily diff of our open street map.
Every day.
Worldwide.
And we have to combine them.
Filter again.
The diff.
Regarding.
Not only the Belgium.
But also the benches.
We only want to get the diff.
For the Belgian benches.
And we don't update the open street map archive.
The usual practices to update the open street map archive.
We don't update it.
We filter the diff directly.
And we apply under the database.
So that's why it's called catch up.
We already had important the benches until the 12th of January.
We are now importing the diffs between the 12th of January and now.
So we currently extract in the polygon.
This type is pretty long.
That's why I shouldn't it.
A bit for sake of the presentation.
But it lasts two or three minutes.
We are doing the same way.
Like before.
We are filtering the diff.
We are importing the database.
And at the end of this step we will have that database.
We will all the changes regarding the benches.
Two years ago.
And we are about to count them.
That's the second step.
For no it didn't count anything.
Right now we are going to count.
And we will see how fast it goes.
And why we are doing so much thing.
And process before that.
Because the counting is pretty immediate.
And I don't remember exactly how much we have benches in Belgium.
But it's several thousand.
Doesn't have thousand.
And it's really useful to get so fast at counting.
So it's done.
We done the war process.
The features are imported.
Count it.
And right now we are just rebooting the web docker.
And we will get some results.
Let's see those results.
Get back and the presentation.
Okay.
So at the results.
Here are the results.
Yeah, the dashboard you get.
You can access it.
We have an address.
And I will maintain it online few days after the first them.
You can browse the results.
We got from this process.
And we see some interesting insights.
So first of all.
I don't want to see it.
Because contributors are adding benches and nothing.
Belgium and nothing.
And so we also see that there's a regular progress on mapping benches in Belgium.
This is the basic features of the web interface.
You can obviously extend that depending on the theme you selected for your project.
What you got from this dashboard.
We also have the most frequent keys that has been used on benches.
And as I said, we don't only get the main tag.
I mean, it's a bench.
But also the secondary attributes.
And put on my steering wheel.
What's the key that are most used on features as well.
But that's a very generic set of features.
We also got some podium.
And we see that.
You know, remember, but it's written.
We have almost a thousand contributors that has been contributed on benches in Belgium.
That's a figure we don't.
We are not used to that figure because without predominates, we are to get this number.
We can get the number of people that has been the last editor of many benches.
Partically on tag info.
But we don't get this number.
Because this is the compilation of all mappers involved both adding and adding on those features.
But we have a winner area.
The podium tells that's the EB user got 7,000 points by mapping benches in Belgium.
So congratulations.
If you know him, Tanym.
Obviously this podium updates a long day.
Because I processed only one time from this presentation that you kind of dates daily.
Or even only on a holiday basis, you can re-burn the process.
It will only get the diffs.
It won't process the world at a base.
So here it was the initialization.
You don't get this hassle every day.
Every day it just updates the last 24 hours.
So this podium of dates.
And here is how we manage efficiently some contribution progress in a pencilic map.
But when you help.
It's not over that venture only starts here actually because we provide the most valuable product.
There's technical depth as many projects.
So you may help in those values fields.
If you want to.
Not only the technical depth, but also to a test.
Because we are pretty good at runs the.
I'm most 20 projects on four instances.
Yet on on Podomar different instances.
But it may deserve some well designed test.
You need test and integration test.
So if you want to help feel free.
We also want to develop some new features.
Custom counts.
We didn't do custom counts.
It's only counts.
It's not a rare for now.
It's not custom.
We don't.
We can get the amount of benches that are at least two seats.
For instance.
It may be interesting to have those those features.
But also.
You can use the change log if you want.
You can use the existing Podomar instance and get used to that.
Just get on the a pencilic map week.
You will get a list of the four instance existing.
And you will be able to connect and get the change log on the existing project if you want to.
That may be also help to give feedback about that and ask for a particular information that may be missing in this change log.
And also creating your home project.
You will be able to use Podomar on your own server.
Use it on the topic you want to select.
And that's also really nice to provide to extend amounts of instance existing.
You can get the source on GitHub on the Append Street map front.
And I'm sure you will have some very useful comments.
But there's one more thing.
The most complicated one I think actually.
As I mentioned, Podomar is able to gather the related feature as I explain.
Because then she's our mostly mapped as nodes.
It's fine when it's doing so because it's a very simple feature.
You have this location in the problem.
But sometimes you have ways.
Like this one.
An inappropriate map only nodes all coordinate.
So ways are composed of nodes.
And if you don't have nodes, you don't know where the way is here.
That's a problem.
So let's consider this situation.
You have three nodes mapped as nodes.
And you have many other features in a pen street map like this tree rule mapped as a way.
But what happens when a user show up and say,
this tree rule is not free or it's actually a bench.
And it changed the tags.
It changed the natural tree rule tag into a many bench.
So Podomar will sit in this.
It will appear in this.
Okay, you have an existing way that became in the last 24 hours a bench.
And now as Podomar is not maintaining in this is to to get the wall.
Pen street map database.
It won't know the nodes.
So we don't know that the way has become a bench.
But it won't know where.
So you have to get the nodes with another pass query to catch up the catch up.
Let's say.
So it will intensify the missing nodes and ask of a pass.
But that's not an efficient way to do so.
Because sometimes of a pass may be overloaded.
Because you may have issues of any kind of by depending on third parties of two.
So I think what I call an unreached diff may be useful to stay in the diff.
We have the related feature as well.
Currently in a bench street map, you will only see the way.
You won't see the nodes in the diff.
That's why Podomar can't know them.
And what if we have those unregative on a bench street map?
Podomar could know the nodes and don't have to rely on a bench street map to get those geometry.
Without maintaining the wall database.
When you maintain a render, you maintain the wall database.
So you don't have issues when some features show up with existing tags and so on.
You already have it in database.
It's not the case for Podomar and similar software running the same method.
Thank you for your attention.
You may have questions.
Thank you.
I hope it was clear.
You mentioned that community was a big drive in this project.
Have you personally made any use of it?
What have you done with it?
I said there are currently four Podomar instances running.
I run three of them.
Mainly in France.
We are using one for map your grid worldwide.
So it's a demonstration for worldwide extent.
But also two others in France, focused in France.
So we have the different configuration.
And yes, I'm making a great use of that.
And it saves so much of my time.
I don't worry anymore about getting difficult KPIs to process on my own projects.
Thank you.
Another question?
You will sleep really, really well with Podomar than without.
Believe me.
Thank you for the presentation.
I'm still a bit confused about the use of it.
I can understand it for monitoring to manage.
How is it going?
Who used this?
That's a good question.
I identify at least two different profiles of users.
Indeed, project managers have a project.
In the community and project of the month of the association,
the fourth instance is the project of the month of the French community.
So project managers are using that.
But also third parties.
In open street map ecosystem, we have many different actors and some
companies that are interested on given topic.
And without such tools, they are completely lost to understand what is
actually the contribution on this topic in open street map.
They may look at the tools I mentioned,
a handful, a tagging history, whatever.
But it only gives a very broad insight of what's going on.
We have to get into details because people are not only adding
features, they are also adding them.
And changing tags is as valuable as adding features right now.
We have to add features.
We have some movements inside the existing set of features.
So that's why even companies or third parties teams can be interested
to run their own instance of products just to observe what's happening.
Thank you.
I think we've got time for one more question.
Hello.
I just curious, did you say that it needs to write to open street map
by the API as well?
I was wondering what is it writing?
Exactly.
We just take back the interface.
The writing is not required.
It's an additional feature we provide to put on my users
because we have the web editor.
And the only situation in which it writes on open street map is
because people are contributing to open street map directly
in put on my interface.
But let's say it's not mandatory.
You can perfectly run a project only with observation feature.
Like this one.
No editing in this dashboard.
Only observation.
So it's only for punctual contributor.
Right now, the web editor needs to post note by the way.
You are not able to draw ways.
Users that want to draw ways mapping benches as ways,
for instance, are invited to use more elaborated digital.
I think we've got five minutes.
Thanks a lot for presentation.
Could you explain in video, I've seen that you initially
don't load whole world map.
And after that, filtering out data for Belgium.
Is it a correct way?
Because you can download only files for example for Belgium.
And don't process whole world.
Is it not included the contribution metadata or what's the reason for this one?
You mean what's it actually in the files?
Yeah, yeah.
I've seen in the videos that first step was downloading data from OpenStipMap.
Yeah, whole world.
Yeah.
Not seen it.
And the next one step filtering out data.
Everything instead of Belgium.
Just keep only Belgium.
But OpenStipMap,
allow you just download data for Belgium.
Yeah.
The detail.
And that's a good question.
Because the focus of the platform, I chosen Belgium this afternoon.
And there's several inputs to provide as to focus it on Belgium.
It's not only the data file you provide.
I could import the worldwide file.
And instead of Belgium, I could get the world.
But it's way more data to process.
And we have those polygon.
And the polygon is useful to process the divs.
We have the data file with the history.
And we have the divs.
And the divs are only available worldwide.
The effect rig, which is a company, is preparing for free for us.
The localized data files for history.
But we don't have the localized divs every time.
Belgium community can provide the localized divs if they want.
It will be good to use them without filtering with the polygon.
But we have to have the polygon for the divs.
Worldwide div instead of the data file.
I think that's it.
Time.
Thank you for your talk.
Thank you.