April, 2023, User Statistics for OGF

Here is a detailed user summary data for April (I’ve decided to do these monthly). These are the results, ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).

April, 2023, in OGF

display_name user_id count_changesets count_nodes count_ways count_rels count_objects
joebro 2580 63 480055 8825 54 488934
Izaland Terramorphing Committee 15584 153 320409 12667 360 333436
EMKLI 17 36 266871 15425 119 282415
Geoc3ladus 14788 47 258178 10986 75 269239
Alessa 2664 30 185640 1289 94 187023
oneofbeatlefan 6427 37 139348 16604 78 156030
newflanders 3228 36 116856 1119 155 118130
Martinawa 11407 96 115571 1787 147 117505
Mie 22733 52 104297 4207 87 108591
Rustem Pasha 4928 12 92089 8863 48 101000
thermo_nuclear 2386 59 82281 6497 66 88844
Bixelkoven 16933 36 75630 5177 117 80924
UN1TY 2194 124 64346 7646 62 72054
Liadrien 17542 45 67685 2938 77 70700
BMSOUZA 954 281 64036 6025 0 70061
Alexmar983 25870 900 53465 11954 34 65453
Davieerr 8029 156 61829 2588 116 64533
tars 10312 132 61155 2613 116 63884
zhenkang 3225 44 47553 948 58 48559
Halvarda 21685 77 40859 3756 666 45281
iBallasticwolf2 1355 27 40206 1419 17 41642
lankusiek 23807 28 38905 2611 99 41615
Enderbyte09 25083 61 37020 2475 19 39514
Intergan 15076 22 35122 2416 65 37603
sudo91 22243 62 33276 3690 99 37065
Hijikl 26371 28 30631 5714 24 36369
Fayaan 18131 273 30618 3466 186 34270
gannman 2405 39 31345 1674 10 33029
Eretra 11292 27 27990 3659 59 31708
Taka 14001 44 29149 1718 196 31063
Arlo 10218 53 27520 842 30 28392
Mantan 25551 82 21802 2451 39 24292
Toadwart 2322 31 21751 2220 186 24157
AustinBoath 17528 52 21484 2537 7 24028
Hilsonbergman 6375 25 23276 181 42 23499
Infrarrojo 9678 20 21828 1123 20 22971
sergjack 26317 253 20800 2077 25 22902
ShavedParm 25749 154 18569 3275 18 21862
plainoldbread 3272 22 20398 1352 16 21766
Alfred 14361 62 17313 3907 3 21223
Kalh79 401 75 18609 2434 3 21046
Aiki 2336 24 19631 760 130 20521
indyroads 344 41 18447 633 73 19153
Leowezy 1267 70 15757 3298 31 19086
waterstealer 24870 10 18630 148 26 18804
roadyote 14592 70 15062 3041 40 18143
varnel_maiser 6691 68 16003 1881 168 18052
Glauber 14612 34 15131 2740 74 17945
ruadh 2725 19 15266 2293 64 17623
P Gaillard 25179 35 15254 1468 164 16886
Vay 15996 8 14387 2044 5 16436
ItsTybear 17286 74 13096 3104 25 16225
Pav 12292 48 15022 1037 32 16091
Charlie 26149 28 13247 2604 39 15890
Otto Yamamoto 1368 59 14477 1279 1 15757
CrisChoky 18079 5 14680 812 8 15500
Reviriegu 25104 45 13460 1363 12 14835
Dfltcher2 24710 55 9959 3804 23 13786
jl06 18719 37 12104 1404 71 13579
kengoman 24572 10 10423 1909 87 12419
ifgus 4790 11 10780 1501 2 12283
Gubble 2713 7 10550 1483 0 12033
elindio23 8153 16 10666 1212 16 11894
Icefur2 22747 40 9978 1790 52 11820
CharlieG 4058 15 10809 835 47 11691
jjrc1996 20575 14 9603 1263 10 10876
BelpheniaProject 1020 4 10510 219 1 10730
Legoman 26243 50 8213 2467 0 10680
ante44 1822 11 9427 1003 12 10442
Lithium-Ion 22476 15 9686 739 13 10438
Souzzzzie 26176 59 8911 1287 28 10226
pablopilar 875 38 7966 2173 0 10139
Aad 22426 11 9291 409 3 9703
Sweetykid 25913 59 7755 1910 28 9693
Yongdinghe 26240 11 8852 819 2 9673
Y Knott 1158 49 7797 1813 30 9640
PaintedBlue 23793 74 8436 985 2 9423
super_empath 25865 20 7398 1846 1 9245
AmusingSage2454 25347 7 9021 203 4 9228
chazeltine 7402 27 8473 491 34 8998
津瀬tu 26428 22 7390 1601 0 8991
Imperator 1141 15 7479 1384 23 8886
Aces California 759 45 6577 1762 17 8356
cartographersurgeon 25890 52 6186 2146 16 8348
pdplm 6697 30 6065 1971 74 8110
doomd10 26347 54 6934 1117 6 8057
acv 24879 10 7574 450 9 8033
Crétin_Dauphinois 25595 14 6791 1136 0 7927
Timboh 324 12 6079 1722 110 7911
TheMayor 14026 19 6741 972 19 7732
kotnaoborot 26417 28 7352 328 4 7684
Soboko 8026 12 6968 692 2 7662
ciaosamuu 24620 42 6103 1084 5 7192
tparigo 1747 14 5775 1239 39 7053
2amCereal 18270 3 6174 790 1 6965
bananaman101 25559 59 5478 1277 23 6778
The Torontarian 19888 11 5951 799 0 6750
Bulest 26434 27 5349 1264 9 6622
Olejowy 22566 48 5472 1018 3 6493
Ksawery2137 25270 15 5409 818 0 6227
cheakshibe 26049 48 5094 1077 3 6174
SwissCrusader 12676 2 5346 513 9 5868
ThePhrogianOverlord 25594 15 5003 474 17 5494
Oriolet 4764 194 4433 881 1 5315
antoon 217 4 3063 2124 0 5187
ParAvion 3527 3 5032 116 8 5156
noncertifiedbruhs 22665 22 4071 1023 0 5094
Stephenplays 7055 19 4267 755 6 5028
mikumikumapper 25619 6 4327 306 0 4633
amicharski 24799 14 3823 653 27 4503
TGSpace 25394 25 3874 513 9 4396
ethanxman 2516 11 3461 807 1 4269
nsenx 26093 16 3742 499 0 4241
DanDo 25243 28 3385 827 2 4214
geoboi 5230 11 3425 661 71 4157
Yván 26362 16 3091 1065 0 4156
senju 19525 19 3607 510 16 4133
mic8per 25957 6 2974 1127 0 4101
Fer Jiménez 20466 20 3200 855 4 4059
Schandlers 19534 41 3641 372 34 4047
curiomap 11647 42 2812 1084 0 3896
JustSomeMapper 26026 29 3283 512 17 3812
Sarius1997 26402 31 3340 402 8 3750
Koziu 24578 23 2955 766 9 3730
Ecchi Kei 25847 24 3342 316 5 3663
RicardoNolazcoC 1582 21 3382 197 2 3581
coshatiuav 18421 9 3071 471 22 3564
Fluffr_Nuttr 6846 5 3123 433 1 3557
nejisadd 25152 71 2862 603 4 3469
trussell2019 17416 22 2705 744 2 3451
blz 24720 22 2246 1091 13 3350
Pentagone 26405 20 2603 692 4 3299
Yuanls 1459 74 2663 572 3 3238
Sant_at 26420 9 2641 559 4 3204
yonah2 25682 21 2612 569 0 3181
reCharged 17492 1 2311 813 2 3126
TheSeamonster 25941 51 2604 435 26 3065
yoyo21 1559 6 2873 173 0 3046
Ilthracna 22530 8 2496 439 0 2935
mapper941 25228 10 2631 251 4 2886
Anonymous21 23682 25 2294 415 147 2856
pzs111111 20225 4 2320 502 2 2824
Ouponamap 25585 22 2299 519 2 2820
JSanchez 253 16 2351 451 2 2804
MarcustheMapper 13156 20 2369 405 0 2774
hallowed_embers 24992 2 2111 567 1 2679
nichelyo 19757 4 2142 374 0 2516
Tjitze 25527 11 1998 503 0 2501
ChaoticwasTaken 25995 9 2084 289 1 2374
IlliaHai 17596 45 1876 488 3 2367
Singapura-Oriental 21382 12 2156 173 0 2329
MetroStoryWritter 26416 11 1731 564 0 2295
Qing_Jue 26304 9 1934 307 0 2241
Thaman 26447 16 1950 286 0 2236
Norsborg 10630 6 1864 346 2 2212
PLKartofel 26312 17 1357 671 0 2028
Easky30 18 5 1724 271 0 1995
Tellis Joseph Frank 26151 22 1494 485 7 1986
HostedDinner 1215 3 1612 337 0 1949
maddy-89 24522 5 1458 491 0 1949
Pawl 1294 10 1881 65 1 1947
Bob Lee 18271 6 1676 230 0 1906
MKH1020 25447 7 1585 253 3 1841
Reece202 1514 2 1632 181 0 1813
tasmeni 26450 5 1488 322 0 1810
Crarji 22595 3 1700 31 5 1736
NM$l 25192 10 1517 183 9 1709
ellocomigue 10830 16 1474 228 0 1702
Greg_Rose 22777 7 1601 48 3 1652
theCubic 24412 2 1408 215 2 1625
Brunanter 1761 27 1372 227 6 1605
Myrcia 1630 6 1240 349 2 1591
Rasmus Rasmusson 1139 12 1439 149 1 1589
Pandarius 25827 2 1359 183 0 1542
America 25550 18 1021 514 1 1536
jba487_14 6326 27 1255 229 0 1484
Chan Yun Kai 12958 3 1231 253 0 1484
Tamanca 26288 15 1167 293 0 1460
Aglet 26443 15 1247 184 3 1434
Nikolia 3685 2 1176 175 1 1352
AmpereBEEP 23019 8 1095 211 0 1306
poweikao 12084 2 1149 151 3 1303
Sortsdam 25841 14 1108 131 4 1243
fngf3501 25280 6 1142 95 1 1238
Blocky55 21281 2 1189 28 0 1217
Arq635 24043 6 1013 183 20 1216
drgtgd 24865 7 1039 175 0 1214
ratsoff2u 1017 20 877 310 2 1189
Masyas 26066 2 906 262 0 1168
james smith the great 26185 7 934 219 0 1153
Punkmonkey22 20035 3 970 68 0 1038
Boge 224 9 755 239 0 994
sjk23 23494 5 793 193 0 986
trabantemnaksiezyc 2161 14 659 306 17 982
Jonesboro 14995 18 820 142 2 964
Intergalactic 1384 8 835 99 12 946
faru 24926 1 876 63 0 939
Black Baron 2822 12 805 92 1 898
kingfries 1956 26 757 133 0 890
Savoj 26375 12 796 75 3 874
t833 19093 7 693 169 0 862
PortCal 1477 5 751 102 3 856
Chilver 26440 12 630 177 5 812
georgecg 1504 9 745 52 0 797
raxx 25343 10 557 231 0 788
theruler 12833 2 594 166 24 784
elabo 1434 12 600 164 0 764
KTheBritMC 19188 2 626 133 0 759
Christiaan de Vries 1228 12 588 146 0 734
NocoRoads 25882 7 592 134 2 728
Kokerey 14213 3 638 88 0 726
Vine117 24863 18 514 196 0 710
hornaszenko 26006 4 549 153 0 702
thosehlar 1343 14 510 180 3 693
Eevee 7443 3 655 23 0 678
Qwertyuiop 6884 2 565 106 0 671
Inkwinter Ye 25597 4 551 109 1 661
快乐的老鼠宝宝 24171 18 569 75 12 656
IiF 26403 7 469 181 6 656
skquinn 1192 13 405 235 2 642
jak 16 6 512 110 0 622
Turnsole80 1130 7 497 98 5 600
fbmdf1821 25986 7 543 42 13 598
James69UK 13705 7 533 52 0 585
tule00 1405 4 502 83 0 585
mrpeanuts 9055 5 413 157 0 570
Squizie3 17920 6 487 66 15 568
Vybranium 26206 1 424 131 0 555
shining-k 24800 3 445 102 0 547
wangi 468 27 280 233 28 541
sude 15789 10 159 288 76 523
Distel 23033 1 447 68 0 515
GamePancakes 1071 7 415 64 0 479
Picard-Lindelöf 15483 1 379 99 1 479
diamantschiff 11298 2 393 75 0 468
Mike’s World 14591 3 367 100 0 467
sosa 16936 2 419 40 0 459
AkariChiba 26373 2 383 68 0 451
Le Mathou 790 4 381 46 0 427
NorthTeaPower 14030 6 308 85 13 406
OhioRiverSSA 26088 4 327 78 0 405
Falleret 10964 7 269 123 0 392
Adamwp 26359 3 323 57 1 381
RayMaj7 26427 5 324 57 0 381
nehalem501 8554 4 334 46 0 380
eliaszuo 26396 15 280 88 0 368
iiEarth 12233 4 327 31 8 366
Mauser 25990 5 312 53 0 365
Stara Zagora 2514 2 308 50 3 361
DT_Planner 25648 1 357 4 0 361
TenOndra 26442 4 290 56 0 346
anakes 1510 2 269 68 0 337
BitJules 25397 1 261 61 0 322
htx 1874 2 231 91 0 322
MarchisioThePal 25969 2 237 66 0 303
Brestis 26395 5 224 71 0 295
ADB52 4597 2 267 20 0 287
fauxcartograph 2348 3 223 54 0 277
Revikens 26357 12 246 27 0 273
liam m m 26285 4 221 45 0 266
infinatious 12340 2 211 45 0 256
Ran DB 26318 2 194 59 0 253
GFC 8666 1 167 83 0 250
ByeBye25 26407 1 212 11 0 223
Karlchen 21635 1 122 77 4 203
ItsRiftzy 26432 2 174 27 0 201
Y_Eba 25684 1 181 7 0 188
GEOMaps 7233 1 152 35 0 187
KameKaza 25617 2 159 18 0 177
Ginepro 25716 1 135 36 0 171
ndgid 21484 6 141 27 0 168
Verkkuserkku 25787 2 123 35 0 158
seasvnz 25153 1 118 37 0 155
gıvro 26305 2 116 24 0 140
Bienenbrot 22970 1 118 17 0 135
Luciano 294 5 113 8 1 122
Alejandro24 1811 1 19 99 0 118
John1985 3461 1 84 32 0 116
stjur 2533 3 77 33 5 115
SomersetRoadie 26418 5 73 17 0 90
RedstoneRelic 10456 2 54 25 0 79
JuLn 15225 1 64 12 0 76
Maaaaax 26377 3 53 23 0 76
Jwillkur 26221 1 58 11 0 69
TSR 25078 1 55 5 0 60
bootmii 2615 1 34 17 0 51
Hbot 1087 1 34 14 0 48
mapenthusiast7 10784 1 28 12 0 40
qwarta_L 26364 2 31 4 0 35
helveticanewroman 26358 1 30 3 0 33
Tromero 25942 3 26 3 0 29
venetianlion 26263 1 15 13 0 28
deltanz 1438 2 24 3 0 27
dmeister 26444 1 21 5 0 26
Zoro 25236 1 19 1 0 20
lianotragouda 26430 1 14 2 0 16
camelCaseCo 26431 1 13 2 0 15
Alecc03 26446 1 9 3 0 12
jemily2 24713 1 6 1 0 7
MOI N 17119 1 2 1 0 3
Drogda 15815 2 2 0 0 2
Paul Pfh 23089 1 0 2 0 2
admin 215 1 0 0 2 2
histor 19 1 1 0 0 1
hanifalhusaini 20879 1 0 1 0 1

