Continuing my exploration of OpenStreetMap as a database, I was curious to know how many buildings are on the map on Prince Edward Island, and how many OpenStreetMap users are responsible for having created them.
To extract the buildings I used this Overpass Turbo query:
[out:json][timeout:25];
{{geocodeArea:Prince Edward Island}}->.searchArea;
(
way["building"](area.searchArea);
);
out meta;
>;
out skel qt;
I saved the resulting JSON output as buildings-on-pei.json; here’s what a single building looks like in that file:
{
"type": "way",
"id": 28325849,
"timestamp": "2019-04-20T02:57:13Z",
"version": 22,
"changeset": 69393585,
"user": "ParagonPrime",
"uid": 1378289,
"nodes": [
311069933,
311069935,
311069936,
2145848876,
2145848878,
4265414120,
2603563172,
311069941,
3933036109,
311069933
],
"tags": {
"addr:city": "Charlottetown",
"addr:housename": "Confederation Centre of the Arts",
"addr:housenumber": "145",
"addr:postcode": "C1A 1J1",
"addr:street": "Richmond Street",
"building": "yes",
"building:levels": "0",
"building:levels:underground": "1",
"level": "-1",
"name": "Confederation Centre of the Arts",
"roof:colour": "gray",
"roof:material": "stone",
"tourism": "attraction",
"website": "https://www.confederationcentre.com/en/",
"wheelchair": "yes",
"wikidata": "Q5159778",
"wikipedia": "en:Confederation Centre of the Arts"
}
}
Note that there is a “user” element; I can use that to identify who created–or, to be more accurate, who last updated–each of the buildings.
First, I get a count of the number of buildings in the file:
# grep '"user"' buildings-on-pei.json | wc -l
14395
Next, I get a count of the number of buildings attributed to each user:
# grep '"user"' buildings-on-pei.json | sort | uniq -c | sort -rn
5069 "user": "MaestroGlanz",
2841 "user": "Peter Rukavina",
2816 "user": "Alecs01",
996 "user": "Alan Bragg",
684 "user": "mariadalton",
534 "user": "the506",
335 "user": "506imports",
159 "user": "Matthew Darwin",
143 "user": "dankpoet",
129 "user": "kalebmcneil",
72 "user": "lokejul",
69 "user": "Rps333",
57 "user": "TristanA",
57 "user": "ParagonPrime",
57 "user": "Gamer Gig",
53 "user": "PurpleMustang",
34 "user": "maTH5M2b",
31 "user": "Bennard",
28 "user": "Zeflind",
20 "user": "allain_2",
18 "user": "b-jazz-bot",
12 "user": "Himké",
10 "user": "dkunce",
10 "user": "Michel G Arsenault",
10 "user": "Kenfee3",
8 "user": "CanuckGeographer",
7 "user": "andrewpmk",
6 "user": "binhex",
6 "user": "Timothy Smith",
6 "user": "StealthNinja51",
5 "user": "november3000",
5 "user": "fixedbusiness",
5 "user": "RobJN",
5 "user": "NoahUCD",
5 "user": "Neeko",
4 "user": "timdine",
4 "user": "PelleB",
3 "user": "xybot",
3 "user": "wheelmap_visitor",
3 "user": "smb1001",
3 "user": "ionutr_telenav",
3 "user": "hhcfw",
3 "user": "fx99",
3 "user": "Super-Map",
3 "user": "Little Brother",
3 "user": "DannyMcD",
3 "user": "Bryson",
2 "user": "petersfreeman",
2 "user": "ngillis",
2 "user": "mjf87nl",
2 "user": "kartler175",
2 "user": "huoju",
2 "user": "boute002",
2 "user": "Todd Gallant",
2 "user": "PipoCanaja",
2 "user": "Narcissus",
2 "user": "JamieeR",
2 "user": "FvGordon",
2 "user": "Cynthia King",
2 "user": "Bootprint",
2 "user": "Be A Mapper",
2 "user": "AndyJBlack",
1 "user": "yumoon",
1 "user": "vbertola",
1 "user": "ti-lo",
1 "user": "thetornado76",
1 "user": "sjharper",
1 "user": "shang 289",
1 "user": "scruss",
1 "user": "safirat",
1 "user": "pingoo",
1 "user": "ldgallant14",
1 "user": "landblend",
1 "user": "have moicy",
1 "user": "carlb",
1 "user": "b-jazz",
1 "user": "ansis",
1 "user": "Sammyhawkrad",
1 "user": "RRW",
1 "user": "Oliver Rukavina",
1 "user": "Kelly Rayner",
1 "user": "HitFilmMan",
1 "user": "Gabe Groner",
1 "user": "EzekielT",
1 "user": "Cranberry",
1 "user": "CanvecImports",
1 "user": "Ashenzari",
There are 87 OpenStreetMap users responsible for adding those 14,395 buildings to the map, with the busiest contributor being MaestroGlanz.