OpenStreetMap logo OpenStreetMap

mvexel's Diary

Recent diary entries

Americans love cars. More than 90% of households own one, more than 20% of households own 3 or more. Cars stand still most of the time and for that, we need huge amounts of parking.

picture of parked cars

Image source: Flickr Commons

The simplest way to map a parking area in OSM is to draw an area and mark it amenity=parking. It will then show up on the map as a grey area with a blue “P”. In the United States, almost a million areas exist with the amenity=parking tag.

See full entry

Location: East Liberty Park, Salt Lake City, Salt Lake County, Utah, 84105, United States

osmdiff 0.3.2

Posted by mvexel on 13 October 2022 in English.

I’ve spent a few evenings and spare hours this week dusting off and updating osmdiff. If you’re a python developer and you need to interact with replication diffs or augmented diffs, this may just be something of interest to you. osmdiff can retrieve replication diffs as well as augmented diffs from OSM servers, and parse them into native Python Node, Way and Relation objects you can use in your code. This lets you do things like

>>> from osmdiff import OSMChange
>>> o = OSMChange()
>>> o.frequency = "minute"  # the default
>>> o.get_state()  # retrieve current sequence ID
>>> o.sequence_number
2704451
>>> o.retrieve()  # retrieve from API
>>> o
OSMChange (677 created, 204 modified, 14 deleted)

Once you have the data, you can filter and inspect it:

>>> w = [n["new"] for n in a.modify if n["new"].attribs["id"] == "452218081"]
>>> w
[Way 452218081 (10 nodes)]
>>> w[0]
Way 452218081 (10 nodes)
>>> w[0].tags
{'highway': 'residential'}
>>> w[0].attribs
{'id': '452218081', 'version': '2', 'timestamp': '2017-11-10T13:52:01Z', 'changeset': '53667190', 'uid': '2352517', 'user': 'carths81'}
>>> w[0].attribs
{'id': '452218081', 'version': '2', 'timestamp': '2017-11-10T13:52:01Z', 'changeset': '53667190', 'uid': '2352517', 'user': 'carths81'}
>>> w[0].bounds
['12.8932677', '43.3575917', '12.8948117', '43.3585947']

You can also use osmdiffs implementation of Node, Way and Relation objects separately if you need just those, the library is quite small and has few dependencies (just requests and dateutil)

On the list of things in development and slated for the next release are: * Python __geo_interface__ support so you can easily use them in other Python modules that support them like shapely and geojson * Retrieving individual OSM features from the OSM API * Ability to create an AugmentedDiff / OSMChange object with a datetime parameter, which will then calculate the sequence number for you * More tests, always more tests, and CircleCI integration

See full entry

Mall Mapping with Every Door

Posted by mvexel on 6 October 2022 in English.

After I reconnected with Ilya at SOTM and talked to him about his new app Every Door, I thought it would be nice to organize a mapping party around it back home. I just got back from some Mall Mapping with a small OSM Utah group, and wanted to share my experiences with the app.

every door at the mall

First things first, the app works great. The fact that it’s on Android and iOS and looks and works the same on both platforms is great. The interface is snappy, there’s no annoying crashes or delays, and everything is fairly easy to discover and learn how to use.(However, this is coming from a group of people who have experience with OSM mapping and are at least a little savvy about technology..)

Interface

There were two interface elements that took us a little time to figure out. One was the “modes” at the bottom. The default mode is POIs (the coffee cup icon). It is not immediately clear what the other modes do, but for people with some experience with OSM, you can figure it out in a few minutes.

See full entry

Location: Fashion Place Mall, Murray, Salt Lake County, Utah, United States

Specialized mappers

Posted by mvexel on 5 October 2022 in English.

From time to time, I come across mappers that really specialize on a specific mapping topic. I was doing some random mapping in my state when I came across this very well mapped school:

school well mapped

This mapper, Chef7, has mapped lots of schools across the United States in high detail:

See full entry

Location: 9th & 9th, Salt Lake City, Salt Lake County, Utah, 84102, United States

Changeset age / ID Confusion

Posted by mvexel on 4 October 2022 in English.

