Email or username:

Password:

Forgot your password?
Top-level
Ilya Zverev

It's a bit hard to track indeed — like when I started listing all my conference talks, I got over 100 entries, all with different topics. When I tried listing my software for an about page, I barely fit the most prominent things in a screen and had to remove much.

So in this thread, I'll try mentioning geo-adjacent things I did in the past 13 years. One thing daily. As a self-recognition practice. That's gotta get me through a couple months at least.

98 comments
Ilya Zverev

And yes, I'll start with the thing most of you know me for: @everydoor editor. Used by a thousand mappers monthly, started as a way to quickly collect POI, but on the way also became an ultimate micromapping and address collection tool. And soon to be a next-gen walking papers replacement.

every-door.app/

I should mention I also collected several thousands (!) of shops and amenities with it.

Thank you to everybody who's making edits with this app. So happy to see it used for good.

💭 tinderness

@zverik @everydoor Eine sehr schöne App, die ich schon mehrmals im Feld benutzt habe!

NiceMicro

@zverik @everydoor Ohh no, are you suggesting that there is a better way than taking pictures and editing the map in JOSM later?! 😂

Ilya Zverev

My previous map editor was... a messenger bot! I made it for finding local shops and businesses, because we had like half a thousand. And OSM didn't have that much, neither it had photos, so I made my own database and my own data collection pipeline — right inside the Telegram messenger! No interactive maps or geolocation, but surveying was fast and enjoyable.

I left Belarus many years ago, so alas it's not updated. But without it, there would be no Every Door.

github.com/Zverik/bot_na_rayon

My previous map editor was... a messenger bot! I made it for finding local shops and businesses, because we had like half a thousand. And OSM didn't have that much, neither it had photos, so I made my own database and my own data collection pipeline — right inside the Telegram messenger! No interactive maps or geolocation, but surveying was fast and enjoyable.

Ilya Zverev

My focus on ground surveying started basically when I joined OSM. Among my first wiki pages was "Solo Mapping Party": thoroughly documented experience of drawing and filling in map sheets.

wiki.openstreetmap.org/wiki/RU

Seven years later I made a QGIS plugin for automatically forming walking papers of any area, with special care for mapping parties and making the map as big as possible.

openstreetmap.org/user/Zverik/

It resulted in my first pull-request to QGIS 3 — alas still not supported by the plugin.

My focus on ground surveying started basically when I joined OSM. Among my first wiki pages was "Solo Mapping Party": thoroughly documented experience of drawing and filling in map sheets.

wiki.openstreetmap.org/wiki/RU

Ilya Zverev

Surveying from a car passenger seat is something people rarely do. They prefer to, idk, make photos for Mapillary and call this mapping.

Precise surveying from a car is virtually impossible: when moving at 90 kph, each second you move by 25 m, which is like a bridge length.

So in 2012 I developed a tool that saved the exact time you pressed a shortcut. I also made a JOSM plugin to precisely align the measurements with the imagery.

wiki.openstreetmap.org/wiki/Na

Found ten logs, but no OSM uploads.

Surveying from a car passenger seat is something people rarely do. They prefer to, idk, make photos for Mapillary and call this mapping.

Precise surveying from a car is virtually impossible: when moving at 90 kph, each second you move by 25 m, which is like a bridge length.

So in 2012 I developed a tool that saved the exact time you pressed a shortcut. I also made a JOSM plugin to precisely align the measurements with the imagery.

Luc

@zverik the biggest problem with highway mapping (since you mention 90 km/h) is interpolation for me: the GPS just doesn't update frequently enough to place the exact point where this emergency phone or camera exists

Does the JOSM plugin do that when you import the gpx track and timestamp?

Ilya Zverev

@luc You noticed the problem exactly: GPS often logs points just once a second. That's why NanoLog makes a separate list of timestamps. When paired with a GPS track, you use that only as a line with a few fixed points.