March, 2023, User Statistics for OGF

Because the January and February reports were popular on the OGFC Discord, I’ve extracted detailed user summary data for March. These are the results, ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).

March, 2023, in OGF

display_name user_id count_changesets count_nodes count_ways count_rels count_objects
joebro 2580 60 406661 7806 71 414538
tars 10312 189 297656 3839 390 301885
elindio23 8153 48 216716 19434 15 236165
Arlo 10218 379 193790 10887 220 204897
Izaland Terramorphing Committee 15584 96 190716 5369 167 196252
Geoc3ladus 14788 50 178794 12146 54 190994
Bixelkoven 16933 34 167439 4473 42 171954
oneofbeatlefan 6427 51 148708 4468 118 153294
Rustem Pasha 4928 11 88781 9960 275 99016
Hilsonbergman 6375 56 80211 16215 119 96545
Liadrien 17542 60 88475 2732 216 91423
Davieerr 8029 292 81844 8815 137 90796
UN1TY 2194 173 80894 8070 336 89300
iBallasticwolf2 1355 51 79625 3215 121 82961
Le Mathou 790 463 64523 5268 426 70217
Alexmar983 25870 798 56000 11906 79 67985
varnel_maiser 6691 112 51930 2969 256 55155
Timboh 324 29 43890 6243 245 50378
Glauber 14612 55 45205 3491 55 48751
CharlieG 4058 15 45746 2536 15 48297
Luciano 294 9 42277 5810 61 48148
Reviriegu 25104 75 44480 2421 0 46901
Fayaan 18131 371 41149 4719 440 46308
Enderbyte09 25083 39 44004 1537 27 45568
ifgus 4790 66 38164 7191 59 45414
Mie 22733 32 42056 1874 38 43968
Taka 14001 67 39542 3140 735 43417
jl06 18719 68 39848 2567 63 42478
Alessa 2664 28 39991 2420 40 42451
BMSOUZA 954 190 38755 2897 3 41655
plainoldbread 3272 26 38399 2403 33 40835
Toadwart 2322 46 33936 3289 308 37533
thermo_nuclear 2386 55 34461 2887 95 37443
Otto Yamamoto 1368 50 32501 4921 1 37423
Legoman 26243 125 24770 6420 1 31191
ruadh 2725 27 25342 3298 41 28681
chazeltine 7402 33 27713 412 61 28186
Halvarda 21685 87 25174 2270 205 27649
Y Knott 1158 96 21601 5521 48 27170
Intergan 15076 11 25900 819 48 26767
ShavedParm 25749 173 22300 2767 32 25099
Vay 15996 14 23745 932 38 24715
Lithium-Ion 22476 48 22111 2234 53 24398
Yongdinghe 26240 23 20899 2777 19 23695
Leowezy 1267 84 20390 2783 69 23242
newflanders 3228 13 22543 499 53 23095
Turnsole80 1130 22 22373 553 71 22997
Imperator 1141 14 22627 226 42 22895
super_empath 25865 27 18112 4391 33 22536
diamantschiff 11298 25 20044 1003 146 21193
2amCereal 18270 9 19898 1112 26 21036
lankusiek 23807 39 18221 2621 16 20858
BelpheniaProject 1020 11 19572 537 4 20113
Infrarrojo 9678 31 17312 1826 28 19166
indyroads 344 27 17354 1215 1 18570
Kalh79 401 74 15867 2137 204 18208
Gubble 2713 14 15155 2276 0 17431
Sweetykid 25913 78 13887 2715 36 16638
Distel 23033 51 13702 2888 0 16590
P Gaillard 25179 24 14839 1371 60 16270
Rasmus Rasmusson 1139 148 12237 2923 4 15164
Mantan 25551 45 13322 1470 13 14805
Rhett McDonald I 25918 79 11416 3089 41 14546
ItsTybear 17286 74 11342 2804 20 14166
Charlie 26149 18 10161 2834 4 12999
shining-k 24800 29 11580 1230 1 12811
Aiki 2336 16 11315 363 127 11805
Pav 12292 78 9835 1066 13 10914
wangi 468 46 10449 253 208 10910
Koziu 24578 55 8728 2027 5 10760
NM$l 25192 28 10050 692 7 10749
NorthTeaPower 14030 55 8990 1657 27 10674
Olejowy 22566 78 8765 1801 33 10599
cartographersurgeon 25890 68 8283 2248 20 10551
sudo91 22243 21 9115 1168 52 10335
CheesyJeb 25950 14 8798 1209 3 10010
jamigg 25347 10 9547 207 0 9754
pzs111111 20225 11 8882 517 40 9439
stjur 2533 8 8813 270 63 9146
oluap 23204 11 8599 286 2 8887
Ping_a_ding 25311 9 7116 1178 0 8294
kengoman 24572 6 6986 1207 20 8213
raxx 25343 78 5535 2631 7 8173
Fluffr_Nuttr 6846 9 7402 470 79 7951
ante44 1822 14 7081 845 4 7930
Sortsdam 25841 90 6218 1552 47 7817
Eevee 7443 44 6512 1240 7 7759
DanDo 25243 35 6785 437 1 7223
ThePhrogianOverlord 25594 14 6429 736 13 7178
PaintedBlue 23793 73 6098 1007 28 7133
Souzzzzie 26176 56 5828 1172 19 7019
AustinBoath 17528 33 5845 855 1 6701
Quint 26279 104 5274 1045 137 6456
Reece202 1514 17 5499 840 56 6395
ciaosamuu 24620 37 5184 1117 10 6311
zhenkang 3225 13 5554 731 16 6301
mapper941 25228 16 5572 710 12 6294
CrisChoky 18079 4 5623 645 2 6270
pablopilar 875 27 4849 1410 0 6259
Aces California 759 56 5031 1179 44 6254
roadyote 14592 41 5008 1240 3 6251
anakes 1510 11 5590 637 0 6227
Tamanca 26288 56 5060 1125 0 6185
t833 19093 27 4961 1171 7 6139
nichelyo 19757 10 5350 619 34 6003
sergjack 26317 119 4958 964 5 5927
curiomap 11647 61 4936 990 0 5926
ethanxman 2516 11 5066 750 1 5817
Vybranium 26206 22 4150 1587 2 5739
Soboko 8026 9 5002 362 3 5367
MarcustheMapper 13156 32 4713 599 0 5312
tparigo 1747 12 4236 999 54 5289
amicharski 24799 10 4774 504 0 5278
America 25550 40 3471 1758 13 5242
antoon 217 4 3010 2228 0 5238
acv 24879 6 5017 169 2 5188
Fer Jiménez 20466 33 4098 1058 6 5162
mikumikumapper 25619 18 4399 701 4 5104
fngf3501 25280 18 4343 481 10 4834
fbmdf1821 25986 27 4512 267 48 4827
快乐的老鼠宝宝 24171 69 4152 467 77 4696
dsilcott 15620 32 3885 709 1 4595
Oriolet 4764 99 3780 809 0 4589
blz 24720 29 3346 1135 20 4501
Huachachi 15931 20 3852 439 77 4368
Tellis Joseph Frank 26151 36 3249 984 38 4271
Anonymous21 23682 52 3194 747 271 4212
Mattlas 17336 17 3398 752 8 4158
Ernestpkirby 232 12 3452 288 6 3746
Mapper89062 24351 25 2955 644 7 3606
Qing_Jue 26304 9 3223 288 0 3511
Crarji 22595 25 3059 248 124 3431
Mike’s World 14591 7 3044 375 0 3419
cheakshibe 26049 30 2806 592 7 3405
Black Baron 2822 19 3154 158 5 3317
JSanchez 253 27 2738 521 2 3261
ratsoff2u 1017 26 1119 2053 6 3178
Brunanter 1761 14 2745 356 40 3141
Dfltcher2 24710 18 2087 929 1 3017
reCharged 17492 2 2455 504 5 2964
JustSomeMapper 26026 21 2363 435 6 2804
lasklajov 13741 19 2138 663 0 2801
Nikolia 3685 2 2158 621 3 2782
Paul Pfh 23089 22 2296 457 1 2754
deltanz 1438 82 2571 139 24 2734
Icefur2 22747 11 2337 378 1 2716
TheSeamonster 25941 58 2028 567 73 2668
Drogda 15815 12 2320 288 5 2613
TheMayor 14026 17 1708 871 18 2597
Martinawa 11407 1 2520 14 2 2536
TGSpace 25394 13 1898 622 7 2527
jjrc1996 20575 21 1950 528 4 2482
DT_Planner 25648 5 2374 75 0 2449
Stephenplays 7055 34 2117 297 9 2423
OhioRiverSSA 26088 9 2015 323 0 2338
Bddfan 26233 30 1509 813 0 2322
PortCal 1477 15 1993 240 6 2239
trussell2019 17416 13 1660 514 0 2174
理塘丁真 25542 6 1804 230 0 2034
drgtgd 24865 9 1824 201 9 2034
theCubic 24412 1 1977 25 0 2002
AmpereBEEP 23019 8 1693 271 0 1964
Arq635 24043 12 1633 283 15 1931
King James III 13047 29 1574 328 0 1902
ChaoticwasTaken 25995 14 1535 352 3 1890
possumbasement 26343 5 1521 343 0 1864
tule00 1405 5 1617 232 6 1855
Rhiney boi 16127 12 1446 334 23 1803
forest_ 26268 4 1253 545 0 1798
Inkwinter Ye 25597 2 1700 90 0 1790
Easky30 18 5 1501 195 4 1700
Fifafo 17964 3 1432 238 19 1689
Jonesboro 14995 37 1219 374 12 1605
Chan Yun Kai 12958 7 1301 292 1 1594
Schmortn34 26278 11 1254 337 0 1591
yoyo21 1559 4 1455 123 1 1579
Boge 224 13 1209 348 0 1557
Masyas 26066 3 1307 230 0 1537
shmaiss 26173 8 1388 146 0 1534
hoodieman1250 26184 19 1080 447 7 1534
Mchcm 26244 12 1257 247 1 1505
The Torontarian 19888 5 1187 314 0 1501
PLKartofel 26312 16 1195 299 0 1494
django07 25742 10 1156 266 0 1422
thosehlar 1343 13 1249 137 7 1393
waterstealer 24870 7 1314 39 11 1364
Mapputaniumist 26202 14 1042 316 0 1358
venetianlion 26263 19 995 339 0 1334
Christiaan de Vries 1228 18 1015 302 0 1317
forkymapper 14790 2 1232 74 0 1306
liam m m 26285 12 1071 214 1 1286
nsenx 26093 4 1139 140 0 1279
_zM 1789 3 1120 115 2 1237
faru 24926 1 946 253 0 1199
Verkkuserkku 25787 15 889 291 0 1180
Intergalactic 1384 1 1084 49 5 1138
ellocomigue 10830 9 909 223 0 1132
skquinn 1192 42 808 314 5 1127
Mauser 25990 17 899 213 0 1112
bananaman101 25559 14 886 214 5 1105
Ejayy 25141 7 782 296 0 1078
seasvnz 25153 5 805 175 1 981
Friedrich does things 26234 34 801 87 0 888
Rulania 3603 1 815 31 0 846
fauxcartograph 2348 6 622 175 0 797
Suettulanti 1390 4 630 162 0 792
KameKaza 25617 8 671 116 0 787
Karlchen 21635 3 558 163 36 757
Washnmachine7 26293 4 622 98 2 722
Schandlers 19534 9 673 47 0 720
Greg_Rose 22777 3 596 71 2 669
iiEarth 12233 6 565 90 1 656
MarchisioThePal 25969 3 525 120 0 645
jak 16 5 534 82 0 616
samstag 24771 6 478 126 1 605
ndgid 21484 6 549 44 2 595
MetroManMelbourne 24420 1 501 68 0 569
Toad 23441 2 468 80 0 548
Portier 15365 2 525 8 0 533
Kokerey 14213 5 430 85 0 515
Y_Eba 25684 8 468 44 3 515
Trellux 1757 1 431 48 9 488
Braddie 24279 1 389 82 0 471
sude 15789 9 337 113 20 470
Ecchi Kei 25847 4 431 16 1 448
pdplm 6697 5 310 137 0 447
Sehentsin 26217 1 423 15 0 438
u5n7 24421 7 308 123 0 431
Tjitze 25527 2 339 84 0 423
Yousernaim 26309 5 379 41 0 420
火箭苦力怕i 25217 2 349 54 0 403
geoboi 5230 6 213 137 46 396
james smith the great 26185 2 327 63 0 390
NvdW1997 25376 1 359 26 0 385
Jappie051 26241 2 338 28 1 367
infinatious 12340 4 264 98 0 362
ezesantillan 2100 2 211 104 0 315
Logan 25956 5 264 42 6 312
GEOMaps 7233 3 251 58 0 309
nehalem501 8554 4 279 26 0 305
Jwillkur 26221 2 285 19 0 304
Duncan 18635 2 239 60 0 299
Bob Lee 18271 4 215 39 0 254
confusedtoad 25218 5 209 39 3 251
htx 1874 1 240 8 0 248
cya 26130 6 196 49 0 245
JPM 26229 6 172 66 0 238
jba487_14 6326 4 164 74 0 238
julijahaller 15972 2 228 6 0 234
leo武 26247 6 169 49 0 218
RicardoNolazcoC 1582 4 189 29 0 218
Gao07 26187 2 167 42 0 209
nejisadd 25152 6 165 33 4 202
kingfries 1956 11 156 41 0 197
DougDommadome 26336 1 152 36 0 188
Picard-Lindelöf 15483 2 123 61 1 185
orion78 1564 5 116 56 0 172
BlooXen 25715 2 150 22 0 172
Mon 26256 2 108 64 0 172
Vinzenz13 26296 4 133 38 0 171
Hello2048440gn0285 23524 2 148 16 0 164
panorrrama 25773 5 114 31 2 147
JuLn 15225 1 130 9 0 139
Kisarazu Funya 26025 4 100 37 0 137
Ouponamap 25585 2 100 28 0 128
Luis Daza 26284 2 82 34 0 116
georgecg 1504 4 91 22 0 113
ixocrito 26222 2 83 28 0 111
augg 26094 1 81 24 0 105
Dan2611 26329 1 84 17 0 101
gıvro 26305 1 74 9 3 86
NocoRoads 25882 1 66 15 0 81
mstr 1973 1 60 17 0 77
yonah2 25682 3 51 26 0 77
admin 215 3 26 41 6 73
Arbhin 25454 2 54 6 0 60
elabo 1434 3 41 12 0 53
malynemec 26280 1 42 9 0 51
matematysek 25477 1 48 2 0 50
Hbot 1087 1 38 7 0 45
Angel Bobadilla 26276 6 25 18 0 43
MonicaE 26273 1 28 9 0 37
leg21 16589 4 9 20 0 29
doomd10 26347 8 15 12 0 27
Marcello 3254 1 22 4 0 26
JBstad1 159 1 24 1 0 25
KAB 20875 5 15 5 3 23
adminbot 23845 2 7 15 0 22
Mari 26266 1 13 8 0 21
sorby 25307 1 16 2 0 18
Rayx 10814 2 8 5 2 15
NotLanoas 22969 1 8 6 0 14
xioma_sg 8636 7 1 1 12 14
Alex0441 20733 1 0 14 0 14
Punkmonkey22 20035 1 11 2 0 13
nabi 26260 1 5 4 0 9
Laura 26271 1 7 1 0 8
yong0315 26111 1 3 5 0 8
El profe Manuel 26237 1 5 3 0 8
jemily2 24713 1 6 1 0 7
Valen 26261 1 3 4 0 7
yeetfictiongeo 26295 1 1 3 0 4
SSSACFGOOMA 25172 1 4 0 0 4
Ralph & Mackey 26242 4 3 1 0 4
eurotec 25948 2 2 0 0 2
tommysilva 26315 1 1 0 0 1
Tahadagal 20218 1 1 0 0 1
Alejandro24 1811 1 1 0 0 1
ClarkStuff 26307 1 1 0 0 1