I was visiting my HDYC page today. I always get sentimental looking at my first changeset, a neat feature on HDYC. Here it is with ID 90313. This makes sense to me; I lived in that part of Amsterdam at the time and the timestamp coincides with the day I created my OSM account (while participating in a weekend-long mapping party).

But, when I scroll to the bottom of the changeset page info panel, I see there’s a previous changeset:

previous changeset?!

How is that possible? If I click on the previous changeset until there is no more previous changesets, I end up at this one, with ID 7671. But that changeset was opened and closed 10 months later, in April 2008.

I always assumed that changesets with a higher ID would also be newer, but that’s obviously not always true. My best guess is that the database got reshuffled in the early OSM API days. Perhaps coinciding with the disabling of anonymous edits in late 2007?

Mysterious. How will I be able to sleep now?

Location: Central City, Salt Lake City, Salt Lake County, Utah, 84111, United States

RapiD is an alternative to the OpenStreetMap iD editor that adds the ability to easily add data from approved external sources to OSM. Chances are that you—like me—know RapiD from the MapWithAI initiative, Facebook / Meta’s effort to publish road geometry derived from aerial imagery using machine learning. RapiD started out to support this effort; a fork of the iD OSM editor, RapiD added a layer to display the ML-detected road segments, and a nice user interface to add these segments to OSM, connecting them with the existing road network where possible.

rapid in ml roads mode

See full entry

Location: Central City, Salt Lake City, Salt Lake County, Utah, 84111, United States

New User Diaries page on the OSM wiki

Posted by mvexel on 16 September 2022 in English.

There was an interesting discussion following my recent diary post asking about searching diary content. A couple of people remarked that most search engines have built-in syntax that lets you narrow down search results. One person suggested that it might be enough to just mention this on the OSM wiki. When I went to add this tip, I found that there was no wiki page describing User Diaries at all. So I created an initial version. I’m writing this in hopes that others will go in and help improve it. Thanks, and happy mapping!

Location: Central City, Salt Lake City, Salt Lake County, Utah, 84111, United States

Searching Diaries

Posted by mvexel on 14 September 2022 in English.

I was going to search to see if someone had already written about this, but..

It would be really useful to be able to search the diaries.

There is so much valuable, fun, informative, personal writing on here, but it is really hard to discover.

Fortunately, Weekly OSM does a good job of capturing some of the interesting entries posted here, but they can’t possibly cover everything.

I’m not sure what would be involved in adding this functionality, I am sure if it were easy, someone would have already done it. Someone did open an issue for it on Github but it has received no comments so far.

Is there anyone here who speaks Ruby, cares about this, and wants to implement it?

Location: Central City / Liberty-Wells, Salt Lake City, Salt Lake County, Utah, 84111, United States

DYI Vintage Tile Server

Posted by mvexel on 13 September 2022 in English.

Ilya wrote about the 10th anniversary of OSM adopting the ODbL license yesterday. He has a cool 2012-2022 map compare web site to go with it. It’s incredible to see what we, the OSM community, have accomplished building our map in 10 years.

Ilya is a pretty technical guy and it’s not a huge thing for him to set up an OSM tile server from scratch. But what if you want to create something similar and you’re perhaps not quite that technical? If that’s you, I have something you might be interested in! It’s a little open source project on Github called openstreetmap-vintage-tile-server. With it, you can create a side-by-side map in a few pretty simple steps. The README on Github explains it pretty well, so I won’t repeat it here, but the steps are basically:

  1. Make sure you have docker and osmium installed
  2. Download a full history planet for the area you’re interested in (Geofrabrik has these, but you have to log in with your OSM account)
  3. Run the script

When it finishes, the tiles should be available on your local machine. The script will give you the URL to go to. There’s also an HTML example that you can use to create an interactive side by side map like this:

See full entry

Location: Central City, Salt Lake City, Salt Lake County, Utah, 84111, United States

Adding Microsoft Building Footprints To OSM With MapRoulette: Why And How

Posted by mvexel on 23 May 2022 in English. Last updated on 24 May 2022.

This is a cross-post from my blog

Microsoft released a machine-generated dataset of building footprints for the United States some years ago. The footprints are derived from aerial imagery. This works well, most of the time. Where you run into problems is in rural areas, especially where there’s natural features and topography that throws the machine learning off. Then the machine starts to think all kinds of things are buildings:

