Email or username:

Password:

Forgot your password?
Top-level
Ilya Zverev

This one came up yesterday, while preparing for @organicmaps GSoC student work.

When developing an editor, you need to work with OSM Sandbox, a dev copy of API with no data. Sometimes it's frustrating because complex data is where an editor breaks. Usually I downloaded an OSM extract in JOSM, fixed ids, and uploaded it to the Sandbox, but on the 100th time I gave up.

github.com/Zverik/osm_to_sandb

This script helps you transfer a bbox worth of data in two commands, one of which is pip install.

27 comments
Organic Maps replied to Ilya

@zverik Does the script also change IDs? What does "fix ids" mean? For readers' info, Organic Maps Editor doesn't store IDs and doesn't rely on them.

InsertUser replied to Organic

@organicmaps
I'd guess it flips them to be negative and resets any version numbers so that the dev server recognises them as new and assigns IDs to them rather than rejecting them as unknown.
@zverik

Ilya Zverev replied to Organic

@organicmaps To upload objects to the sandbox, you need to give them negative ids and keep the references. This is not related to OM, just a low-level API stuff.

Ilya Zverev replied to Ilya

Okay I skipped three days, so here are three tweets on a big thing I did at Maps.Me. It's on the deep end of the iceberg.

In short, I was tasked with bringing subway networks to the app. Which was based on OSM data, so naturally I thought how to fix the data model: every city had its own tagging schema.

To monitor the process, I wrote the validator, which now powers @organicmaps :

cdn.organicmaps.app/subway/ind

Alexey later improved it, a lot. Now there are over 300 cities, all uniformly mapped!

Okay I skipped three days, so here are three tweets on a big thing I did at Maps.Me. It's on the deep end of the iceberg.

In short, I was tasked with bringing subway networks to the app. Which was based on OSM data, so naturally I thought how to fix the data model: every city had its own tagging schema.

Ilya Zverev replied to Ilya

It was made possible with planning, iterating, and preparing a detailed tagging schema that incorporated most tagging practices:

wiki.openstreetmap.org/wiki/Me

It started as a proposal, which failed the voting. Then I made another proposal, but didn't have the nerve to go through voting the 2nd time.

But also I noticed how most objections come from just a few people in EU, so I just started tidying up networks in many cities, and when we passed 80 (with help of other OSMers), it became the standard.

It was made possible with planning, iterating, and preparing a detailed tagging schema that incorporated most tagging practices:

wiki.openstreetmap.org/wiki/Me

It started as a proposal, which failed the voting. Then I made another proposal, but didn't have the nerve to go through voting the 2nd time.

Ilya Zverev replied to Ilya

At that point I was ready to tackle the general public transport schema. After all, PTv2 is impossible to route over and a pain to use.

So, with experience in processing PT data for routing and validation, I generalized it for all kinds of transport, and presented at @sotm in Milan:

wiki.openstreetmap.org/wiki/Pr

Technically it's flawless. It has full backward compatibility, easy to map, tagging is pretty and conscise.

But at that point I got burnt out at my job and couldn't make the final step.

At that point I was ready to tackle the general public transport schema. After all, PTv2 is impossible to route over and a pain to use.

So, with experience in processing PT data for routing and validation, I generalized it for all kinds of transport, and presented at @sotm in Milan:

wiki.openstreetmap.org/wiki/Pr

Ilya Zverev replied to Ilya