Meanwhile, in unrelated technical news, the OGF overpass crashed last night. I started out with an ambition to maybe get a new instance of overpass running, with some corrections to the original install configuration to prevent these random segmentation faults from occurring, but I became increasingly frustrated. Overpass is badly documented, and horrendously opaque, and in the end I simply didn’t have the knowledge or patience to do it. So I reloaded (rebuilt) the database in the existing instance, despite all its known problems, and have let it go at that, for now.

If any overpass dev or maintainer happens to read this, just know that I said cusswords about you this morning.

Infrastructural Changes

Rather than my standard weekly low-effort brag post, last week I posted some user statistics for OGF.

This week, I’ll again forego the brag-post and simply announce that, effective today, this blog is residing on a new server. The old server is something I have been wanting to shut down for some time – it’s running Ubuntu 18.04 and it’s not co-located with any of my any other servers. So I’m finally getting around to upgrading to this new server, which is located alongside all my other servers (in Fremont, California) and is running Ubuntu 22.04 (the most recent LTS version). This should help me keep up with the Joneses – so to speak.

This is only one of about 10 different blogs hosted on the old blog server (not all mine, but all hosted by me). I still have to do the others. This one was first, as the “guinea pig” – having the simplest format and hopefully easiest to rebuild. The old server also, inconveniently, runs the Arhet render and my personal wiki. So those things will have to be moved, too.

There should only be minor changes apparent to visitors on the site. If you see major issues, let me know via comment, email, OGF site DM, or on the OGFC discord. Thanks.

Incidentally, this blog celebrated it’s 5th birthday yesterday. So that’s a good time to upgrade.

Some user statistics for OGF

I decided to play around more with some queries on the OGF API database.

I extracted detailed user summary data for January and February of this year, and put each month in a separate table.

For January, these are the results, ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).

