OpenStreetMap logo OpenStreetMap

blackboxlogic's Diary

Recent diary entries

Disappointed (But Not Surprised)

Posted by blackboxlogic on 23 July 2020 in English. Last updated on 2 August 2020.

Facebook and ESRI announced they were adding additional data-sources into their iD fork called rapiD. They’ve collected data sources, performed schema translation, and created a conflation tool, but after being asked to follow the import process, they’ve insisted it’s not an import and they don’t need to solicit community feedback.

So here’s some feedback which they might have gotten from the community, if they had asked.

MapWithAI Data Source License

  • The Services Data is made available to you under the terms of the MIT license. I’m not a lawyer, but the MIT license isn’t compatible with ODbL and OSM. This could lead to all edits from rapiD needing to be reverted. Each data source license should be documented inside OSM’s wiki, with your import proposal.
  • You may not ... reverse-engineer any of the software you forbid critical analysis of your import. Nice.
  • you accept any changes to the Terms by continuing to use the Services after We post the changes Truly evil!

MapWithAI Data Source Quality

  • The AI generated way geometry looks good, but the highway tag values seem consistently wrong. The acceptable error rate for an import is debatable, I aim for > 95% accuracy in my work. It is irresponsible to even suggest low quality data. You should prompt the user to supply the highway tag’s value instead.

Esri Data Translation

See full entry

Turn Left at People's United Bank

Posted by blackboxlogic on 16 June 2020 in English. Last updated on 24 June 2020.

I just finished the Maine address import and thought I might share a narrative.

Origin Story

In early 2019, I was driving home, getting directions from google maps. I had grown apathetic to fast food restaurants highlighted on the map, but on this trip, the google lady vomited forth: “Turn left at People’s United Bank”. She might have said “turn left on Main Street” or just “turn left” but the application I trusted for navigation went out of its way to shill a business. I was left wondering “what else does it do”. Could advertisers pay to /optimize/ my route, sending me past their venue? That sounds /crazy/, and plausible. So it was time to make a change.

The alternative I found was OsmAnd. But upon trying it, I found Maine was missing nearly all addresses. I was baffled how that could be, and dismayed that I might crawl back to google maps. This wasn’t just impeding me, this would block anyone in Maine from switching, and /I am stubborn/. I realize everyone can contribute to OSM and Maine had a handful of contributors, but at the current rate, Maine may not be navigable within my lifetime. It needed a push.

Programming Montage

I had a vague idea of “get data from here” and “put data there”. The APIs had documentation and I had a compiler, how hard could this be? I started developing tools in July of 2019. In the beginning, I had two concerns:

  • I could lose interest and leave the work “half done”, and regret that I ever started
  • I could do a terrible job… and regret that I ever started

Looking back, this project held my attention the whole way and I’m satisfied with the results.

Side node: Did I look for existing tools? Yes, but I’m a software engineer and when you have a hammer everything looks like a nail.

Using my language of choice, I wrote an Osm API client, a client for Maine’s address API, a E911-to-OSM schema translator, a conflation engine, and a command line interface to tie it together.

Lessons Learned

Some effects of writing my own tools:

See full entry