(should mention that there are TONS of nuances that don't fit into tweets.)

Two main issues with the proposal that don't make it a perfect one:

- It's too wordy, nobody would read it, despite the core idea is very simple (stop nodes).

- It challenges the current tram stop mapping (and nothing else).

The new PT schema should've been perfect in 2018 to be approved, and now it should be double-perfect, otherwise it won't pass any discussion. Everybody in OSM has their own opinion on PT mapping.

Ilya Zverev replied to Ilya

Keeping an up-to-date rendering database means relying on worldwide replication streams from osm.org or per-country streams from @geofabrik . But what if I want my own extract area?

In 2014 I dug into osm2pgsql's "slim" tables, and wrote a script to trim the data outside a given polygon:

github.com/Zverik/regional

I use it for my "veloroad" tile server, but not sure if it works: the database grows pretty fast. Maybe it's just because people are mapping more than ten years ago.

Ilya Zverev replied to Ilya

This one is new. Couple days ago I released @everydoor 5.0, and for it I made a new thing.

GeoScribble takes inspiration from OpenStreetBugs, which was where we put our OSM notes before 2013. Just a simple server with no auth and a few fast endpoints.

wiki.openstreetmap.org/wiki/Ge

The idea is, you draw lines and leave short notes on the map. Just like with walking papers.

I see it already being used in multiple countries. The layer can be added to @josmeditor and Rapid, or browsed online.

This one is new. Couple days ago I released @everydoor 5.0, and for it I made a new thing.

GeoScribble takes inspiration from OpenStreetBugs, which was where we put our OSM notes before 2013. Just a simple server with no auth and a few fast endpoints.

wiki.openstreetmap.org/wiki/Ge

The idea is, you draw lines and leave short notes on the map. Just like with walking papers.

TheStroyer replied to Ilya

@zverik @everydoor @josmeditor wow, that looks like it can improve the editing workflow a lot

Ilya Zverev replied to TheStroyer

@TheStroyer @everydoor @josmeditor

Indeed! Just last Sunday I was walking with my friends in a forest, and surveyed a few streams and boardwalks this way. They would be lost if not for the drawing feature.

Editing ways properly (e.g. in @vespucci_editor ) needs too much involvement, compared to just a single finger movement in ED.

vespucci replied to Ilya

@zverik @TheStroyer @everydoor @josmeditor why draw? just record a GPX track ...

PS: in a forest you probably want to use a DTM anyway for tracing.

PPS: not to mention that you are massively overstating the effort to simply directly add things.

Ilya Zverev replied to Ilya

Since we're mentioning @josmeditor , here's one thing I made a long time ago:

josm.ru/

Yeah, that's a proper landing page (in Russian), with a few buttons, shortcuts to most important pages like a forum thread or a tag list, and a tutorial video.

I even browsed the changelog and added interesting changes to the feed, but stopped in 2020. I still use the page to download updates though.

Ilya Zverev replied to Ilya

I'm a bit out of breath, but def not out of projects :) Gonna keep doing this until I get an answer from NLNet.

In 2010 Microsoft granted to OSM permission to trace Bing imagery. It was the only detailed imagery layer we had in Russia, so that enabled making a validator that found illegal imagery usage (google / yandex):

vakhtyor.osmz.ru/

Basically it watched where people uploaded buildings and checked for available Bing imagery.

In 2014 we got Mapbox layer, and I turned this off.

Ilya Zverev replied to Ilya

There are different kinds of imports. Safest are those done by hand, but also the dirtiest, in my opinion: it's easy to miss or to get lazy and just press upload.

For towns and villages, the best source we had was GNS, an american database of toponyms. I converted it to OSM format and wrote a short manual on copying it onto the map:

gns.osmz.ru/

Interesting that while box=yes parameter doesn't work on osm.org nowadays, parameters minlat, maxlat etc still do.

SK53 replied to Ilya

@zverik Still loads of redundant GNS tags on place nodes in Ireland (probably imported by Dermot - mackerski). Until the townlands project got going they were still the major source of places in rural Ireland. Still a lot of dedup & other cleanup needed.

I also did a bit with them for Pakistan, but never could trust the data in a country where the population had increased so much : sk53-osm.blogspot.com/2011/03/ (probably should correct GNIS->GNS

Ilya Zverev replied to SK53

@SK53 yeah, what felt a good idea in 2011, not that much now :)

Ilya Zverev replied to Ilya

So, imports. When I was working at Maps.Me, many companies asked if we can put them on the map. So I made another thing.

OSM Conflator takes a data source and carefully merges it with OSM data, with a way to update it later.

wiki.openstreetmap.org/wiki/OS

While it can take a plain JSON with tags, it is most powerful with profiles: Python scripts that control the behaviour.

It can export a preview GeoJSON and has other ways of adhering to the guidelines. Alas, few people had enough skill to use it.

So, imports. When I was working at Maps.Me, many companies asked if we can put them on the map. So I made another thing.

OSM Conflator takes a data source and carefully merges it with OSM data, with a way to update it later.

wiki.openstreetmap.org/wiki/OS

While it can take a plain JSON with tags, it is most powerful with profiles: Python scripts that control the behaviour.

Ilya Zverev replied to Ilya

Having a GeoJSON to preview an import is good, but how to suggest amendments?

That's why I made CF Audit: an interactive website to go through changes one by one, cross-reference them, and fix anything wrong.

Those fixes are kept for consequent imports with OSM Conflator, so less work next time.

audit.osmz.ru/

I know RocketData iterated on it for their operations, and there's a new IFS fork by @sfkeller team: cfauditgui.geoh.infs.ch/

Ilya Zverev replied to Ilya

So I got the conflator, and I got the audit tool, and the entire pipeline as shown on the picture. Did I use it?

Oh did I even. 5k Walmart supermarkets, tens of thousands Shell fuel stations, ~10k addresses in Moscow, various restaurant and shop chains... It all worked perfectly.

Of course it was just a few imports. I envisioned an automated system for high volume of data, still controllable by OSMers, but nobody asked for that, and I didn't have time.

Still, mentioned it at SotM EU 2023.

Ilya Zverev replied to Ilya

OSM Cards is a postcrossing thing for OpenStreetMap members. You get a person's postal address, write them a few encouraging words on a postcard and add a 5-letter code. When received, they type those letters in a form, and the connection is set up.

I announced this website at SotM 2020 and got a few beautiful cards. I lived in Minsk back then and printed like 50 postcards with the city map to send out — and now idk what to do with them :)

Send me one if you like: osmcards.org/profile/bqh2on123

OSM Cards is a postcrossing thing for OpenStreetMap members. You get a person's postal address, write them a few encouraging words on a postcard and add a 5-letter code. When received, they type those letters in a form, and the connection is set up.

I announced this website at SotM 2020 and got a few beautiful cards. I lived in Minsk back then and printed like 50 postcards with the city map to send out — and now idk what to do with them :)

Ilya Zverev replied to Ilya

You know OpenWhateverMap.

openwhatevermap.xyz/

Grant made the original version, then we lost the domain, and then I updated it with modern tiles and some interactivity: clicking on a tile reveals its name and URL.

David replied to Ilya

Very cool, I'm just missing #openseamap

Ilya Zverev replied to Ilya

For the @sotm in Firenze I went all-out with the remote participation part. One thing I did was a Telegram bot, where people from anywhere could introduce themselves.

The idea was to put a face to hundreds of names on online channels. Because once you have a face and a voice attaches to words, it's impossible not to feel a proper conversation going when you type.

Not many people contributed, but still, was fun. The bot was disabled after the conference ended of course.

Go Up