January, 2023, in OGF

          display_name  user_id  count_changesets  count_nodes  count_ways  count_rels  count_objects
 joebro 2580 115 876127 4925 181 881233
 Izaland Terramorphing Committee 15584 95 272316 4647 261 277224
 oneofbeatlefan 6427 56 229775 8773 144 238692
 Davieerr 8029 229 113578 8576 123 122277
 Rustem Pasha 4928 10 88384 8535 67 96986
 tars 10312 130 76519 2524 142 79185
 Alexmar983 25870 416 62113 12954 323 75390
 mstr 1973 61 58629 12944 20 71593
 Arlo 10218 59 59661 3014 36 62711
 Luciano 294 21 57199 2571 1083 60853
 Lithium-Ion 22476 52 53638 2313 30 55981
 Liadrien 17542 40 53436 1368 115 54919
 BMSOUZA 954 305 44925 9735 18 54678
 sudo91 22243 101 47564 4976 147 52687
 Imperator 1141 23 43743 7746 29 51518
 Bixelkoven 16933 32 46131 1940 99 48170
 coshatiuav 18421 9 44517 161 1 44679
 jl06 18719 73 41748 1363 172 43283
 Reece202 1514 21 39957 943 92 40992
 2amCereal 18270 35 36653 2565 268 39486
 Zytik 13652 20 35123 1292 38 36453
 Glauber 14612 37 32139 4188 27 36354
 Toadwart 2322 38 31485 3022 218 34725
 Distel 23033 103 26942 5645 0 32587
 varnel_maiser 6691 128 26603 3409 176 30188
 faru 24926 23 24446 4997 0 29443
 DT_Planner 25648 43 26843 1385 43 28271
 Masyas 26066 33 23455 4301 43 27799
 Leowezy 1267 61 25397 2157 95 27649
 Aiki 2336 25 26732 404 136 27272
 Fayaan 18131 425 21673 5191 108 26972
 UN1TY 2194 96 23499 3350 25 26874
 newflanders 3228 12 26100 369 50 26519
 BelpheniaProject 1020 14 25435 720 0 26155
 ItsTybear 17286 107 20963 4653 33 25649
 ruadh 2725 44 22597 2676 64 25337
 Ernestpkirby 232 91 22066 2838 32 24936
 Conny879 25434 144 17499 5443 361 23303
 Kalh79 401 40 21758 1104 0 22862
 Sortsdam 25841 271 17933 4105 104 22142
 Y Knott 1158 49 16500 4174 10 20684
 Soboko 8026 27 18132 2058 53 20243
 ifgus 4790 68 16246 2878 52 19176
 Mantan 25551 71 15408 3349 45 18802
 MOI N 17119 11 16858 1234 208 18300
 Halvarda 21685 25 16998 529 36 17563
 Taka 14001 35 14226 2395 191 16812
 Paul Pfh 23089 128 13269 3013 35 16317
 Timboh 324 17 13146 2331 131 15608
 jjrc1996 20575 5 13310 2237 8 15555
 zhenkang 3225 32 14618 661 68 15347
 快乐的老鼠宝宝 24171 190 13270 1763 173 15206
 Anonymous21 23682 62 12030 2925 51 15006
 Geoc3ladus 14788 12 13621 1292 67 14980
 Rasmus Rasmusson 1139 132 10805 3297 7 14109
 Pav 12292 101 12634 1208 77 13919
 SSSACFGOOMA 25172 26 11095 2436 5 13536
 Mie 22733 22 11597 1920 13 13530
 NM$l 25192 70 11657 1592 37 13286
 BDoyle 17873 42 11701 1157 0 12858
 Aces California 759 76 10715 1903 23 12641
 super_empath 25865 20 10414 2119 9 12542
 JustSomeMapper 26026 65 10786 1677 31 12494
 chazeltine 7402 29 11468 784 29 12281
 Gubble 2713 17 10025 1936 6 11967
 Turnsole80 1130 51 9624 2013 155 11792
 Stephenplays 7055 68 9114 2317 7 11438
 PaintedBlue 23793 114 9887 1398 51 11336
 ParAvion 3527 13 10507 756 9 11272
 Brunanter 1761 48 9945 891 89 10925
 ciaosamuu 24620 46 9275 1473 16 10764
 indyroads 344 21 9206 1457 0 10663
 plainoldbread 3272 13 9666 431 2 10099
 lankusiek 23807 9 9191 805 3 9999
 ante44 1822 14 8545 1406 15 9966
 No Way 1463 20 7947 1973 7 9927
 Reviriegu 25104 47 8090 1172 6 9268
 Tahadagal 20218 29 8619 500 40 9159
 pablopilar 875 41 7264 1847 0 9111
 Vay 15996 9 7810 1190 14 9014
 CartographerKing 5562 14 8268 703 18 8989
 Sweetykid 25913 84 7528 1210 12 8750
 Le Mathou 790 5 8199 115 5 8319
 Infrarrojo 9678 14 7305 890 9 8204
 Fer Jiménez 20466 43 6418 1705 0 8123
 jamigg 25347 7 7868 199 3 8070
 tparigo 1747 17 6550 1379 86 8015
 waterbuckey 24951 18 7340 675 0 8015
 tule00 1405 18 7288 544 12 7844
 wangi 468 19 7619 209 12 7840
 Huachachi 15931 28 6474 1249 33 7756
 ThePhrogianOverlord 25594 18 6880 777 4 7661
 mic8per 25957 14 5797 1688 3 7488
 OhioRiverSSA 26088 18 6547 783 4 7334
 Christiaan de Vries 1228 113 5496 1669 13 7178
 curiomap 11647 62 5873 1240 0 7113
 seasvnz 25153 35 5872 1127 49 7048
 Otto Yamamoto 1368 48 6064 701 4 6769
 CrisChoky 18079 8 5836 820 52 6708
 ShavedParm 25749 128 4312 2379 6 6697
 Enderbyte09 25083 14 5995 699 3 6697
 mapeator 25655 20 5955 686 0 6641
 Ecchi Kei 25847 31 5316 1183 28 6527
 Oriolet 4764 144 5400 1083 6 6489
 DanDo 25243 28 5479 924 8 6411
 reCharged 17492 4 5663 733 4 6400
 kengoman 24572 6 4986 1045 26 6057
 Bob Lee 18271 31 5241 762 2 6005
 fngf3501 25280 14 5772 229 2 6003
 Olejowy 22566 37 5274 494 9 5777
 hallowed_embers 24992 10 4826 935 11 5772
 cheakshibe 26049 37 4657 1081 22 5760
 blz 24720 33 3875 1551 12 5438
 Eevee 7443 43 4226 1209 1 5436
 SwissCrusader 12676 6 4296 982 17 5295
 nsenx 26093 38 4236 898 4 5138
 Öllöjoumi 10082 27 4581 420 1 5002
 Alessa 2664 3 4663 330 3 4996
 MarcustheMapper 13156 22 4321 644 0 4965
 htx 1874 8 4314 544 0 4858
 acv 24879 3 4323 436 0 4759
 roadyote 14592 21 4117 583 6 4706
 Intergan 15076 5 4254 338 6 4598
 TheSeamonster 25941 69 3565 967 11 4543
 Marcello 3254 36 3939 548 1 4488
 mapper941 25228 19 3934 415 2 4351
 Deus Omnia 24999 26 3626 595 44 4265
 P Gaillard 25179 6 3816 370 12 4198
 Eshaan011 22496 16 3528 609 17 4154
 stjur 2533 9 3398 737 2 4137
 Fluffr_Nuttr 6846 16 3557 446 20 4023
 Dfltcher2 24710 17 2827 1170 4 4001
 TheMayor 14026 18 3400 578 18 3996
 turtle-bienhoa 26085 3 3867 65 1 3933
 Arq635 24043 7 2870 675 59 3604
 ethanxman 2516 7 2905 605 0 3510
 KTheBritMC 19188 18 3021 465 2 3488
 AnimationSky 23612 2 3266 196 0 3462
 NorthTeaPower 14030 21 3035 380 16 3431
 Easky30 18 11 2813 378 1 3192
 Stara Zagora 2514 17 2589 520 49 3158
 ChaoticwasTaken 25995 29 2316 641 1 2958
 gannman 2405 3 2774 177 0 2951
 shining-k 24800 13 2311 460 0 2771
 cartographersurgeon 25890 20 2095 672 0 2767
 JSanchez 253 23 2026 727 3 2756
 drgtgd 24865 20 2331 398 26 2755
 PortCal 1477 34 2391 325 7 2723
 Jarrodcamo 11452 5 2113 441 0 2554
 BillionPenny 26055 8 1942 462 2 2406
 antoon 217 4 1907 378 0 2285
 mikumikumapper 25619 7 1818 433 0 2251
 iJustLeyxo 24937 10 2076 162 7 2245
 elindio23 8153 11 1820 395 4 2219
 KameKaza 25617 9 1986 219 0 2205
 geoboi 5230 3 1827 317 46 2190
 Toad 23441 5 1934 241 4 2179
 Martinawa 11407 7 1443 553 143 2139
 Mahita 20854 34 1560 386 66 2012
 Rhett McDonald I 25918 21 1596 384 1 1981
 LunaU 23404 15 1713 250 2 1965
 Tianyi__Miku 26079 7 1810 123 0 1933
 The Torontarian 19888 9 1613 243 0 1856
 julijahaller 15972 15 1679 132 15 1826
 Usa 26113 13 1398 423 0 1821
 MxCo 26119 12 1226 442 39 1707
 Ejayy 25141 14 1325 376 0 1701
 AmpereBEEP 23019 13 1351 333 4 1688
 America 25550 19 1174 452 0 1626
 trussell2019 17416 9 1317 290 0 1607
 Boge 224 10 1299 276 5 1580
 TGSpace 25394 6 1228 288 8 1524
 Ouponamap 25585 15 1255 252 0 1507
 KAB 20875 6 1329 136 2 1467
 Jonesboro 14995 30 1169 252 3 1424
 GFC 8666 4 1064 354 0 1418
 skquinn 1192 60 899 503 0 1402
 t833 19093 23 947 443 4 1394
 pzs111111 20225 2 1112 274 0 1386
 sjk23 23494 7 1071 283 0 1354
 Picard-Lindelöf 15483 3 1284 63 1 1348
 Crarji 22595 16 961 319 0 1280
 Intergalactic 1384 2 1174 86 4 1264
 fbmdf1821 25986 10 1018 192 2 1212
 ellocomigue 10830 11 909 203 0 1112
 thermo_nuclear 2386 2 1070 38 1 1109
 GamePancakes 1071 8 837 239 0 1076
 iiEarth 12233 7 857 158 9 1024
 lmills29 25896 4 848 106 1 955
 frefromwig 26062 4 839 95 0 934
 mariusvnh 17201 13 850 81 0 931
 yong0315 26111 10 713 215 0 928
 Mapper89062 24351 4 680 221 10 911
 xioma_sg 8636 3 751 132 5 888
 HostedDinner 1215 1 754 104 1 859
 pdplm 6697 10 581 243 2 826
 Black Baron 2822 33 552 174 92 818
 suburbandecay 19215 1 755 58 0 813
 adminbot 23845 1 29 763 0 792
 poweikao 12084 1 748 39 0 787
 Jacko-Recio 24753 3 653 112 0 765
 Sloyment 26087 13 555 182 0 737
 Mike’s World 14591 1 649 75 0 724
 Tjitze 25527 3 598 108 0 706
 idmdvan93 26063 7 551 153 1 705
 waffledogefern 24973 2 630 59 0 689
 mt_CSC 22340 4 528 145 2 675
 elabo 1434 13 510 156 0 666
 Mawoka 26074 25 414 198 0 612
 dsilcott 15620 2 482 74 0 556
 Squizie3 17920 1 522 31 0 553
 Scotty129 26030 69 40 506 0 546
 Yuanls 1459 20 402 111 0 513
 Trellux 1757 2 469 25 10 504
 NocoRoads 25882 5 427 59 1 487
 nehalem501 8554 6 411 73 0 484
 bautyechev_ 26035 2 450 20 0 470
 django07 25742 1 428 42 0 470
 jba487_14 6326 10 359 108 2 469
 infinatious 12340 5 343 92 0 435
 Hasdrubal Sauradan 8881 7 395 30 0 425
 thosehlar 1343 3 324 78 1 403
 georgecg 1504 4 292 108 0 400
 bananaman101 25559 10 296 90 0 386
 Ilthracna 22530 1 240 134 0 374
 jak 16 9 336 35 0 371
 James69UK 13705 5 313 51 0 364
 Jōvīst 6964 10 290 64 0 354
 Ping_a_ding 25311 1 298 51 0 349
 waterstealer 24870 1 316 16 4 336
 augg 26094 3 270 62 0 332
 GullibleMappazoi 26078 5 248 61 0 309
 joschi81 4 2 255 44 0 299
 Alfred 14361 3 225 64 0 289
 Slam4 26091 5 260 27 0 287
 Duncan 18635 3 195 91 0 286
 AndrewNuzha 19082 4 253 30 0 283
 JuLn 15225 4 268 12 0 280
 Taksine 26047 8 189 84 0 273
 Verkkuserkku 25787 5 205 63 0 268
 lucko 25878 2 202 32 0 234
 amicharski 24799 3 184 41 0 225
 Le Solognot 25893 1 180 44 0 224
 Das 26067 8 147 64 0 211
 rickymex 24708 3 139 53 0 192
 fauxcartograph 2348 3 148 38 0 186
 S2SA 26070 4 165 16 0 181
 kingfries 1956 12 127 50 0 177
 theruler 12833 1 123 39 3 165
 Drogda 15815 5 124 36 3 163
 trabantemnaksiezyc 2161 1 111 36 1 148
 Gustavo Rocha 26050 1 120 13 0 133
 forkymapper 14790 2 82 36 0 118
 orion78 1564 5 99 17 0 116
 Gonzy 16354 3 63 44 0 107
 Arbhin 25454 2 83 22 0 105
 APP6A 14811 1 97 6 0 103
 dfmeow 25033 1 79 8 0 87
 deltanz 1438 4 57 21 0 78
 RhodeIslandWV 25253 2 54 21 0 75
 formamamat 26045 1 45 19 0 64
 Hello2048440gn0285 23524 1 57 4 0 61
 3236cuber 26104 2 51 3 0 54
 orlPL 25460 1 42 8 0 50
 dragonaut88 24934 4 46 2 0 48
 jemily2 24713 2 37 7 0 44
 ndgid 21484 2 29 8 0 37
 GFS 26028 1 24 9 0 33
 LELAION 26075 2 25 7 0 32
 RH9 22241 3 26 3 0 29
 Kisarazu Funya 26025 1 21 8 0 29
 Knocko 25891 1 20 9 0 29
 ADB52 4597 1 6 10 1 17
 Fried Bananas 25949 2 7 4 0 11
 哈布斯堡的忍之助 25899 2 7 2 0 9
 japyeong131 26121 1 3 1 0 4
 AtlanticIsles 25943 1 2 1 0 3
 tom the windows man 26097 1 1 0 0 1