But NanoLog points, you can move back and forth with a centimeter precision, using visible bridges and road markings for georeferencing.

I frankly don't remember the state of the plugin. I think I got it to move the points, liked what I saw, and jumped to another project :)

Ilya Zverev

Speaking of JOSM plugins, I've made a few.

This is Relation Toolbox. It reverses how we work with relations: instead of editing relations themselves, we edit an object's membership.

With it, you choose a relation, and then click on nodes and ways (and other relations) to add or remove them from the chosen one.

It also introduced automatic multipolygon construction and de-construction.

wiki.openstreetmap.org/wiki/JO

Fun fact: my first ever SotM talk (in 2011) was on this plugin.

Speaking of JOSM plugins, I've made a few.

This is Relation Toolbox. It reverses how we work with relations: instead of editing relations themselves, we edit an object's membership.

With it, you choose a relation, and then click on nodes and ways (and other relations) to add or remove them from the chosen one.

Ilya Zverev

You know how most imagery is offset, and you need to align it with GPS traces and other stuff before mapping? No? Haha.

My another project from that time was the Imagery Offset Database. A huge list of reference points than helps align imagery automatically. Complete with a JOSM plugin and tons of documentation. Turned eleven last month, still very active.

offsets.textual.ru/

iD editor was written by americans with perfect imagery, so it still doesn't support it:

github.com/openstreetmap/iD/is

You know how most imagery is offset, and you need to align it with GPS traces and other stuff before mapping? No? Haha.

My another project from that time was the Imagery Offset Database. A huge list of reference points than helps align imagery automatically. Complete with a JOSM plugin and tons of documentation. Turned eleven last month, still very active.

Ilya Zverev

The key to IODb's usefulness is collaboration: by using the stored offsets, you indirectly interact with other mappers to share the work.

Direct interaction was made possible with the GeoChat JOSM plugin. You see somebody having the same area open in JOSM — you say hi. Also helps avoid conflicts.

The protocol and the server are very simple (and hosted on OSM dev instance), I'm suprised it still works. Maybe somebody should remake it for modern age and mobile editors...

wiki.openstreetmap.org/wiki/JO

The key to IODb's usefulness is collaboration: by using the stored offsets, you indirectly interact with other mappers to share the work.

Direct interaction was made possible with the GeoChat JOSM plugin. You see somebody having the same area open in JOSM — you say hi. Also helps avoid conflicts.

The protocol and the server are very simple (and hosted on OSM dev instance), I'm suprised it still works. Maybe somebody should remake it for modern age and mobile editors...

Ilya Zverev

How much do you like mapping? Do you map every day? Do you WANT to map every day?

Inspired by other streak-tracking tools, from Pascal's HDYC to github, I have made a simple game: submit a changeset every day, and gain points. A bonus point if you do the task.

streak.osmz.ru/

The healthy thing would be to reach several hundred points and drop this. Please make breaks in your mapping! Tomorrow I'll show you how I did it.

Ilya Zverev

After two years of mapping, I noticed how OSM took over the major part of my life. So I've turned to programming, because technical solutions are the best, I mean, easiest.

"No more mapping" JOSM plugin, once installed, prevents JOSM from launching. Given at the moment the only alternative was Potlatch 2, which was sub-par for JOSM fans, it essentially blocked all mapping.

A few days later other developers deleted the plugin and its source code from the JOSM repository. Still remember that.

DELETED replied to Ilya
Ilya Zverev replied to DELETED

@1363487 hahaha right :) Alas JOSM development model requires core devs to update all the plugins after API changes, and this plugin was excluded from the updates, so now it just throws exceptions instead of shutting down JOSM.

Ilya Zverev replied to Ilya

So, back to editors, I guess. I wrote quite a few. Before Every Door, the most known was the low-level one. I didn't think of a name for too long.

Level0's main invention was not a user interface, but a user-editable representation of OSM XML. With it, it's pretty easy to edit tags, move or add POI, or even edit line geometries. All while feeling like a hacker.