See full entry

I like to reach out to mappers who are new to the area where I live, just to say hi and make them feel welcome, and invite them to our local meetups. I use a tool called Meet Your Mappers to identify the mappers who are new in my area, and use a spreadsheet to organize the work to contact them. Pretty low-tech :) and I know there are some tools that can help organize this work, but this works for me! So a quick explanation of how I do it:

Meet Your Mappers is a web based tool that retrieves a list of mappers in a given area and classifies them by their activity patterns. You select an area or enter an OSM relation ID for an area:

And after a while you get the result, a list of mappers with some interesting data, that you can save as a CSV file:

See full entry

Location: Astra Tower, 89 East, Salt Lake City, Salt Lake County, Utah, 84111, United States

Resurrecting Meet Your Mappers

Posted by mvexel on 29 August 2020 in English.

A couple of years ago, I released the Meet Your Mappers tool that helps you find active mappers in your area based on live and historic OpenStreetMap data. It is different from other tools that let you locate nearby mappers in that it analyzes actual OSM data instead of changeset metadata, giving a more accurate result. It also categorizes mappers so you can see only ‘power’ mappers, or filter out mappers who are no longer active. I wrote about this tool on my blog before.

I didn’t advertise the tool very much since, and few people were using it. In a server switch it even went offline for a while. Now it’s resurrected, and I also published a video explaining how to use it.

video screenshot

I hope it’s useful, let me know if you have questions! Here’s a direct link to the tool.

MapRoulette News for August 2020

Posted by mvexel on 10 August 2020 in English.

We’ve been keeping busy this summer! Here are the highlights for the July releases.

Easier Challenge Creation

We completely redesigned the Challenge Creation Wizard, with a focus on gathering the essentials first, and de-emphasizing less-used settings and options. If you have used the Challenge Creation wizard before, we hope you will appreciate the improvements! And if you have never tried to create a MapRoulette Challenge before, give it a try and see how easy it is to create Tasks for fellow mappers to solve!

Leaderboard Improvements

You can now select a custom date range for the Leaderboard. Existing options like ‘Past Year’, ‘Past 3 Months’, etcetera, will still be available. We also show some more detail about the Challenges most worked on by the top MapRoulette mappers.

Global Live Activity View

Have you ever wanted to see where mappers are solving Tasks in MapRoulette right now? You can now, with the new Global Activity view! You can see new Tasks being solved on a world Map, and a live stream of the activity as well. It’s still experimental and we would love to hear what you think about it!

New Translations

The MapRoulette community has been hard at work translating the MapRoulette UI into more languages. It is great to see MapRoulette become available in more mappers’ native languages! It’s easy to participate in the localization effort at Transifex.

See Nearby Next Tasks

When you confirm and finish a MapRoulette Task, you will now see a map showing more nearby Tasks to solve. You can select whether you would like to work on a Nearby Task next, or a Random Task. This new interactive map view can help you choose!

Set Preferred MapRoulette Tags

See full entry

MapRoulette 3.5: Task Search Re-imagined

Posted by mvexel on 6 December 2019 in English.

A little-known feature of MapRoulette is somewhat hidden away on the Find Challenge page: if you zoom the map in far enough, you see individual Tasks appear on the map.

screenshot of maproulette new find challenge page

You can click on the task markers and learn more about the Challenge, and start the Task. Moreover, you can create a Virtual Challenge that contains all the Tasks on the map—useful for a mapping event or to share with your local mapping group!

Thanks to a complete overhaul of the way we load Tasks on the map, we can now start showing them efficiently at much lower zoom levels. That means that you can get an overview of where Tasks are in your geographical area of interest.

See full entry

Location: Granary District, Salt Lake City, Salt Lake County, Utah, 84101, United States

Introducing MapRoulette Quick Fixes

Posted by mvexel on 16 October 2019 in English.

MapRoulette serves you quick tasks that make it easy for you anyone to find something meaningful to map. The way that worked until now required loading the data related to the Task into JOSM or iD, fixing it there, and returning to MapRoulette to say you fixed it, and then move on.

Now, we’re introducing a new type of Task: the Quick Fix. In a Quick Fix Task, MapRoulette will present the suggested fix to you, and all you need to do is click Yes to agree with the fix, and the change will be applied to OSM directly.