February, 2023, in OGF

          display_name  user_id  count_changesets  count_nodes  count_ways  count_rels  count_objects
 tars 10312 223 226412 5408 432 232252
 elindio23 8153 70 206437 21622 59 228118
 Luciano 294 39 185353 33494 435 219282
 Izaland Terramorphing Committee 15584 108 119642 8916 269 128827
 joebro 2580 21 109041 2269 66 111376
 Liadrien 17542 73 106470 3917 231 110618
 Huachachi 15931 135 96693 8655 337 105685
 oneofbeatlefan 6427 33 90789 10304 78 101171
 UN1TY 2194 135 75821 12728 51 88600
 Bixelkoven 16933 44 76985 5504 237 82726
 Rustem Pasha 4928 10 69934 8182 62 78178
 Alexmar983 25870 472 61442 13307 159 74908
 Davieerr 8029 134 56989 4707 74 61770
 varnel_maiser 6691 107 58645 2900 154 61699
 jl06 18719 61 53376 1660 73 55109
 Geoc3ladus 14788 18 50946 1499 26 52471
 Toadwart 2322 38 47187 4923 298 52408
 Le Mathou 790 56 50694 1535 55 52284
 ifgus 4790 52 44151 4541 42 48734
 Fayaan 18131 326 37778 4004 209 41991
 Mie 22733 47 37411 2996 410 40817
 Halvarda 21685 56 39084 1333 106 40523
 thermo_nuclear 2386 45 35603 1975 84 37662
 Distel 23033 101 30770 5951 3 36724
 Timboh 324 24 31161 4250 394 35805
 chazeltine 7402 34 34899 736 70 35705
 Hilsonbergman 6375 15 33146 1851 64 35061
 ItsTybear 17286 103 20089 5188 43 25320
 Anonymous21 23682 75 23488 1051 331 24870
 eleinads 6085 120 19619 4688 16 24323
 Leowezy 1267 78 20410 3529 47 23986
 ShavedParm 25749 246 19331 4117 49 23497
 Glauber 14612 41 19465 3597 63 23125
 ante44 1822 20 21636 1476 9 23121
 Gubble 2713 17 18453 3408 14 21875
 Mantan 25551 67 19525 2277 43 21845
 Arlo 10218 23 20943 583 59 21585
 Rasmus Rasmusson 1139 180 15133 4144 9 19286
 Vay 15996 21 16327 2600 60 18987
 forkymapper 14790 5 18429 179 24 18632
 sudo91 22243 27 16132 2353 44 18529
 iBallasticwolf2 1355 22 17362 1146 3 18511
 PaintedBlue 23793 77 17116 1138 31 18285
 NM$l 25192 117 14661 3296 92 18049
 Sweetykid 25913 70 14240 3204 20 17464
 Infrarrojo 9678 33 15310 1449 17 16776
 Pav 12292 113 14592 2021 14 16627
 Lithium-Ion 22476 20 14866 1149 52 16067
 Zytik 13652 5 15828 41 11 15880
 MxCo 26119 70 10681 4049 79 14809
 super_empath 25865 30 11535 2855 24 14414
 plainoldbread 3272 13 12895 1268 3 14166
 Enderbyte09 25083 22 12752 1198 37 13987
 2amCereal 18270 8 12390 1347 91 13828
 jjrc1996 20575 39 11472 2225 10 13707
 indyroads 344 39 11814 1721 11 13546
 lankusiek 23807 36 11811 888 8 12707
 Kalh79 401 20 11928 204 26 12158
 Soboko 8026 13 11135 595 0 11730
 Reviriegu 25104 42 10312 1344 6 11662
 kengoman 24572 14 9638 1671 99 11408
 Fer Jiménez 20466 56 9284 2060 7 11351
 Charlie 26149 21 8676 2526 0 11202
 Sortsdam 25841 172 8351 2253 71 10675
 diamantschiff 11298 43 9368 769 22 10159
 Y Knott 1158 278 8228 1597 284 10109
 CrisChoky 18079 2 9652 420 1 10073
 Taka 14001 23 8372 1301 33 9706
 BelpheniaProject 1020 4 8902 344 2 9248
 Paul Pfh 23089 47 8157 1028 47 9232
 Rhett McDonald I 25918 64 6950 1664 12 8626
 Intergan 15076 10 7816 799 8 8623
 No Way 1463 22 6998 1326 22 8346
 快乐的老鼠宝宝 24171 105 7182 995 94 8271
 Otto Yamamoto 1368 35 7180 984 6 8170
 tparigo 1747 17 6297 1401 48 7746
 Stephenplays 7055 54 6408 1320 4 7732
 pablopilar 875 27 5986 1719 0 7705
 shining-k 24800 43 5761 1608 6 7375
 Eevee 7443 36 6329 785 2 7116
 zhenkang 3225 18 6296 739 12 7047
 makiodeblois 23546 44 5772 1249 0 7021
 ruadh 2725 27 6181 628 100 6909
 nsenx 26093 33 5836 953 30 6819
 Aiki 2336 14 5869 639 166 6674
 NorthTeaPower 14030 44 5405 1146 13 6564
 Arq635 24043 19 5817 633 90 6540
 P Gaillard 25179 14 5713 621 14 6348
 mikumikumapper 25619 14 5374 939 15 6328
 MarcustheMapper 13156 26 5538 745 0 6283
 ciaosamuu 24620 29 5301 955 20 6276
 Mapper89062 24351 24 4784 1399 7 6190
 acv 24879 2 5881 272 3 6156
 Masyas 26066 11 4856 1231 17 6104
 jamigg 25347 7 5857 91 0 5948
 poweikao 12084 6 5498 418 17 5933
 faru 24926 5 4297 1624 0 5921
 Dfltcher2 24710 31 4203 1661 0 5864
 mapper941 25228 19 5235 606 4 5845
 TGSpace 25394 17 4735 969 3 5707
 Mapping Expert 17027 8 5099 583 1 5683
 theCubic 24412 1 5550 111 0 5661
 geoboi 5230 9 4958 482 108 5548
 ParAvion 3527 8 4760 578 2 5340
 Reece202 1514 8 4715 427 48 5190
 DanDo 25243 16 4388 552 39 4979
 Ernestpkirby 232 19 4568 393 1 4962
 yong0315 26111 28 4051 380 0 4431
 cheakshibe 26049 52 3793 619 12 4424
 Souzzzzie 26176 18 3684 587 4 4275
 TheSeamonster 25941 81 3383 811 42 4236
 America 25550 34 2945 1255 21 4221
 Mike’s World 14591 5 3956 260 0 4216
 JustSomeMapper 26026 33 3417 746 13 4176
 cartographersurgeon 25890 35 3097 1053 7 4157
 james smith the great 26185 27 3286 746 22 4054
 OhioRiverSSA 26088 14 3537 406 2 3945
 sjk23 23494 9 3275 618 0 3893
 PortCal 1477 30 3176 698 4 3878
 gannman 2405 8 3384 421 0 3805
 curiomap 11647 38 2921 854 0 3775
 Sloyment 26087 39 2918 702 29 3649
 理塘丁真 25542 8 3110 400 4 3514
 AmpereBEEP 23019 21 2653 819 22 3494
 roadyote 14592 15 2755 542 0 3297
 Oriolet 4764 97 2637 557 1 3195
 Christiaan de Vries 1228 62 2265 915 4 3184
 antoon 217 3 1828 1204 0 3032
 Fluffr_Nuttr 6846 2 2917 87 2 3006
 Imperator 1141 1 2904 17 5 2926
 TheMayor 14026 14 2398 494 21 2913
 tistou26 22201 12 2523 338 2 2863
 Öllöjoumi 10082 34 2370 486 4 2860
 cya 26130 28 1992 850 12 2854
 Ping_a_ding 25311 5 2311 522 0 2833
 KTheBritMC 19188 10 2276 477 0 2753
 ethanxman 2516 2 2368 222 0 2590
 Lyriax 14982 10 2266 275 1 2542
 SwissCrusader 12676 3 2138 333 4 2475
 dsilcott 15620 19 1777 587 2 2366
 23Hubin 25761 17 1715 636 0 2351
 trussell2019 17416 24 1677 638 0 2315
 Nikolia 3685 3 1965 331 0 2296
 mrelpa 26140 7 1863 415 3 2281
 drgtgd 24865 11 1947 315 1 2263
 Gao07 26187 12 1788 456 1 2245
 Vybranium 26206 12 1718 479 0 2197
 stefano20p 25821 4 1887 278 0 2165
 Mapputaniumist 26202 20 1552 564 0 2116
 Alfred 14361 7 1638 386 0 2024
 NvdW1997 25376 8 1810 182 2 1994
 The Torontarian 19888 8 1508 452 0 1960
 Tellis Joseph Frank 26151 26 1406 527 19 1952
 Boge 224 8 1755 167 0 1922
 Suettulanti 1390 11 1578 331 0 1909
 Ejayy 25141 22 1318 586 0 1904
 cloud_francis 26138 7 1396 506 0 1902
 DT_Planner 25648 9 1769 109 4 1882
 JSanchez 253 20 1504 365 9 1878
 Jōvīst 6964 15 1148 683 1 1832
 blz 24720 15 1098 700 1 1799
 Easky30 18 12 1517 209 2 1728
 jba487_14 6326 17 1278 440 0 1718
 CharlieG 4058 2 1595 67 14 1676
 KameKaza 25617 16 1305 301 14 1620
 hallowed_embers 24992 6 1100 511 0 1611
 Prem 21334 8 1358 250 0 1608
 Black Baron 2822 20 1329 255 6 1590
 Ecchi Kei 25847 11 1359 189 17 1565
 Braddie 24279 4 1255 263 2 1520
 ellocomigue 10830 14 1217 255 0 1472
 xioma_sg 8636 4 1095 332 19 1446
 hoodieman1250 26184 16 1070 345 1 1416
 ElefantMapper 25653 5 1170 124 0 1294
 Canada_LaVearn 22831 6 1157 126 6 1289
 Qwertyuiop 6884 3 1017 204 0 1221
 fivedollarlamp 21982 3 1059 162 0 1221
 ThePhrogianOverlord 25594 4 1083 101 4 1188
 MarchisioThePal 25969 6 979 188 1 1168
 CaribbeanIslandMapper 25002 5 1079 65 6 1150
 KAB 20875 4 878 125 1 1004
 Jonesboro 14995 20 810 167 2 979
 t833 19093 11 741 192 5 938
 Brunanter 1761 11 754 170 0 924
 Martinawa 11407 4 791 117 6 914
 raxx 25343 20 563 291 0 854
 Aces California 759 9 666 178 2 846
 Zoro 25236 3 728 115 0 843
 bhj867 178 3 828 11 0 839
 confusedtoad 25218 7 602 216 2 820
 AnimationSky 23612 2 680 113 3 796
 Logan 25956 8 697 76 17 790
 pzs111111 20225 1 638 144 0 782
 Ūdilugbulgidħū 1602 1 752 2 0 754
 coshatiuav 18421 3 699 50 3 752
 skquinn 1192 29 470 254 2 726
 Verkkuserkku 25787 17 492 182 0 674
 Grif1n30 26198 35 535 114 0 649
 BMSOUZA 954 7 566 69 0 635
 iiEarth 12233 5 548 73 4 625
 Ouponamap 25585 9 430 126 0 556
 Szybki 24519 3 381 164 2 547
 georgecg 1504 11 474 68 0 542
 ChaoticwasTaken 25995 8 335 172 0 507
 Bob Lee 18271 3 425 58 0 483
 elabo 1434 12 356 84 0 440
 fngf3501 25280 3 370 48 0 418
 nehalem501 8554 6 343 74 0 417
 NocoRoads 25882 4 335 67 0 402
 PRASEOD- 26201 1 301 94 5 400
 julijahaller 15972 3 374 21 0 395
 seasvnz 25153 3 318 70 0 388
 BlooXen 25715 7 299 77 3 379
 Tahadagal 20218 1 318 44 13 375
 cellularAutomaton 26146 8 309 60 0 369
 BDoyle 17873 1 316 47 0 363
 Kokerey 14213 4 284 67 0 351
 ayamanao 25630 5 298 34 0 332
 kingfries 1956 20 255 76 0 331
 WoW 25408 1 246 70 0 316
 ratsoff2u 1017 3 259 53 0 312
 moots_126 26103 3 261 50 0 311
 Nudelsuppe42 26181 5 232 59 1 292
 Ilthracna 22530 1 196 90 0 286
 ndi8093 24707 4 184 95 0 279
 FRANK 26144 1 191 80 0 271
 mstr 1973 5 228 5 1 234
 mrpeanuts 9055 5 164 58 2 224
 Inkwinter Ye 25597 1 181 33 0 214
 Mahita 20854 6 123 63 7 193
 NotLanoas 22969 5 141 42 0 183
 andytws 26203 1 155 26 0 181
 Koziu 24578 2 144 16 0 160
 dragonaut88 24934 2 107 18 9 134
 Ossi 25148 2 99 24 0 123
 Arbhin 25454 5 97 24 0 121
 DnaX 26142 1 91 30 0 121
 tule00 1405 2 90 27 1 118
 bootmii 2615 2 83 30 2 115
 ADB52 4597 3 97 13 3 113
 augg 26094 1 83 27 0 110
 CheesyJeb 25950 1 98 11 0 109
 fauxcartograph 2348 1 74 29 0 103
 fedcd 25649 2 75 20 1 96
 arnaudfrance 26145 5 68 22 1 91
 Sarepava 239 1 78 11 0 89
 Hashtags Mappings 25314 1 66 21 0 87
 shmais 26165 2 61 13 0 74
 marsomyx880 26150 6 59 12 0 71
 James69UK 13705 1 69 1 0 70
 Mauser 25990 10 46 23 0 69
 Yamadaic 26183 3 43 17 6 66
 JuLn 15225 1 53 5 0 58
 John1985 3461 2 40 13 0 53
 The_Cute_Chick 9172 1 1 47 0 48
 Gonzy 16354 1 30 18 0 48
 wangi 468 14 3 34 9 46
 Turnsole80 1130 2 40 4 0 44
 Crarji 22595 3 30 13 1 44
 amicharski 24799 2 36 6 0 42
 Delta13 26190 1 22 9 0 31
 Portier 15365 2 22 5 0 27
 Nickollas Matt 25656 1 18 8 0 26
 jemily2 24713 1 18 1 0 19
 bananaman101 25559 1 13 4 0 17
 deltanz 1438 1 15 2 0 17
 Yuanls 1459 1 9 8 0 17
 RicardoNolazcoC 1582 1 15 1 0 16
 jak 16 1 8 2 0 10
 ndgid 21484 1 8 2 0 10
 Miroslav Suchy 26174 1 6 3 0 9
 sude 15789 1 7 1 0 8
 thosehlar 1343 1 0 6 0 6
 gbohflam 26135 1 2 3 0 5
 swoop_hearts6224 26200 1 1 4 0 5
 theruler 12833 1 0 4 0 4
 admin 215 2 0 1 2 3
 Punkmonkey22 20035 1 1 1 0 2
 Knocko 25891 1 1 0 0 1
 u5n7 24421 1 1 0 0 1

