OpenStreetMap logo OpenStreetMap

steveman1123's Diary

Recent diary entries

Overpass Turbo is Cool!

Posted by steveman1123 on 22 January 2026 in English.

I’ve dabbled with overpass turbo on and off for maybe a year now, but I feel like I’ve just now started to get a better understanding of how it works.
I’ve been using it to find hikes that can lead to ruins or abandoned places:

(
nwr['abandoned']({{bbox}});
nwr['historic'='ruins']({{bbox}});
);
out;

and for campsites:

(
nwr['tourism'='camp_site']({{bbox}});
nwr['tourism'='camp_pitch']({{bbox}});
);
out;

And while those are certainly useful, especially for hard to find places that won’t show up on AllTrails or other popular spots, I didn’t feel like I learned much since they’re fairly simple queries.
The way I understand it at the moment: the Overpass query language treats things as sets. There is a default set (named “_”) that gets populated with the queries.

In the case of the camping, there are two lines enclosed in parentheses which groups the two requested object sets as a union (or OR operation) to store in the default set which is then output with the “out” statement
The “nwr” is a shorthand for “node” “way” “relation” so it indicates what kinds of objects we’re looking for (we could replace it with any one type depending on what we’re looking for).

The ({{bbox}}) portion indicates where to look for the objects, {{bbox}} is a predefined area based on the overpass turbo site’s map, otherwise it should be set to a 4-value array indicating the borders of the area to search (read more here)

Let’s break down the next query I’ve found to be very useful, finding local cafe’s! (Google’s results have been getting pretty bad and overlooking a bunch of great options)

[out:csv(
         name,
         "addr:housenumber",
         "addr:street",
         "addr:city",
         website;true;",")];
nwr['amenity'='cafe',i]["name"!="Starbucks"]({{bbox}});

out;

There’s a couple familiar things there: “out”, “({{bbox}})”, and “nwr”

nwr['amenity'='cafe',i]["name"!="Starbucks"]({{bbox}});

See full entry

Armchair Mapping

Posted by steveman1123 on 9 January 2023 in English.

Most of my mapping is done via “armchair mapping”, using aerial imagery to add buildings and features around. I’m thankful that where I live, I have high quality, and relatively recent aerial imagery. Because most of what I map tends to be residential (since in order for the map to be useful to people, they want to know that where they live is actually present), I find that I add a significant number of houses, garages, and sidewalks/footpaths. When available, there are open data sources for addresses, so I’ve found that adding data in stages seems to help.
The first stage being correcting roads that haven’t been touched since the Tiger imports, fixing and adding land use such as residential or retail or farm areas, adding paths and other routing features.
The second stage I add buildings such as houses, retail, and whatnot, fix imported church and post office/official building locations based off internet search addresses and educated guesses (e.g. does the building look like a church or have white vehicles nearby? Then it’s probably the nearby labeled church or post office, etc. Also does searching for {town name} and eg “baptist church” etc yield usable results like a website? Sometimes not, but most often yes).

In addition to buildings, I like to add power poles, fire hydrants, and other service things like benches, street lamps, etc if they’re present and I can see them on the aerial imagery (or can assume they’re there from wire locations and other context clues).

See full entry