Email or username:

Password:

Forgot your password?
Top-level
Ilya Zverev

Back to OSM, here's one you'd ban if you could.

Sisyphus make a person's mapping work as pointless as rolling a stone up a mountain. It plain reverts every changeset a person uploads to OpenStreetMap.

We used it in Maps.Me for reverting edits of our QA team.

Not ideal, which Frederik noted, but it works, the map is clean, no hassle with moving data to the sandbox.

Uses simple_revert as a library, of course. That library is underrated.

github.com/Zverik/sisyphus

5 comments
Ilya Zverev replied to Ilya

People usually need three things from maps: tiles, geocoding, and routing. Three things too mundane to work on.

For Maps.Me Changes Monitoring, I filtered edits by countries. For that I wrote a simple reverse geocoder: QueryAt.

It returns a country, a region, and a populated place for a given location. 3 GB database for the entire world, no configuration or query parameters.

Won't recommend using it now though: 8 years later, you could do better.

github.com/zverik/queryat

Ilya Zverev replied to Ilya

The recent discussion around "class:bicycle" tag reminded me of my "surface:grade" proposal — basically the same thing, but done 13 years earlier, with 25k usages as of now and no clear documentation.

wiki.openstreetmap.org/wiki/Pr

Basically it's a measure of surface quality relative to roads with that surface quality. Not all roads ever, like smoothness=*.

You see a perfect gravel road? surface:quality=3. You're on a technically asphalt road and moving 1 km/h wishing they left it unpaved? Zero.

The recent discussion around "class:bicycle" tag reminded me of my "surface:grade" proposal — basically the same thing, but done 13 years earlier, with 25k usages as of now and no clear documentation.

wiki.openstreetmap.org/wiki/Pr

Basically it's a measure of surface quality relative to roads with that surface quality. Not all roads ever, like smoothness=*.

Ilya Zverev replied to Ilya

Having tag proposals on this list feels like cheating — despite those take weeks to materialize, mostly because of research and writing and discussing in our Russian-speaking community.

For example, my turns lanes proposal took two weeks researching eight other proposals, charting examples, writing the proposal and FAQ.

wiki.openstreetmap.org/wiki/Pr

It failed because it was hard to understand, unlike the semantically weird but simple turn:lanes schema.

Mappers need simple, not consistent.

Having tag proposals on this list feels like cheating — despite those take weeks to materialize, mostly because of research and writing and discussing in our Russian-speaking community.

For example, my turns lanes proposal took two weeks researching eight other proposals, charting examples, writing the proposal and FAQ.

Ilya Zverev replied to Ilya

When I set out to write a reverse geocoder, I had a very narrow scope in mind: basically the east coast of the US. But the longer you study something, the more edge cases you find. Got a few talks out of it:

youtube.com/watch?v=sjE6xy0BBg

Juno Reverse Geocoder is covered in tests no other geocoder would pass, and is built on SQL. I bragged that it was faster than Nominatim, but recently I've tested it and it's like 8 times slower. Still, worked fine for our company.

github.com/gojuno/jrg

When I set out to write a reverse geocoder, I had a very narrow scope in mind: basically the east coast of the US. But the longer you study something, the more edge cases you find. Got a few talks out of it:

youtube.com/watch?v=sjE6xy0BBg

Juno Reverse Geocoder is covered in tests no other geocoder would pass, and is built on SQL. I bragged that it was faster than Nominatim, but recently I've tested it and it's like 8 times slower. Still, worked fine for our company.

SK53 replied to Ilya

@zverik sounds a bit like user GeneralDreedle, although that account automatically everted edits by fantasy mappers

Go Up