Notably, the active user counts for these two months are almost identical, with 279 for January and 281 for February.

For those who are interested in the technical side, here is a sample of  the query I ran on the API database. It’s really quite simple once you get the syntax right.

select
 users.display_name,
 changesets.user_id,
 count ( distinct objects.changeset_id ) as count_changesets,
 sum ( objects.count_nodes ) as count_nodes,
 sum ( objects.count_ways ) as count_ways,
 sum ( objects.count_rels ) as count_rels,
 sum ( objects.count_rels + objects.count_ways + objects.count_nodes ) as count_objects
from ( 
 select 
   changeset_id, 
   count ( node_id ) as count_nodes,
   0 as count_ways,
   0 as count_rels
  from nodes 
  where visible = 't' and timestamp >= '2023-02-01' and timestamp < '2023-02-28' 
  group by changeset_id 
 union select 
   changeset_id, 
   0 as count_nodes,
   0 as count_ways,
   count ( relation_id ) as count_rels
  from relations
  where visible = 't' and timestamp >= '2023-02-01' and timestamp < '2023-02-28' 
  group by changeset_id 
 union select 
   changeset_id, 
   0 as count_nodes,
   count ( way_id ) as count_ways,
   0 as count_rels
  from ways 
  where visible = 't' and timestamp >= '2023-02-01' and timestamp < '2023-02-28' 
  group by changeset_id 
) as objects
join changesets
on objects.changeset_id = changesets.id
join users
on changesets.user_id = users.id
group by
 users.display_name,
 changesets.user_id
order by 
 count_objects desc;

OpenGeofiction Aggregate Active User Data (Since Migration)

I decided to try to brush off some very rusty SQL skills and write a query against the OGF database to find out what our monthly active user counts looked like.

This data can only be compiled accurately for dates since the “migration”, which was in August, 2021. Before that changesets are not properly dated as they were all loaded at once from the old instance (Thilo’s) to the new instance (Luciano’s).

I decided to categorize unique user counts for each month by their “start year” (e.g. a user like myself would be under start year 2014). That way I could also see how old “generations” of users drop off over time.

I started with a nested SQL query, which is basically what I used to do professionally about 20 years ago, but it’s been a while since I wrote raw queries against complex data like this. It comes back fairly quickly though, and this is definitely the result of a little bit of trial and error. I’m working with two tables in the openstreetmap PostgreSQL database: users and changesets. I’m counting changesets by the month they occur and by a breakdown of users by when they started using the OGF site (with a special category for users who are “new” in the month they are active).

Here’s the query I made and ran at the PSQL prompt on the server (these data structures are all public knowledge, part of the OSM specification, so I don’t feel worried sharing it).

SELECT 
 t.changeset_month,
 t.user_first_year, 
 t.new_user_flag,
 COUNT(DISTINCT t.user_id) AS count_users,
 COUNT(t.changeset_id) AS count_changesets
FROM ( 
  SELECT
   i.changeset_id,
   i.changeset_month,
   i.user_id,
   LEFT(i.creation_month, 4) AS user_first_year,
   CASE
    WHEN i.creation_month = i.changeset_month
    THEN 'new_user'
    ELSE 'old_user'
   END AS new_user_flag
  FROM ( 
    SELECT 
     to_char(changesets.closed_at, 'YYYY-MM') AS changeset_month,
     changesets.user_id AS user_id, 
     changesets.id AS changeset_id, 
     to_char(users.creation_time, 'YYYY-MM') as creation_month
    FROM changesets INNER JOIN users 
    ON users.id = changesets.user_id 
    WHERE changesets.closed_at >= '2021-10-01'::date
    AND changesets.closed_at <= '2022-12-31'::date
  ) AS i
) AS t
GROUP BY 
 t.changeset_month,
 t.user_first_year, 
 t.new_user_flag
ORDER BY 
 t.changeset_month,
 t.user_first_year, 
 t.new_user_flag DESC;

Here’s the raw output I got.