Let’s look at an example. Consider this aerial image of a Wendy’s restaurant:

wendy's aerial

You can see from the aerial imagery that this restaurant has a drive_through: you can see cars snaking around the structure on a dedicated lane.

However, this restaurant does not have drive_through=yes in OSM. A simple fix that MapRoulette Quick Fixes are ideally suited for.

See full entry

MapRoulette 3.3.3 is out!

Posted by mvexel on 26 July 2019 in English.

tl;dr the release notes 📗

The latest version of MapRoulette, 3.3.3, was released today on maproulette.org. There have been a few notable new features and updates since I last wrote about MapRoulette in the 3.3 release post, so here’s a new diary entry to talk about what has happened since in MapRoulette land!

Virtual Projects

Challenges are organized in Projects. A Project lets you, or your organization, organize Challenges that belong together. You can create as many projects as you like, and move Challenges between them if you want. Each Project’s page lets you review progress metrics and comments for all challenges in a project, combined. This is pretty handy, but also a bit limited. That’s why we added Virtual Projects. Virtual Projects are different in a few ways:

  • You can add any Challenge to a Virtual Project, not just your own.
  • Challenges can belong to more than one Virtual Project.

Just like regular Project pages, your Virtual Project’s page has progress metrics and comments related to all challenges that are currently in your Virtual Project. You create a Virtual Project just like you would a regular Project.

Improved Mapillary integration

We introduced a Mapillary overlay in version 3.1.1, but it was not so great to use yet. We have improved it a lot, it now shows Mapillary image locations that are more relevant to the task location, and we use the native Mapillary viewer widgets, so you can zoom in and easily skip to the next or previous images in a Mapillary sequence.

See full entry

At OSM Utah, we hold an OSM mapping night every month. If you are in the Salt Lake City area, you should stop by. The details are on our Meetup group.

This month we will do a photo mapping night. Photo mapping is a great way to collect information to map later. Every smart-phone has a built in GPS these days, and let you attach location data to any photo you take. JOSM lets you open photo image files, or even an entire directory with ‘geotagged’ images, and will display them as markers on the map.

It works like this. As you walk around, you just take photos of things you think may not be on OSM yet and you want to map later. That could be anything from a general photo of a building (to map things like roof type, levels), a sign with opening hours of a business, a fire hydrant, a hiking trail (to map width, surface type). Anything that you wouldn’t be able to map from aerial imagery, either because it’s too small, likely obstructed by tree cover, or it can only be observed at street level.

Here’s a few photos I took recently

See full entry

One of the cool things about SOTM US is that there’s always a lot of first time speakers. They keep the conference fresh with new stories, topics, ideas. I am part of the SOTM US organization this year, and our goal is to again welcome a lot of first time speakers in Minneapolis, September 5-8.

I remember the first time I presented at a SOTM. It was in Girona in 2010. I was extremely nervous and I had many doubts about my topic and the way I had planned to present it.

But it turned out great. People were interested in what I had to say, had great questions and the experience encouraged me to get more involved with OSM.

So if you have an OSM story, and you have never done a talk at SOTM US, I would really like for you to submit it. To help with that, I am hosting a Zoom session next Monday. In this session I will walk you through the CFP process and I can give you feedback on your talk idea if you want. You can also ask any question about speaking at SOTM US or anything related to it you are curious about.

So mark your calendar: Monday May 13, 8pm ET, SOTM US CFP info session. Join via zoom. (Phone dial-in available also.)

If you are planning on joining the session, I’d appreciate it if you sign up.

If you’re all good to go and just want to submit your talk, please just do so here!

Field Survey Party instructions

Posted by mvexel on 3 May 2019 in English.

It’s been a while since I have organized a field survey mapping party. I wanted to write up some instructions for the participants, and realized that there may very well be techniques and methods I am not aware of. So I thought I’d share what I wrote to the group and see if you have any ideas on how to improve on it. Thanks! Oh and if you’re in the Salt Lake City area, please join us tomorrow at 10am!

Message to field mapping party

Here’s a quick run down of common ways to do on the ground surveying for OSM. I recommend any (combination) of the first three, but if you feel adventurous, feel free to give any of the other methods a try.

See full entry