wiki.openstreetmap.org/wiki/Le

It was obviously inspired by the french RawEditor, for which I even made a wrapper first.

Amᵃᵖanda 🌼 replied to Ilya

@zverik Level0 was a great, easy way for sites (like townlands.ie) to do simple “imports”/“mechanical edits”. I had the tags (in level0 format) which people could add to objects & a link to level0 edit URL. Mappers could open in new tab and paste the tags. Done. Edits in a few clicks.

Certain versions of this could be done with @MapRoulette now, I suppose. But level0 formatted tags & a URL is much faster to get working.

mtmail replied to Ilya

@zverik I still use it regularly. ♥️ addr:postcode and addr:city mixed up on 50 buildings? I query overpass for a list of ids, query level0 with those, search&replace, then upload again. Or easy to remove a member from a relation.

Ilya Zverev replied to Ilya

Copy-pasting an URL into Level0 just to edit tags was too much work, so recently I've made it into a browser plugin.

wiki.openstreetmap.org/wiki/Op

Really simple and obvious stuff: see a tag error? Click "Edit tags" and fix it. No need to go anywhere or deal with the javascript-heavy iD.

Inside it's a bunch of weird hacks. I'm still surprised that in two years nobody has tried to integrate it into the website itself. Like, whom are we making that website for?

github.com/openstreetmap/opens

Copy-pasting an URL into Level0 just to edit tags was too much work, so recently I've made it into a browser plugin.

wiki.openstreetmap.org/wiki/Op

Really simple and obvious stuff: see a tag error? Click "Edit tags" and fix it. No need to go anywhere or deal with the javascript-heavy iD.

TheStroyer replied to Ilya

@zverik it's unfortunate that there is so little improvement of the interface of the official OSM website. It seems to be stagnant. Is there no one who want to work on it?

Caleb Maclennan replied to Ilya

@zverik A tag editor should absolutely just come baked in to the #OSM site out of the box.

Ilya Zverev replied to Ilya

So this reminds me, right around the Level0 I also finished the project I spent three months on, day to day. It introduced maps to multiple forum engines.

MapBBCode is primarily a way to mark a map data in bbcode, which is text. The hard thing was to make a series of libraries and plugins and modules to integrate it and Leaflet into engines like phpBB and FudForum.

mapbbcode.org/

And then it turned out, finding people to share supporting would be much harder.

Ilya Zverev replied to Ilya

The last editor I wanna mention is Maps.Me editor. I didn't make it all by myself, obviously, we had a brilliant team, and I just helped from sidelines.

It brought a hundred thousand new mappers to OpenStreetMap, although few of them stayed. In my few talks on this I argued it was the future of contributing: millions who don't care about the map, but bring the data.

Maps.Me got bought out, so now I recommend its fork, @organicmaps (pictured). Amazing how they still keep going. Support them.

Ilya Zverev replied to Ilya

To monitor what people were actually editing with Maps.Me, I made a tracker: MMWatch. Alas there are no living instances of it now.

The idea was to make a feed that you could easily assess with your eyes. No changesets, lots of filters, all the information presented. Basically that what I expect of modern change monitoring tools, but oh well. "Show Me The Way" did it best.

Here you could also mark suspicious edits and revert them with a button. Reverters are kind of editors too.

Ian Dees replied to Ilya

@zverik I was just thinking about Show Me The Way ... how could I make it better? feels like it could use a refresh now that there are so many more edits happening than when it was created ~10 years ago

Ilya Zverev replied to Ian

@ian Frankly I mostly used is as a screensaver. In that regard, it would help to better randomize edits, e.g. skip consequtive edits from the same user. When you observe for minutes how somebody maps buildings in one village, it becomes stale.

There could be a brand new project for a "starship console", the same but with walls of relevant text, and maybe better grouping, so you could see a changeset in total.

Maybe with options to focus on action, and alerts when something suspicious happens.