changeset_month | user_first_year | new_user_flag | count_users | count_changesets
-----------------+-----------------+---------------+-------------+------------------
2021-10         | 2013            | old_user      |          10 |              112
2021-10         | 2014            | old_user      |          17 |             1098
2021-10         | 2015            | old_user      |          23 |              720
2021-10         | 2016            | old_user      |          24 |              448
2021-10         | 2017            | old_user      |          34 |              787
2021-10         | 2018            | old_user      |          45 |             1088
2021-10         | 2019            | old_user      |          35 |              750
2021-10         | 2020            | old_user      |          28 |              557
2021-10         | 2021            | old_user      |          34 |              492
2021-10         | 2021            | new_user      |          24 |              280
2021-11         | 2012            | old_user      |           1 |                1
2021-11         | 2013            | old_user      |           8 |              207
2021-11         | 2014            | old_user      |          19 |              687
2021-11         | 2015            | old_user      |          26 |              697
2021-11         | 2016            | old_user      |          21 |              408
2021-11         | 2017            | old_user      |          36 |              738
2021-11         | 2018            | old_user      |          41 |             1271
2021-11         | 2019            | old_user      |          29 |              663
2021-11         | 2020            | old_user      |          26 |              749
2021-11         | 2021            | old_user      |          28 |              439
2021-11         | 2021            | new_user      |          23 |              498
2021-12         | 2013            | old_user      |          10 |              335
2021-12         | 2014            | old_user      |          17 |              773
2021-12         | 2015            | old_user      |          23 |              892
2021-12         | 2016            | old_user      |          25 |              657
2021-12         | 2017            | old_user      |          31 |              703
2021-12         | 2018            | old_user      |          43 |             1506
2021-12         | 2019            | old_user      |          29 |              769
2021-12         | 2020            | old_user      |          25 |              664
2021-12         | 2021            | old_user      |          45 |              854
2021-12         | 2021            | new_user      |          22 |              250
2022-01         | 2012            | old_user      |           1 |                3
2022-01         | 2013            | old_user      |           7 |              174
2022-01         | 2014            | old_user      |          13 |             1023
2022-01         | 2015            | old_user      |          22 |              805
2022-01         | 2016            | old_user      |          23 |              568
2022-01         | 2017            | old_user      |          32 |              753
2022-01         | 2018            | old_user      |          39 |             1642
2022-01         | 2019            | old_user      |          30 |             1062
2022-01         | 2020            | old_user      |          30 |              878
2022-01         | 2021            | old_user      |          42 |              703
2022-01         | 2022            | new_user      |          24 |              192
2022-02         | 2013            | old_user      |          10 |              397
2022-02         | 2014            | old_user      |          19 |             1251
2022-02         | 2015            | old_user      |          21 |              768
2022-02         | 2016            | old_user      |          22 |              540
2022-02         | 2017            | old_user      |          30 |             1136
2022-02         | 2018            | old_user      |          41 |             1612
2022-02         | 2019            | old_user      |          25 |              617
2022-02         | 2020            | old_user      |          27 |              888
2022-02         | 2021            | old_user      |          41 |              722
2022-02         | 2022            | old_user      |           8 |              117
2022-02         | 2022            | new_user      |          21 |              234
2022-03         | 2013            | old_user      |           8 |               61
2022-03         | 2014            | old_user      |          17 |             1384
2022-03         | 2015            | old_user      |          25 |              927
2022-03         | 2016            | old_user      |          22 |              705
2022-03         | 2017            | old_user      |          35 |             1498
2022-03         | 2018            | old_user      |          41 |             1211
2022-03         | 2019            | old_user      |          33 |              861
2022-03         | 2020            | old_user      |          30 |             1018
2022-03         | 2021            | old_user      |          38 |             1458
2022-03         | 2022            | old_user      |          13 |              491
2022-03         | 2022            | new_user      |          27 |              758
2022-04         | 2013            | old_user      |           7 |              186
2022-04         | 2014            | old_user      |          17 |              871
2022-04         | 2015            | old_user      |          24 |              500
2022-04         | 2016            | old_user      |          19 |              683
2022-04         | 2017            | old_user      |          30 |             1093
2022-04         | 2018            | old_user      |          39 |             1291
2022-04         | 2019            | old_user      |          29 |              833
2022-04         | 2020            | old_user      |          28 |              673
2022-04         | 2021            | old_user      |          32 |              753
2022-04         | 2022            | old_user      |          25 |              900
2022-04         | 2022            | new_user      |          21 |              231
2022-05         | 2012            | old_user      |           1 |                1
2022-05         | 2013            | old_user      |           8 |              214
2022-05         | 2014            | old_user      |          22 |             1093
2022-05         | 2015            | old_user      |          25 |              526
2022-05         | 2016            | old_user      |          25 |              899
2022-05         | 2017            | old_user      |          28 |             1100
2022-05         | 2018            | old_user      |          40 |             1097
2022-05         | 2019            | old_user      |          30 |              873
2022-05         | 2020            | old_user      |          30 |              673
2022-05         | 2021            | old_user      |          34 |             1328
2022-05         | 2022            | old_user      |          27 |              558
2022-05         | 2022            | new_user      |          30 |              348
2022-06         | 2013            | old_user      |           7 |              249
2022-06         | 2014            | old_user      |          17 |              979
2022-06         | 2015            | old_user      |          26 |              605
2022-06         | 2016            | old_user      |          26 |              593
2022-06         | 2017            | old_user      |          30 |              988
2022-06         | 2018            | old_user      |          39 |              941
2022-06         | 2019            | old_user      |          27 |              985
2022-06         | 2020            | old_user      |          26 |              783
2022-06         | 2021            | old_user      |          36 |              919
2022-06         | 2022            | old_user      |          44 |              606
2022-06         | 2022            | new_user      |          31 |              523
2022-07         | 2013            | old_user      |           8 |               84
2022-07         | 2014            | old_user      |          19 |             1414
2022-07         | 2015            | old_user      |          25 |              630
2022-07         | 2016            | old_user      |          24 |              558
2022-07         | 2017            | old_user      |          29 |             1209
2022-07         | 2018            | old_user      |          39 |             1199
2022-07         | 2019            | old_user      |          27 |              632
2022-07         | 2020            | old_user      |          29 |              796
2022-07         | 2021            | old_user      |          35 |             1082
2022-07         | 2022            | old_user      |          41 |              750
2022-07         | 2022            | new_user      |          38 |              632
2022-08         | 2013            | old_user      |          10 |              165
2022-08         | 2014            | old_user      |          17 |             1236
2022-08         | 2015            | old_user      |          24 |              687
2022-08         | 2016            | old_user      |          25 |              636
2022-08         | 2017            | old_user      |          29 |              961
2022-08         | 2018            | old_user      |          41 |             1145
2022-08         | 2019            | old_user      |          35 |              808
2022-08         | 2020            | old_user      |          25 |              585
2022-08         | 2021            | old_user      |          38 |              847
2022-08         | 2022            | old_user      |          50 |             1049
2022-08         | 2022            | new_user      |          40 |              589
2022-09         | 2013            | old_user      |          10 |              175
2022-09         | 2014            | old_user      |          19 |             1534
2022-09         | 2015            | old_user      |          20 |              604
2022-09         | 2016            | old_user      |          24 |              750
2022-09         | 2017            | old_user      |          23 |              735
2022-09         | 2018            | old_user      |          41 |             1302
2022-09         | 2019            | old_user      |          28 |              841
2022-09         | 2020            | old_user      |          24 |              503
2022-09         | 2021            | old_user      |          30 |              609
2022-09         | 2022            | old_user      |          54 |             1035
2022-09         | 2022            | new_user      |          25 |              261
2022-10         | 2012            | old_user      |           1 |                3
2022-10         | 2013            | old_user      |           8 |              231
2022-10         | 2014            | old_user      |          18 |             1112
2022-10         | 2015            | old_user      |          22 |              433
2022-10         | 2016            | old_user      |          25 |              789
2022-10         | 2017            | old_user      |          25 |              809
2022-10         | 2018            | old_user      |          39 |             1267
2022-10         | 2019            | old_user      |          28 |              895
2022-10         | 2020            | old_user      |          30 |              736
2022-10         | 2021            | old_user      |          27 |              382
2022-10         | 2022            | old_user      |          54 |             1040
2022-10         | 2022            | new_user      |          17 |              173
2022-11         | 2013            | old_user      |           8 |              248
2022-11         | 2014            | old_user      |          16 |             1164
2022-11         | 2015            | old_user      |          22 |              357
2022-11         | 2016            | old_user      |          23 |              675
2022-11         | 2017            | old_user      |          25 |              927
2022-11         | 2018            | old_user      |          37 |              897
2022-11         | 2019            | old_user      |          25 |              702
2022-11         | 2020            | old_user      |          25 |              679
2022-11         | 2021            | old_user      |          25 |              577
2022-11         | 2022            | old_user      |          49 |             1100
2022-11         | 2022            | new_user      |          31 |             1641
2022-12         | 2013            | old_user      |           6 |              317
2022-12         | 2014            | old_user      |          18 |              981
2022-12         | 2015            | old_user      |          23 |              543
2022-12         | 2016            | old_user      |          20 |              541
2022-12         | 2017            | old_user      |          25 |              941
2022-12         | 2018            | old_user      |          34 |              973
2022-12         | 2019            | old_user      |          28 |              935
2022-12         | 2020            | old_user      |          22 |              500
2022-12         | 2021            | old_user      |          29 |              432
2022-12         | 2022            | old_user      |          59 |             1623
2022-12         | 2022            | new_user      |          25 |              317

I plugged these data into a spreadsheet, did a few changes and a pivot table. Here’s a graph of the result.

picture

The top band, in light blue, is the “new users” band – these are users each month who are active in their first month of joining OGF. The lower bands represent each year back to OGF’s founding, in 2012 (there were only 2 users in the first year, Thilo and Joschi).

Based on that graph, I would say really OGF is quite stable. We acquire a certain number of new users each month, we lose about an equal proportion of old users, but some subset of long-term users stick around.

On Castine and its many tribulations

Castine is an imaginary country that once existed on the imaginary planet I prefer to call Ogieff. In fact, the imaginary planet doesn’t have an official name – it’s hosted at opengeofiction.net, which all the users call, simply, “OGF”. That initialism leads to my preferred name for the planet – just sound it out.

There is a real place called Castine – it’s a small town in Maine, USA. This is not that Castine.

I joined OGF in 2014, and Castine appeared and began evolving sometime in the year after that, I think – in 2015. I also became an admin on the opengeofiction.net website in that year.

During the period from 2015 to 2017, Castine became the locus of a kind of meta-proxy-war, where I used it as a stand-in for a never-ending argument I liked to have with my fellow OGF admins.

The issue in question was the rule about “verisimilitude”. I had long felt (and continue to feel) that OGF’s verisimilitude rule is a bad idea – it’s vague and impossible to enforce consistently. It has no objectivity. The principle is that mapping on the OGF world is supposed to be “realistic” in the sense that it eschews fantasy and sci-fi elements, and doesn’t contain cultural or cartographic artifacts that couldn’t reasonably exist in the real world. Hence, people who build 50 km bridges or tunnels are called out for violating verisimilitude, likewise more science-fictional elements like space elevators or fantasy elements like dens of dragons or nations of 1920’s-era talking sheep (all these examples really occurred at various times on the OGF planet).

Castine was (is) a borderline case of violating verisimilitude. Some users felt it violated the rule, others felt it was okay. My position was always something like: “since we can’t decide if this violates verisimilitude or not, but it’s really good mapping… c’cmon, people, let’s drop (or at least, fix) this stupid rule.

Of course, this was an unpopular stance. And in the long run, I lost the battle to remove or even alter the verisimilitude rule on Ogieff, and I made my peace with it.

One way that I made that peace with it, was to create my own, separate planet! In 2016, I started the planet Arhet as a kind of alternative project to Ogieff. By 2018, it had several active mappers and its own emerging community. The principle concept behind Arhet is to be a kind of “libertarian” reinterpretation of OGF. It has very few rules: no verisimilitude rule, no assigned territories, etc. And somewhat to my own surprise, it sorta kinda works. The key to it working, I reckon, is that unlike OGF, Arhet is not “open” to any and all comers. There’s an application process to join, and although I enforce almost no rules for the planet, I do stand firm that arguments or disagreements between users that escalate to my remit will simply result in immediate banning of all parties. That keeps everyone participating on best behavior, I guess.

The irony is that then, in 2021, I took over the hosting of the original opengeofiction.net. So now I host a little federation of two imaginary planets, Ogieff and Arhet, which have substantially overlapping user communities but having quite different rule systems. And I’m okay about that. I inevitably yield to my fellow admins, whose hard work and dedication to the project I admire, when it comes to matters of rules and judgements on Ogieff. But off to the side, I run Arhet singularly, and I insist on its fundamentally anarchic state.

In around 2020, the creator of Castine (Ramasham) was banned from Ogieff – ultimately for violating another, different rule: the rule prohibiting direct upload of data copied from OSM. OSM is OpenStreetMap, which is a map of the Real World™ in the same technological vein as our two imaginary planets. This is the so-called “slippy map” paradigm, originally popularized by mapquest and perfected and dominated by google maps. OSM runs on and supports a whole complex ecosystem of software that is all open source, as a kind of alternative to google maps, and that’s why it’s easy (uh, “easy” in a financial sense, not “easy” in a technical sense) for us to use the same software to run OGF and Arhet.

Anyway, there is (and there has always been) a rule prohibiting copying OSM data into OGF. Ostensibly this is motivated by paranoia about copyright violation, but in fact copyright has little to do with it, in my own estimation – there are easy ways to avoid issues around copyright as long as you follow along with OSM’s “attribution and re-use” rules. The real motivation for the prohibition is legitimate, though: on OGF, we want to discourage mappers from spamming the planet’s map with cut-n-paste copies of real-world places. It’s low effort geofiction and discourages creativity.

That said, when I set up Arhet I decided to also not enforce OGF’s “no real-world (OSM) data” rule. And indeed I myself played around with cutting and pasting some data from OSM, including an ephemeral instance of country I called “Lingit Aani” (this is Tlingit language) – a copy of the islands of Southeast Alaska but minus any nearby continent, as an open-ocean archipelago. I later deleted this, but there are multiple copy-the-real-world geofiction projects going on in Arhet, these days, including clones of Sakhalin Island (Siberia) and Romania’s Bucharest, and at least two Polands – perhaps more.

I guess Castine’s creator, Ramasham, had been doing some copy-pasting of OSM data to increase the detail and complexity of Castine’s cartography. Notably, this airport is a modified cut-n-paste copy of one in the real world, with only the names of things altered. And so Ramasham was banned from OGF. Rules are rules, and that “no copy from OSM” rule is actually probably the most common reason for mappers to be banned from the site.

Now we come to February of this year (2022). The admin team at OGF, moving to “clean up” various abandoned territories around our (imaginary) globe, decided finally to delete Castine once and for all. And I had a moment of deep sadness and regret. Despite my having leveraged Castine back in 2016 as part of my proxy war with the other admins over the verisimilitude rule, in fact I really, really like Castine.

From a technical standpoint, Ramasham was at best a mediocre mapper. But the imaginary country is full of cartographic whimsy and playfulness, the naming is thorough and inventive and culturally intriguing, and the detail in some parts is quite incredible. I thought it was worth preserving.

