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 responsible for that.
I've been contributing for open street maps since maybe 15 years.
And I will give you some updates about put a mess of
a 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 will runs and give you
demonstration live demonstration for a particular
topic I chosen here in Belgium.
So, we will have both paths,
ferry and practice in this presentation.
And finally, we will see for the development perspective we
can bring you up together.
A few reminder of how 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,
you will see many tags.
Tags 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 only about completeness.
It's also about maintenance and change management.
We need more and more tooling, more advanced tooling,
to manage those tags to handle 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 tags 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 tags, 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, 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 have tags, yellow have any tags you want
and the green have the tag corresponding to the filtering may set.
So, the main goal of Podama is to maintain this change log
and build KPI on them and provide many more functionalities as well.
In a pen suite 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 Nist for instance,
or some dashboard and tag info,
which has three very popular tool to get statistics
about how the features are set and removed 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 the 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 the project on the month is held as I said in one month
on a given topic.
And we were computing statistics by hands.
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 You More in France.
And it started like that.
We extended it with the NADS collaboration,
a very big company in France,
that is interested to get a few features from a penetrate map.
So it slowly improved and lasted with the map your grid initiative
that allow to build things and make them a very beautiful 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 improve 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 a smion because it's the underlying software
that allow to filter the data out of the open street map archives.
And the filtering functionality of usmos 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
geographic boundaries and teams.
We can build teams out of huge names.
So you can, in your project, define a few teams to observe
how they are contributing and sometimes competing
as well on the top peak you 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 countries at one time.
But also you've got a pretty rich web interface and API,
also on Podama.
The main functionality of the web interface is dashboarding.
You get all necessary insights from the projects 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 integrates
features got from osmosis for instance.
Because Podium is not doing quality insurance.
It's not comparing with open data or external data source.
It's only observed what's happening in open street map and can.
Take real value from osmosis 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
of the API on every date, processed, 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 months in France, we are also interested to enable users to
contribute, then to provide them a view of what exist.
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.
And 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 had an object, you get some points.
If you edit one, depending on the field you edit it,
you can get under the points 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
regarding that.
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 needs,
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, the dashboard we deploy in a map you are
really 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
a 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
on 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
optimized working, but also limited enough to not take any time,
any wrong time to wait for results.
So I have recorded the process.
It lasts approximately 11 minutes.
I shot 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 want the detail all parameters, but understand it well.
It's a very neat configuration regarding the functionality and the
advantage for 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.
So first of all, you should type all of your platform.
You just call it very basically put them at first.
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 add the open street map
data.
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 extra 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 home.
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 improving the interface to let users define
all those parameters on our own and it will be even easier.
So for this project, I give you a name.
It's benches.
It started the first of January in 2020 and it ends in 2025.
But 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 a bench.
So in a Bench rate map, it's a mini-t equals bench that corresponds to those benches.
We have many more attributes that will be catch up with those features,
the seeds, the anything, the color, the material, whatever it will
came 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 at a long time
and give us the insights about how the contribution goes in a global way
and who contributed to.
Let's put it all in Docker.
It's not monetary 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 record the database to stay okay.
I have a project.
And then it would 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 map in 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.
Remember we start from 1st of January,
20 to 24 to now.
So we will just extract the wall.
It's three of a panstreet map in 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.
So we're adding 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 it extract features regarding the filter
reselected.
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 long detail.
All the steps.
But it's important that I basically rebuild the geometry.
It's the science on boundaries.
I preloaded the boundary.
I mean, 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.
All the dates.
It's a daily deal for the open street map.
Every day.
Worldwide.
And we have to combine them.
Filter again.
The diff.
We're guarding.
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 capture.
We already had important adventures 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 a 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.
We have benches in Belgium that 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.
Okay.
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, something more than you have on what we have seen.
Because contributors are adding benches in northern Belgium but not in source.
And 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.
You've got from this dashboard.
We also have the most frequent keys that has been used on benches.
And as I said, we don't really get the main tag.
I mean it's a bench.
But also the secondary attributes.
And the bottom is telling you 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.
I don't 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 bottlenecks, we are to get this number.
We can get the number of people that has been the last editor of many benches.
Particularly on tag info.
But we don't get this number because this is the compilation of all mappers involved.
Both are adding a reading on those features.
But we have a winner area.
The podium tells us that the EB user got 7,000 points by mapping benches in Belgium.
So congratulations.
If you know him, Tanym.
We can, and obviously this podium updates along days.
Because I persist only one time from this presentation, but you can update 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 database.
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 updates.
And here is how we manage efficiently some contribution progress in the benches.
But when you help.
It's not over that venture only starts here actually because we provide the most valuable product.
There's technical debt as many projects.
So you may help in those values fields if you want to.
Not only the technical debt, but also to a test.
Because we are pretty good at runs the most 20 projects on four instances.
And yet, on an unpodomad, different instances.
But it may deserve some well-designed tests.
You need tests and integration tests.
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.
Length area from now.
It's not custom.
We can't get the amount of benches that are at least two seats.
For instance.
It may be interesting to have those features.
So you can use the change log if you want.
You can use the existing put-on-line instance and get used to that.
Just get on the pedestrian 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 a 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 put-on-line 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 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 put-on-line is able to gather the related feature as I explained.
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 get the nodes you add this location in the problem.
But sometimes you have ways.
Like this one.
An inappropriate map only nodes all coordinate.
The 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 Append Street map like this tree rule mapped as a way.
But what happens when a user show up and say, okay, this tree rule is not tree rule.
It's actually a bench.
And it changed the tags.
It changed the natural tree rule tag into a mini-tebench.
So put them out.
We'll see it in difts.
It will appear in difts.
Okay, you have an existing way that became in the last 24 hours a bench.
And now, as put them out is not maintaining indices to get the wall.
Pents 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-party software.
So I think what I call an unreached diff may be useful to state in 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 I put them out.
Can't know them.
And what if we have those unreached diff on a bench street map,
or put them out 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 put them out.
Similar software running the same method.
Thank you for your attention.
You may have questions.
If you want.
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?
Yeah.
I said there.
They are currently full put on instances running.
I run free of them.
Mainly in France.
We are using one for map your grid worldwide.
So it's a demonstration for worldwide extent.
There are also 2,000 in France, focused in France.
So we have the different configuration.
And yes, I'm making a great use of that.
And it's saved so much of my time.
I don't worry anymore about getting difficult KPIs
to process on my own projects.
Yeah.
Thank you.
Another question?
You will sleep really, really well with put them out than without.
Believe me.
Hey.
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.
That's a good question.
I identify at least 2 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 a penetrate map ecosystem, we have many different actors and some
even some companies that are interest on given topic.
And without such tools, they are completely lost to understand what is actually
the contribution on this topic in a penetrate map.
They may look at the tools I mentioned,
I think that is a very difficult topic.
We have to get into details because people are not only adding
features, so adding them.
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 are not
or third-party streams can be interested to run their own instance of
Podumat just to observe what's happening.
Thank you.
Thank you, Tom, 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.
I would just take back the interface.
The writing is not required.
It's an additional feature we provide to Podumat users because we have the web editor.
And the only situation in which it equates on open street map is because people are
contributing to open street map directly in Podumat 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 only supports 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.
I would have guessed.
Thanks a lot for presentation.
Could you explain in video, I've seen that you initially download full work map.
And after that, filtering out data for Belgian is the correct way.
Because you can download only files for example for Belgian.
And don't process how work is not included the contribution metadata or what is the reason for
what is actually in the files?
Yeah, yeah.
I've seen in the videos that first step was downloading data from open street map.
Yeah, follow.
Yeah.
Not seen it.
And the next one step filtering out data everything instead of Belgian.
Just keep only Belgian.
But open street map.
Hello you.
Just download data for Belgian.
Yeah.
The detail.
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.