Ian Dees replied to Ilya

@zverik yea I was thinking about an option to put all the changes on a slowly spinning globe rather than focusing on individual changes. Maybe highlighting spots with more changes than normal? 🤔

Ilya Zverev replied to Ian

@ian Depends on the "why". For a screensaver, its value is in showing the diversity of mapping, imo. Hense the density is a downside.

For a monitoring tool, I'd first go in the way of filtering changes. Both conventional (e.g. area) and not (e.g. imports, weird buildings and roads, updates to old objects). Since it uses changes, not changesets, it could have some interesting options.

Ilya Zverev replied to Ilya

Reverting a change has been as important task in OSM as it is impossible. With geodata, there are just too many edge cases. And OSM, unlike Wikipedia, is not a set of objects which you can process independently, it is one big ball of wibbly-wobbly nodely-wayly stuff.

So I thought it might be fun to write a proper 3-way reverter myself:

github.com/Zverik/simple-rever

It doesn't get too deep in algorithms, hence it can reject a changeset, but if it works, it works 100% without conflicts.

Ilya Zverev replied to Ilya

And if doing "pip install" is too much work, there is a web version of that, ready for your changeset lists:

revert.osmz.ru/

Of course it's limited, since I don't want to overload mine or API servers.

Kamil Monicz (NorthCrab) recently published his own take on such reverter, but the usage of Google's text processing library leads to weird unreported issues when reverting geometry modifications. So be careful:

wiki.openstreetmap.org/wiki/Os

Ilya Zverev replied to Ilya

After OWL (look it up) died, we were left without map monitoring tools. So I wrote a backend in Perl, learnt OpenLayers and made this website.

WhoDidIt tracks node edits and groups them into small rectangles, so you can see where people changed geometries, and could subscribe to an area.

My instance did non survive the https, but thankfully Simon made a fork. Alas I can't get it to work either:

simon04.dev.openstreetmap.org/

It's definitely old, OSMCha covers all that better. But it was pretty.

After OWL (look it up) died, we were left without map monitoring tools. So I wrote a backend in Perl, learnt OpenLayers and made this website.

WhoDidIt tracks node edits and groups them into small rectangles, so you can see where people changed geometries, and could subscribe to an area.

My instance did non survive the https, but thankfully Simon made a fork. Alas I can't get it to work either:

Ilya Zverev replied to Ilya

For a possible new version that also accounted for ways and relations, I first looked at augmented diffs. But every time I try to use them, I regret it.

So I started writing "changechange": a script that keeps track of references and enriches official osmChange files with geometries and references.

github.com/Zverik/changechange

It would not lead to 100 MB minutely diffs, like in Overpass, but enough to keep track of changes and maintain filtered extracts.

Didn't have resources to finish though.

For a possible new version that also accounted for ways and relations, I first looked at augmented diffs. But every time I try to use them, I regret it.

So I started writing "changechange": a script that keeps track of references and enriches official osmChange files with geometries and references.

github.com/Zverik/changechange

Ilya Zverev replied to Ilya

Regarding mapping statistics, we are still down to counting nodes and ways. For a mapping party in 2021 I spent three weeks experimenting with something better.

OSM Changes Counter is not well documented, but can count changes to objects of a given type, split them by city, apply weights (e.g. tagged node is worth more than a road way).

It also correctly counts roads splits and merges to output results in km — I think it's the only tool in all OSM that does that.

github.com/Zverik/osm-changes-

Regarding mapping statistics, we are still down to counting nodes and ways. For a mapping party in 2021 I spent three weeks experimenting with something better.

OSM Changes Counter is not well documented, but can count changes to objects of a given type, split them by city, apply weights (e.g. tagged node is worth more than a road way).

Ilya Zverev replied to Ilya

This one is not about OSM, but might be interesting to railway enthusiasts like me :)