So I considered: Ramasham’s ban from OGF was for violating the “No OSM data” rule; if there were any other issues with Castine, they were issues with the “verisimilitude” rule; so… hey – Arhet doesn’t have those rules!

The solution was obvious. I decided I’d move Castine to Arhet. And even more conveniently, the exact latitude and longitude of Castine’s old Ogieff location was open an unused on Arhet. I figured it should be quite easy to simply “cut-n-paste” the whole of Castine into Arhet.

Yikes! This turned out to be the far from the case – it was not easy. Not at all. Castine included almost 2 million distinct GIS objects: nodes, ways, relations. This was not trivial to simply cut, paste, and upload into the new site. And further, the data quality was quite poor, from a technical standpoint. Thousands of improperly stacked ways on shared nodes, hundreds of lazily-crafted or incomplete data relations, etc.

I have spent the last week in a kind of Alice-in-Wonderland nightmare of trying to rescue Castine and upload it to the Arhet planet. I think that as of this morning, that I have succeeded, but not before almost destroying the Arhet server altogether in the process.

Without going into a lot of detail, it seems that there were a couple of relations (a technical term in this case for a type of data object used in OSM GIS software) that were apparently so badly constructed that they broke the server’s database. Since I had to do a kind of trial-and-error search to finally identify these objects, it took a very long time. I’d upload some subset of the full Castine dataset, and watch to see if the database crashed or not. If it didn’t, fine, I’d try another set of data. If it crashed, I’d have to go back to the last backup of the server, restore it, and try again. I think I did a backup-restore cycle maybe 12 or 14 times over the last week on the Arhet server. It was painful, and tedious, and immensely frustrating.

The crash-provoking objects in question are puzzling. I still don’t understand why they crash the database. And given my difficulties in identifying them (and surviving them – see below), I probably won’t spend time, any time soon, trying to figure them out. They are “Giant Chessboards” – three of them. Interestingly, Castine also has other “Giant Chessboards” (e.g. here) that do not cause any kind of data problem. They are apparently implemented differently, in their details.

The problem was compounded yesterday, when, much to my shocked dismay, the server-level backup-restore functionality offered by my hosting provider, Linode – that I’d been so repeatedly abusing – suddenly and inexplicably failed to work.

So for a day (yesterday) the world was Arhetless. The server was down. I was in a panic because it seemed I’d have to fully rebuild the server from scratch. And it was only pure luck that I even had a copy of the map data, because I was still running a kludgey render engine (map drawing process) for Arhet on a different machine.

I wrangled with tech support at Linode, and they finally held my hand (or was it that they held my server’s hand?) through a successful if stressful restoration of the server’s image.

Let’s just say, these days Castine now has a quite colorful meta-history.

I reached out to the creator of Castine, sending an email to the address on record at OGF, announcing its restoration in Arhet. I would absolutely welcome and be pleased if that person would come back and take up work on the country, again – they won’t be constrained by the rules and regulations on Ogieff. Unfortunately I haven’t heard back. I speculate that there might be some bitterness about the whole business of having been first praised and then banned, back a few years ago.

The link to Castine-in-Arhet is here:

https://arhet.rent-a-planet.com/relation/10996

Please feel free to explore. I decided not to bother with adding extensive screenshots for this blog post – the point of having the Castine map hosted on the server is that you can explore easily directly on the website.

Happy mapping.

Music to view geofiction to: Dawg Yawp, “Lost At Sea.”

Documentation of layers

I have been trying to develop some user-friendly documentation for the map layers on the main opengeofiction.net website. I have written quite a bit over the last 24 hours, and posted it to two articles on the OpenGeofiction wiki.

OGF Carto layer

OGF Topo layer

For those who might think I’m just a layabout and don’t do much, here is evidence to the contrary.

Music to write documentation to: Feduk & Allj – Розовое вино

On Mass Deletions in OGF

This morning, I posted this in response to a query on the User Diaries at OpenGeofiction:

General advice for all users:

When deleting large numbers of objects, please be careful. This is not a use-case that the OSM software is designed to handle (think about it – mass deletions are NOT common on OSM). Divide up your deletions to cover small numbers of objects (<1000) and small areas (so if something goes wrong you don’t mess up large areas).

I called attention to the post in the discord channel (“OGFC”), and so I decided to rant onward and provide some additional clarification and thoughts. I’ve distilled those, without much editing, below.

To the above, I would add that in my own practice, I have another step I take with respect to deletions. I almost never delete relations. You’ll notice in JOSM, it actually tries to warn you that “this is rarely necessary” when you try to delete a relation, and I think that’s a solid point. What you can do with relations you don’t need any more is repurpose them. That means you delete the members of the relation, and all of its tags, and then use it the next time you need a new relation for something.

user: What would be the potential harm of deleting relations?

Well I suspect that sometimes, a deleted relation can end up as a “ghost” object, or a “stranded” object, in the render database. Meaning it’s truly been deleted from the API database (the main rails port) but that deletion fails to transfer correctly to the render database (which stores things in a different format, and doesn’t actually have “relations” at all, but rather transforms a relation them into a special type of “closed way” I think)

By repurposing a relation instead of deleting it, you guarantee the render database will have to reclassify the linked object(s).

If you just delete it, the render database might not handle the disappeared relation correctly, and just leave the no-longer-linked objects lying around.

This is just speculation, because I don’t really understand it well. But just based on observed behavior

In general, I think that the OSM software is not designed to handle mass deletions. That’s the key point.

Because in OSM, who goes around deleting large number of objects? The real world doesn’t work that way.

You re-tag things, yes. You might move things slightly, adjusting position to improve accuracy. But things in OSM don’t “disappear”

Or if they do, they do so in very, very small sets. A building gets knocked down. A road gets torn out.

One object at a time.

So it seems very plausible to me that the OSM software actually hasn’t been designed to handle mass deletions, and hasn’t been tested for integrity in dealing with mass deletions.

For years now, I’ve been telling people, when you decide to rearrange your territory (and what geofictician doesn’t sometimes decide to rearrange their territory?!) … it’s better to move things than to delete/re-create things.

This prevents “ghosts” in the render.

In the long run, I suspect that we’ll have to just “reboot” the render now and then. But I’m not going to do it very often. (I mean “reboot” as in delete and re-create from zero, not “reboot” as in turn the machine off and on again – that happens every night).

I’d welcome comments on this rambling, vaguely rant-like discourse, for those who are knowledgeable about how the OSM apidb-to-renderdb pipeline works.

Music to make deletions to: 10cm, “오늘밤에.”

OGF Live

The OGFMirror became opengeofiction.net, over the weekend.

This is huge news.

So far the site is working okay. Not great, just okay. There are some issues.

  • The ActionController::InvalidAuthenticityToken is frequent and painful, for users.
  • Possibly related to the above – users keep getting forcibly logged out, over and and over.
  • The render is still playing catchup on the whole world map, and seems to be lagging around 2 hours for high zooms.
  • Incoming email is completely broken – possibly due to errors in the DNS tables at the opengeofiction.net registrar (and we’re waiting on the old host to fix this)
  • Outgoing email is problematic for some substantial portion of users due to over-aggressive anti-spam efforts by several major email providers, including Apple (icloud) and Microsoft (hotmail, outlook, live). I’m not even sure how to begin fixing this. I’ve implemented DKIM, but this also relies on fixing DNS errors which are not currently being fixed, and that might help. I’ve looked into a blacklisting of my email server by spamhaus.org and discovered it is due to my email server sharing the same IP range with a Nigerian Prince or somesuch in the server farm where it lives.

Work continues. Meanwhile, to all the users of OGF: “Happy mapping!”

Music to map happily to: Cake, “I Will Survive.”

OGFMirror

I’m super bad about posting to this blog. That’s partly because I feel a strong desire to report some actual, positive progress, which I haven’t felt enabled to do.

I have been very busy with HRATE technicalities. I am building – very, very slowly – a “mirror” for opengeofiction.net (OGF). I think if this is successful, then the owner of that site, who has expressed interest in “letting go” of having to continue to maintain it, will allow the mirror to take over for the site and a transition to a new hosting environment will be complete.

Someday, I intend to write up, in elaborate, technical detail, this process of setting up a mirror. But in broad outlines, here is what it involves (has involved, will involve).

  • Build a new Ubuntu 20.04 LTS server. This leads to lots of incompatibilities farther down the line, because the existing OGF server is an older version. Install the basics – apache, postgresql, etc.
  • Install an OSM rails port on the server.
  • Migrate the OGF data to this server. This was very, very hard – because the OGF data (in either .osm.pbf format, or in pg_dump format) proved to contain inconsistencies (data corruption). Some missing current nodes and ways had to be restored manually (text-editing .osm = .xml files). This ended up a 2-weeks-long process.
  • Set up incoming replication from the source apidb (OGF) to the new mirror (currently being called ogfdev).
  • Set up outgoing replication for the new ogfdev instance (to drive render, overpass, etc)
  • Set up a new primary render. This had some sub-parts.
    • coastlines. This proved very difficult, because as far as I can figure out, the osmcoastline tool used to create the coastline shapefiles is broken on Ubuntu 20.04. An older version must be used. My current workaround: I’m actually running coastlines on an older server. I import a coastline-containing pbf file to the older server, run the osmcoastline tool, and post the shapefiles for consumption on the render server.
    • I made a decision to run the renders on a different server than the apidb. I think this might involve a bit more expense, short term, but it makes the whole set of processes more scalable, long term. My experience with Arhet is that the render requires scaling sooner / more frequently than the apidb, as the user base grows. Installing the render software (mod_tile and “renderd”) proved difficult. It turns out that there are some lacunae and downright incorrect steps in the documented installation sequences on github.
    • Set up incoming replication from the ogfdev database to the render database.
    • There are substantial differences in recent versions of the openstreetmap-carto style – specifically, the special shapefiles are no longer stored in as datafiles in data folder in the render directory. Instead, the shapefiles are loaded to the database. Because non-standard shapefiles are used, this means rewriting the load procedures (python scripts) – the standard approach is to just grab the files for “Earth” (because who would run osm for some other planet?!). So that file-grabbing is hard-coded in the procedure.
  • Set up a new topo render. The topo render was shut down on OGF, so this will be the only working version. Unfortunately, I ran into a similar problem with some of the topo pre-processing as I ran into with osmcoastline, above. I suspect for the same reason – something in one of the dependencies they both have. So the topo pre-processing (turning the .hgt files into a contour database) is also being run on a separate, Ubuntu 18.04 server (just like the coastlines).
  • Set up appropriate changes and customizations for the front-facing rails port (osm website). This involves importing user data (done) but also user diaries (not done). These require ad hoc SQL coding that give me flashbacks to my job as DBA in the 2000’s. Another unfinished piece – internationalization. The current ogfmirror website looks okay, but only in English. Switch to another language, and it all reverts to OSM boilerplate. Why is internationalization done so badly on production software of this kind? I see no easy solution except manually editing each language’s .yml file in turn (OSM has a 100+ languages). Or building my own damn application to achieve that result.
  • Set up overpass and overpass-turbo. Overpass installs relatively painlessly, but I’m having trouble getting incoming replication to work correctly. overpass-turbo was quite difficult – the current version on github is flat-out broken, and so an older version (commit) must be compiled and installed. Further, the compilation and configuration process overwrites some of the parameters files, so the parameters files have to be modified after running the first steps of configuration, but before the last part. This is the step I am on right now.
  • Set up nominatim? – nice to have, but not urgent. Anyway nominatim doesn’t work on the existing OGF website
  • Implement some of the custom tools that are available on the OGF website: the “scale helper,” the “coastline helper,”…
  • What else? This is a work in progress…

So I’ve been busy. Here is a link to the site. Bear in mind, if you are reading this in the future, the link may not show you what I’m currently writing about, but rather some future iteration of it.

https://ogfmirror.com

I’m still working on some of those last steps. Open to hearing what else needs to be done.

Music to hack to: K-os, “Hallelujah.”