Search notes:

OpenStreetMap

OpenStreetMap is a database of geographic data.
Generally, anything that is visible can be added to this database. A universally accepted exception of unobservable «things» in the database are boundaries of political territories.
The database does not contain any private data.

Coordinates

Viewing specific coordinates on the Open Street Map: http://www.openstreetmap.org/?mlat=-30&mlon=-60&zoom=4
Apparently, the southern hemisphere has negative latitude, the hemisphere west of grenwich has negative longitude.

Perl and other scripts

GPX Planet Tools for processing planet.gpx.
Perl scripts on OSM's wiki.
Perl modules Geo::Coder::OSM, Geo::OSM::DBI

Showing ids on a map

http://www.openstreetmap.org/way/10665159
http://www.openstreetmap.org/node/10665159
http://www.openstreetmap.org/relation/172224

Overpass API

The Overpass API is a query API for Openstreet Data. It is designed for queries of objects that are spatially close from one to another.
The Overpass API was referred to as OSM Server Side Scripting (OSM3S) before 2011.

Overpass turbo

Overpass turbo allows to runs an Overpass API query and have it show the results on an interactive map.
Some URLs where Overpass turbo queries can be executed include:
Find everything with the name Freienstein. nwr is an abbreviation for nodes, ways and relations.
nwr[name="Freienstein"];
out center;
Searching with regular expressions: find objects whose name have an x followed directly or indirectly by an y:
nwr[name~"x.*y"]({{bbox}});
out;
node(s, w, n, e) selects all nodes in a (bounding) box that is delimited by the south, west, north and east coordinates s, w, n and e.
This query shows the nodes of Bishop Rock, according to the Guineess Book of Records the smallest island with a building on it:
node (
   49.8727, -6.4458, // minimum latitude and longitude (South and West border)
   49.8730, -6.4452  // maximum latitude and longitude (North and East border)
);
out;
Compare node(…) with [bbox:…].
(around:n) is another spatial filter: it searches within n meters of the currently found/selected objects. The following query searches for supermarktes that are within 100 meters of public transport stations:
nwr[public_transport = station    ]({{bbox}}  );
nwr[shop             = supermarket](around:100);
out center;
[out:json][timeout:25];
{{geocodeArea:Zürich}}->.searchArea;
// gather results
(
  nwr["amenity"="fountain"](area.searchArea);
);
out center;

UNION

Parenthesis combine the results of two «queries». The following query selects anything that has either Freienstein or Ofenloch in its name:
(
 nwr[name="Freienstein"];
 nwr[name="Ofenloch"   ];
);
out center;
I believe this parantheses are technically called a block statement.

Searching in a supplied bounding box

({{bbox}}) is a spatial filter that searches in the supplied bounding box.
The following query searches for parking lots in the selected region:
(
   node[amenity=parking]({{bbox}});
   way [amenity=parking]({{bbox}});
);
out geom;

Comments

Portions of a query can be commented with the usual /* … */ and // symbols.

out statements

out The complete geodata.
out ids; The ids of the objects.
out skel; Add the information necessary to reconstruct the objects.
out meta; Add objects' version and timestamp
out … bb; Add a bounding box for each way and relation.
out … center; Amends ways and relations with geometries, requires at least out meta.
out tags;

TODO

uMap allows to create maps (and embed them in a webpage).

Changesets

Changesets need not be monotonously increasing in respect to a a node's history.
Additionally, It's also possible for different versions to have the same changeset.
See for example the history of node 580485 (changeset of version 1 is 132228, of version 2 is 79005; changeset 854251 contributes to the nodes versions 6, 7 and 8).

See also

Nodes, ways, relations and tags.
An SQLite database schema for OSM data.
Perl module Net::Curl::Multi
Open Street Map - Switzerland
Scripts for managing OpenStreetMap pbfs
Nominatim
OpenStreetMap API
R packages OpenStreetMap (which is not affiliated with the OpenStreetMap project) and osmdata.
Mapnik is the library with which OSM maps are typically rendered.
geodata

Links

OpenStreetMap Repositories on github
The hacker's guide to OpenStreetmap with a link to the canonical map server toolchain which gives an overview of how geospatial information from OpenStreetmap is turned into map tiles for online viewing.
staticMapLite: simple maps for the website.
The Perl module Geo::OSM::Tiles can be used to calculate the url of an image »tile«.
OSM data extracts (PBFs)
planet.gpx is an enormous CSV file, dated 2013, that contains all point coordinates as of that date.
OSM history viewer
OpenGeofiction is a map of an imagery world, built using OpenStreetMap technology.
Wikidata property P402
My OSM experiment

Index