GeoAlbum is a photo album with geospatial context. The script was inspired by @tmcw 's Big: keyboard navigation, data in html tags. You make an html page, include the library file, and it turns into an interactive album with numbered photos and additional layers.

github.com/zverik/geoalbum

I used it to share photos from a railway construction site along three years:

textual.ru/lk120430/

Ilya Zverev replied to Ilya

In 2020 the @sotm was held online for doomsday reasons. I usually help with fun things at these conferences, so for 2020 I made an @openstreetmap quiz. Having tried it now, I'd say I made it a bit harder than I should have.

zverik.github.io/sotm2020-quiz

Being a fan of data structures, I of course made it a quiz framework, but unlike GeoAlbum, this repo got zero forks. Probably because I didn't share it much.

Today is the last day to submit your talk for @sotm 2024 btw!

2024.stateofthemap.org/calls/g

In 2020 the @sotm was held online for doomsday reasons. I usually help with fun things at these conferences, so for 2020 I made an @openstreetmap quiz. Having tried it now, I'd say I made it a bit harder than I should have.

zverik.github.io/sotm2020-quiz

Being a fan of data structures, I of course made it a quiz framework, but unlike GeoAlbum, this repo got zero forks. Probably because I didn't share it much.

Ian Wagner 🦀 :freebsd: :osm: replied to Ilya

@zverik @sotm @openstreetmap that was hard 😂 at least I got a “long-time mapper” score.

Ilya Zverev replied to Ilya

I dabbled in creating map styles like ten years ago, with Mapnik and TileMill. For our local cycling community I made a style that looks excellent printed in black&white, on which we could overlay routes. It was called like the community: "Veloroad".

Trained eye could notice multiple things on it that even modern styles don't do: look at road and river names, station symbols, place visibility.

There is a working tile server, but super slow. Probably gonna take it down.

osmz.ru/veloroad.html#7/58.374

I dabbled in creating map styles like ten years ago, with Mapnik and TileMill. For our local cycling community I made a style that looks excellent printed in black&white, on which we could overlay routes. It was called like the community: "Veloroad".

Trained eye could notice multiple things on it that even modern styles don't do: look at road and river names, station symbols, place visibility.

Ilya Zverev replied to Ilya

Obviously running command-line tools to produce a map is not ideal for non-GIS people. So I also made a web UI to prepare route maps.

You just upload a GPX trace, adjust the printing bounds, add a scale bar if needed, and download a PDF. Another online tool would merge several PDFs into a booklet.

It's actually a set of tools underneath, some fix mapnik's SVG issues, some preprocess the values. I know of at least one business spawned from this (not mine obviously).

TheStroyer replied to Ilya

@zverik would you have preferred it would be your own company to make a product out of it? Or do you want to have a different company based on OSM?

Fla replied to Ilya

@zverik @organicmaps OrganicMaps makes it easy to *add* a place, but I never found how to *edit* one.

Organic Maps replied to Fla

@fla @zverik select a place and press Edit Place button at the bottom. Just make sure you have the latest maps data.

Fla replied to Organic

@organicmaps @zverik

I dont have any Edit button. I am correctly logged in my OSM account. My build is 2024.03.31-8-FDroid but it was also the case with all the previous version.

Mikkel Roald-Arbøl replied to Organic

@organicmaps @fla @zverik I also don’t have an Edit button on iOS. On the newest Testflight version 2024.03.31 (7).

Ilya Zverev replied to Mikkel

@roaldarboel @organicmaps @fla Edit button is not shown if maps are older than three months. Could you plz check that your maps are updated?

Fla replied to Ilya

@zverik @roaldarboel @organicmaps

Ah, indeed, that's the reason! Well, would have been better to still display the button but then explaining that maps have to be updated first.

Christopher M0YNG

@zverik @everydoor well this looks interesting. Looks like it solves a gap I'd been frustrated with in street complete (does the bench have a back? Well yes, but what about that bench that you don't know about?)
I've installed!
Thanks for your work :alex_heart_eyes:

Go Up