Difference between revisions of "Achievement statistics"

From Geohashing
(update)
(update)
 
Line 3: Line 3:
 
For a thematically sorted list with brief descriptions of the achievements, see '''[[achievements]]''' instead. For detailed descriptions, see the pages for the individual achievements.
 
For a thematically sorted list with brief descriptions of the achievements, see '''[[achievements]]''' instead. For detailed descriptions, see the pages for the individual achievements.
  
Last updated: 2024-03-20
+
Last updated: 2024-04-07
 
==Achievements==
 
==Achievements==
 
{|class="wikitable sortable zebra"
 
{|class="wikitable sortable zebra"
 
!Achievement!!# of Expeditions!!# of Geohashers
 
!Achievement!!# of Expeditions!!# of Geohashers
 
|-
 
|-
|[[Land geohash achievement]]||4668||733
+
|[[Land geohash achievement]]||4687||735
 
|-
 
|-
|[[Bicycle geohash achievement]]||1310||258
+
|[[Bicycle geohash achievement]]||1314||258
 
|-
 
|-
|[[Public transport geohash achievement]]||799||192
+
|[[Public transport geohash achievement]]||807||192
 
|-
 
|-
|[[Graticule unlocked achievement]]||782||297
+
|[[Graticule unlocked achievement]]||794||297
 
|-
 
|-
 
|[[No trespassing consolation prize]]||746||245
 
|[[No trespassing consolation prize]]||746||245
Line 20: Line 20:
 
|[[Consecutive geohash achievement]]||739||152
 
|[[Consecutive geohash achievement]]||739||152
 
|-
 
|-
|[[Minesweeper geohash achievement]]||587||209
+
|[[Minesweeper geohash achievement]]||589||210
 
|-
 
|-
 
|[[Drag-along achievement]]||582||295
 
|[[Drag-along achievement]]||582||295
Line 26: Line 26:
 
|[[Multihash achievement]]||375||94
 
|[[Multihash achievement]]||375||94
 
|-
 
|-
|[[Gratuitous ribbon achievement]]||366||112
+
|[[Gratuitous ribbon achievement]]||367||112
 
|-
 
|-
|[[Walk geohash achievement]]||344||171
+
|[[Walk geohash achievement]]||347||171
 
|-
 
|-
|[[Two to the N achievement]]||319||93
+
|[[Two to the N achievement]]||321||94
 
|-
 
|-
|[[Frozen geohash achievement]]||315||104
+
|[[Frozen geohash achievement]]||316||104
 
|-
 
|-
 
|[[xkcd centurion achievement]]||286||65
 
|[[xkcd centurion achievement]]||286||65
Line 42: Line 42:
 
|[[Speed racer achievement]]||257||165
 
|[[Speed racer achievement]]||257||165
 
|-
 
|-
|[[Tron achievement]]||237||118
+
|[[Tron achievement]]||238||118
 
|-
 
|-
 
|[[No batteries geohash achievement]]||221||136
 
|[[No batteries geohash achievement]]||221||136
 
|-
 
|-
|[[OpenStreetMap achievement]]||213||28
+
|[[OpenStreetMap achievement]]||214||28
 
|-
 
|-
 
|[[Thumbs up geohash achievement]]||210||9
 
|[[Thumbs up geohash achievement]]||210||9
Line 60: Line 60:
 
|[[Hash collision achievement]]||152||58
 
|[[Hash collision achievement]]||152||58
 
|-
 
|-
|[[Border geohash achievement]]||144||63
+
|[[Drowned rat geohash achievement]]||146||54
 
|-
 
|-
|[[Drowned rat geohash achievement]]||144||54
+
|[[Déjà vu geohash achievement]]||145||66
 
|-
 
|-
|[[Déjà vu geohash achievement]]||143||63
+
|[[Border geohash achievement]]||144||63
 
|-
 
|-
 
|[[Geohashing Day achievement]]||139||79
 
|[[Geohashing Day achievement]]||139||79
Line 70: Line 70:
 
|[[Radio Yerevan]]||135||43
 
|[[Radio Yerevan]]||135||43
 
|-
 
|-
|[[Regional geohashing achievement]]||124||34
+
|[[Regional geohashing achievement]]||128||34
 
|-
 
|-
 
|[[xkcd-100 geohash achievement]]||120||37
 
|[[xkcd-100 geohash achievement]]||120||37
Line 80: Line 80:
 
|[[Dark Ages achievement]]||99||13
 
|[[Dark Ages achievement]]||99||13
 
|-
 
|-
|[[Birthday geohash achievement]]||90||49
+
|[[Birthday geohash achievement]]||92||50
 
|-
 
|-
|[[MNB geohash consolation prize]]||86||70
+
|[[Done with Nature consolation prize]]||86||70
 
|-
 
|-
 
|[[Velociraptor geohash achievement]]||79||41
 
|[[Velociraptor geohash achievement]]||79||41
Line 98: Line 98:
 
|[[Blinded by science consolation prize]]||60||40
 
|[[Blinded by science consolation prize]]||60||40
 
|-
 
|-
|[[Reverse regional achievement]]||58||38
+
|[[Reverse regional achievement]]||59||38
 
|-
 
|-
 
|[[Hashiversary achievement]]||57||30
 
|[[Hashiversary achievement]]||57||30
 
|-
 
|-
|[[Prize poultry consolation prize]]||54||32
+
|[[Prize poultry consolation prize]]||55||32
 
|-
 
|-
|[[MNIMB geohash achievement]]||53||45
+
|[[One with Nature geohash achievement]]||54||45
 
|-
 
|-
 
|[[Holy hash achievement]]||52||40
 
|[[Holy hash achievement]]||52||40
Line 122: Line 122:
 
|[[Air geohash achievement]]||40||15
 
|[[Air geohash achievement]]||40||15
 
|-
 
|-
|[[Pub geohash achievement]]||36||43
+
|[[Pub geohash achievement]]||37||43
 
|-
 
|-
 
|[[Globetrotters geohash achievement]]||35||36
 
|[[Globetrotters geohash achievement]]||35||36
Line 131: Line 131:
 
|-
 
|-
 
|[[Coffin potato achievement]]||35||17
 
|[[Coffin potato achievement]]||35||17
 +
|-
 +
|[[Train wreck consolation prize]]||32||26
 
|-
 
|-
 
|[[Combo achievement]]||32||13
 
|[[Combo achievement]]||32||13
 
|-
 
|-
 
|[[Leap geohash achievement]]||31||26
 
|[[Leap geohash achievement]]||31||26
|-
 
|[[Train wreck consolation prize]]||31||25
 
 
|-
 
|-
 
|[[Hashcat achievement]]||29||23
 
|[[Hashcat achievement]]||29||23
Line 197: Line 197:
 
|-
 
|-
 
|[[Buccaneer geohash achievement]]||7||16
 
|[[Buccaneer geohash achievement]]||7||16
 +
|-
 +
|[[Handshake achievement]]||6||9
 
|-
 
|-
 
|[[Underwater geohash achievement]]||6||7
 
|[[Underwater geohash achievement]]||6||7
|-
 
|[[Handshake achievement]]||5||9
 
 
|-
 
|-
 
|[[North geohash achievement]]||5||7
 
|[[North geohash achievement]]||5||7
Line 249: Line 249:
 
|-
 
|-
 
|[[Beast of burden geohash achievement]]||1||1
 
|[[Beast of burden geohash achievement]]||1||1
 +
|-
 +
|[[White Rabbit consolation prize]]||0||0
 +
|-
 +
|[[Multiple elevations achievement]]||0||0
 
|-
 
|-
 
|[[MacGyver geohash achievement]]||0||0
 
|[[MacGyver geohash achievement]]||0||0
 +
|-
 +
|[[Birds of a Feather achievement]]||0||0
 
|-
 
|-
 
|[[Bill Gates achievement]]||0||0
 
|[[Bill Gates achievement]]||0||0
Line 264: Line 270:
 
dir="/tmp/gh-achievementstats"
 
dir="/tmp/gh-achievementstats"
 
categoryAPI="https://geohashing.site/api.php?format=json&action=query&list=categorymembers&cmprop=title&cmlimit=5000&cmtitle=Category"
 
categoryAPI="https://geohashing.site/api.php?format=json&action=query&list=categorymembers&cmprop=title&cmlimit=5000&cmtitle=Category"
regularAchievements=("Abduction_achievement" "Admit_one_achievement" "Air_geohash_achievement" "Ambassador_achievement" "A_Tale_of_Two_Hashes_achievement" "Beast_of_burden_geohash_achievement" "Bicycle_geohash_achievement" "Bill_Gates_achievement" "Birthday_geohash_achievement" "Blinded_by_science_consolation_prize" "Border_geohash_achievement" "Buccaneer_geohash_achievement" "Calendar_girl_achievement" "Camping_geohash_achievement" "Circus_geohash_achievement" "Cliffs_of_despair_consolation_prize" "Coffin_potato_achievement" "Cold_geohash_achievement" "Combo_achievement" "Consecutive_geohash_achievement" "Couch_potato_geohash_achievement" "Cross_that_bridge_achievement" "Cubicle_geohash_achievement" "Curse_of_Unawareness_consolation_prize" "Dark_Ages_achievement" "Déjà_vu_geohash_achievement" "Drag-along_achievement" "Drowned_rat_geohash_achievement" "Earliest_geohash_achievement" "East_geohash_achievement" "Easy_geohash" "Endurance_geohashing_achievement" "Fly_a_kite_achievement" "Formal_attire_achievement" "Frozen_geohash_achievement" "Geobrush_achievement" "Geoflashing_achievement" "Geohash_by_proxy_achievement" "Geohashing_Day_achievement" "Geohashing_in_the_media" "Geosquishy_achievement" "Geotrash_achievement" "Globalhash_achievement" "Globetrotters_geohash_achievement" "Going_deep_geohash_achievement" "Golf_geohash_achievement" "Graticule_hopper_achievement" "Graticule_unlocked_achievement" "Gratuitous_ribbon_achievement" "Handshake_achievement" "Hashcard_achievement" "Hashcat_achievement" "Hash_collision_achievement" "Hashiversary_achievement" "High_geohash_achievement" "Hobbit_achievement" "Holy_hash_achievement" "Hot_geohash_achievement" "It's_a_kitty_consolation_prize" "Juggernaut_achievement" "Land_geohash_achievement" "Largest_geohash_achievement" "Last_man_standing_achievement" "Leap_geohash_achievement" "Low_geohash_achievement" "MacGyver_geohash_achievement" "Maker_achievement" "Meet-up_achievement" "Midnight_geohash_achievement" "Migration_geohash_achievement" "Minesweeper_geohash_achievement" "MNB_geohash_consolation_prize" "MNIMB_geohash_achievement" "Most_active_graticules_achievement" "Multihash_achievement" "Musical_achievement" "My_kingdom_for_a_boat_consolation_prize" "No_batteries_geohash_achievement" "North_geohash_achievement" "No_trespassing_consolation_prize" "Oldest_geohasher_achievement" "OpenStreetMap_achievement" "Phonebooth_stuffing_achievement" "Picnic_achievement" "Pie_geohash_achievement" "Police_geohash_achievement" "Posted_achievement" "Prize_poultry_consolation_prize" "Pub_geohash_achievement" "Public_transport_geohash_achievement" "Puppet_master_geohash_achievement" "Radio_Yerevan" "Regional_geohashing_achievement" "Restricted_area_achievement" "Reverse_regional_achievement" "Sex_geohash_achievement" "Snowman_geohash_achievement" "South_geohash_achievement" "Speed_racer_achievement" "Star_photographer_achievement" "Subdivision_geohash_achievement" "Sunrise_geohash_achievement" 'There_might_be_alligators!_consolation_prize' "Thumbs_up_geohash_achievement" "Time-traveller_achievement" "Towel_Day_achievement" "Trail_of_blood_consolation_prize" "Train_wreck_consolation_prize" "Tron_achievement" "Twister_geohash_achievement" "Two_to_the_N_achievement" "Underwater_geohash_achievement" "Velociraptor_geohash_achievement" "Walk_geohash_achievement" "Walking_on_water_geohash_achievement" "Water_geohash_achievement" "West_geohash_achievement" "xkcd-100_geohash_achievement" "xkcd_centurion_achievement" "Youngest_geohasher_achievement")
+
regularAchievements=("Abduction_achievement" "Admit_one_achievement" "Air_geohash_achievement" "Ambassador_achievement" "A_Tale_of_Two_Hashes_achievement" "Beast_of_burden_geohash_achievement" "Bicycle_geohash_achievement" "Birds_of_a_Feather_achievement" "Bill_Gates_achievement" "Birthday_geohash_achievement" "Blinded_by_science_consolation_prize" "Border_geohash_achievement" "Buccaneer_geohash_achievement" "Calendar_girl_achievement" "Camping_geohash_achievement" "Circus_geohash_achievement" "Cliffs_of_despair_consolation_prize" "Coffin_potato_achievement" "Cold_geohash_achievement" "Combo_achievement" "Consecutive_geohash_achievement" "Couch_potato_geohash_achievement" "Cross_that_bridge_achievement" "Cubicle_geohash_achievement" "Curse_of_Unawareness_consolation_prize" "Dark_Ages_achievement" "Déjà_vu_geohash_achievement" "Done_with_Nature_consolation_prize" "Drag-along_achievement" "Drowned_rat_geohash_achievement" "Earliest_geohash_achievement" "East_geohash_achievement" "Easy_geohash" "Endurance_geohashing_achievement" "Fly_a_kite_achievement" "Formal_attire_achievement" "Frozen_geohash_achievement" "Geobrush_achievement" "Geoflashing_achievement" "Geohash_by_proxy_achievement" "Geohashing_Day_achievement" "Geohashing_in_the_media" "Geosquishy_achievement" "Geotrash_achievement" "Globalhash_achievement" "Globetrotters_geohash_achievement" "Going_deep_geohash_achievement" "Golf_geohash_achievement" "Graticule_hopper_achievement" "Graticule_unlocked_achievement" "Gratuitous_ribbon_achievement" "Handshake_achievement" "Hashcard_achievement" "Hashcat_achievement" "Hash_collision_achievement" "Hashiversary_achievement" "High_geohash_achievement" "Hobbit_achievement" "Holy_hash_achievement" "Hot_geohash_achievement" "It's_a_kitty_consolation_prize" "Juggernaut_achievement" "Land_geohash_achievement" "Largest_geohash_achievement" "Last_man_standing_achievement" "Leap_geohash_achievement" "Low_geohash_achievement" "MacGyver_geohash_achievement" "Maker_achievement" "Meet-up_achievement" "Midnight_geohash_achievement" "Migration_geohash_achievement" "Minesweeper_geohash_achievement" "Most_active_graticules_achievement" "Multihash_achievement" "Multiple_elevations_achievement" "Musical_achievement" "My_kingdom_for_a_boat_consolation_prize" "No_batteries_geohash_achievement" "North_geohash_achievement" "No_trespassing_consolation_prize" "Oldest_geohasher_achievement" "One_with_Nature_geohash_achievement" "OpenStreetMap_achievement" "Phonebooth_stuffing_achievement" "Picnic_achievement" "Pie_geohash_achievement" "Police_geohash_achievement" "Posted_achievement" "Prize_poultry_consolation_prize" "Pub_geohash_achievement" "Public_transport_geohash_achievement" "Puppet_master_geohash_achievement" "Radio_Yerevan" "Regional_geohashing_achievement" "Restricted_area_achievement" "Reverse_regional_achievement" "Sex_geohash_achievement" "Snowman_geohash_achievement" "South_geohash_achievement" "Speed_racer_achievement" "Star_photographer_achievement" "Subdivision_geohash_achievement" "Sunrise_geohash_achievement" 'There_might_be_alligators!_consolation_prize' "Thumbs_up_geohash_achievement" "Time-traveller_achievement" "Towel_Day_achievement" "Trail_of_blood_consolation_prize" "Train_wreck_consolation_prize" "Tron_achievement" "Twister_geohash_achievement" "Two_to_the_N_achievement" "Underwater_geohash_achievement" "Velociraptor_geohash_achievement" "Walk_geohash_achievement" "Walking_on_water_geohash_achievement" "Water_geohash_achievement" "West_geohash_achievement" "White_Rabbit_consolation_prize" "xkcd-100_geohash_achievement" "xkcd_centurion_achievement" "Youngest_geohasher_achievement")
 
retroAchievements=("Displaced_origin_geohash_achievement" "Origin_geohash_achievement" "Wedding_anniversary_geohash_achievement")
 
retroAchievements=("Displaced_origin_geohash_achievement" "Origin_geohash_achievement" "Wedding_anniversary_geohash_achievement")
  
Line 309: Line 315:
 
     echo "$1" | sort -nr | awk '{ if($1>=1000) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
     echo "$1" | sort -nr | awk '{ if($1>=1000) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
      
 
      
     echo -en "\n|-\n|500—1000||"
+
     echo -en "\n|-\n|500—1000||"
 
     echo "$1" | sort -nr | awk '{ if($1<1000 && $1>=500) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
     echo "$1" | sort -nr | awk '{ if($1<1000 && $1>=500) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
      
 
      
     echo -en "\n|-\n|100&mdash;500||"
+
     echo -en "\n|-\n|100—500||"
 
     echo "$1" | sort -nr | awk '{ if($1<500 && $1>=100) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
     echo "$1" | sort -nr | awk '{ if($1<500 && $1>=100) print " [[" $3 "|" $3 "]]" }' | toShortNames
  
     echo -en "\n|-\n|50&mdash;100||"
+
     echo -en "\n|-\n|50—100||"
 
     echo "$1" | sort -nr | awk '{ if($1<100 && $1>=50) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
     echo "$1" | sort -nr | awk '{ if($1<100 && $1>=50) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
      
 
      
     echo -en "\n|-\n|10&mdash;50||"
+
     echo -en "\n|-\n|10—50||"
 
     echo "$1" | sort -nr | awk '{ if($1<50 && $1>=10) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
     echo "$1" | sort -nr | awk '{ if($1<50 && $1>=10) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
      
 
      
     echo -en "\n|-\n|1&mdash;10||"
+
     echo -en "\n|-\n|1—10||"
 
     echo "$1" | sort -nr | awk '{ if($1<10 && $1>=1) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
     echo "$1" | sort -nr | awk '{ if($1<10 && $1>=1) print " [[" $3 "|" $3 "]]" }' | toShortNames
 
      
 
      
Line 360: Line 366:
 
|1000+|| [[Land geohash achievement|Land]], [[Bicycle geohash achievement|Bicycle]]
 
|1000+|| [[Land geohash achievement|Land]], [[Bicycle geohash achievement|Bicycle]]
 
|-
 
|-
|500&mdash;1000|| [[Public transport geohash achievement|Public transport]], [[Graticule unlocked achievement|Graticule unlocked]], [[No trespassing consolation prize|No trespassing]], [[Consecutive geohash achievement|Consecutive]], [[Minesweeper geohash achievement|Minesweeper]], [[Drag-along achievement|Drag-along]]
+
|500—1000|| [[Public transport geohash achievement|Public transport]], [[Graticule unlocked achievement|Graticule unlocked]], [[No trespassing consolation prize|No trespassing]], [[Consecutive geohash achievement|Consecutive]], [[Minesweeper geohash achievement|Minesweeper]], [[Drag-along achievement|Drag-along]]
 
|-
 
|-
|100&mdash;500|| [[Multihash achievement|Multihash]], [[Gratuitous ribbon achievement|Gratuitous ribbon]], [[Walk geohash achievement|Walk]], [[Two to the N achievement|Two to the N]], [[Frozen geohash achievement|Frozen]], [[xkcd centurion achievement|xkcd centurion]], [[Midnight geohash achievement|Midnight]], [[Last man standing achievement|Last man standing]], [[Speed racer achievement|Speed racer]], [[Tron achievement|Tron]], [[No batteries geohash achievement|No batteries]], [[OpenStreetMap achievement|OpenStreetMap]], [[Thumbs up geohash achievement|Thumbs up]], [[Ambassador achievement|Ambassador]], [[Meet-up achievement|Meet-up]], [[Easy geohash|Easy geohash]], [[Geotrash achievement|Geotrash]], [[Hash collision achievement|Hash collision]], [[Border geohash achievement|Border]], [[Drowned rat geohash achievement|Drowned rat]], [[Déjà vu geohash achievement|Déjà vu]], [[Geohashing Day achievement|Geohashing Day]], [[Radio Yerevan|Radio Yerevan]], [[Regional geohashing achievement|Regional geohashing]], [[xkcd-100 geohash achievement|xkcd-100]], [[Picnic achievement|Picnic]], [[Earliest geohash achievement|Earliest]]
+
|100—500|| [[Multihash achievement|Multihash]], [[Gratuitous ribbon achievement|Gratuitous ribbon]], [[Walk geohash achievement|Walk]], [[Two to the N achievement|Two to the N]], [[Frozen geohash achievement|Frozen]], [[xkcd centurion achievement|xkcd centurion]], [[Midnight geohash achievement|Midnight]], [[Last man standing achievement|Last man standing]], [[Speed racer achievement|Speed racer]], [[Tron achievement|Tron]], [[No batteries geohash achievement|No batteries]], [[OpenStreetMap achievement|OpenStreetMap]], [[Thumbs up geohash achievement|Thumbs up]], [[Ambassador achievement|Ambassador]], [[Meet-up achievement|Meet-up]], [[Easy geohash|Easy geohash]], [[Geotrash achievement|Geotrash]], [[Hash collision achievement|Hash collision]], [[Drowned rat geohash achievement|Drowned rat]], [[Déjà vu geohash achievement|Déjà vu]], [[Border geohash achievement|Border]], [[Geohashing Day achievement|Geohashing Day]], [[Radio Yerevan|Radio Yerevan]], [[Regional geohashing achievement|Regional geohashing]], [[xkcd-100 geohash achievement|xkcd-100]], [[Picnic achievement|Picnic]], [[Earliest geohash achievement|Earliest]]
 
|-
 
|-
|50&mdash;100|| [[Dark Ages achievement|Dark Ages]], [[Birthday geohash achievement|Birthday]], [[MNB geohash consolation prize|MNB geohash]], [[Velociraptor geohash achievement|Velociraptor]], [[Circus geohash achievement|Circus]], [[Water geohash achievement|Water]], [[Police geohash achievement|Police]], [[Puppet master geohash achievement|Puppet master]], [[A Tale of Two Hashes achievement|A Tale of Two Hashes]], [[Blinded by science consolation prize|Blinded by science]], [[Reverse regional achievement|Reverse regional]], [[Hashiversary achievement|Hashiversary]], [[Prize poultry consolation prize|Prize poultry]], [[MNIMB geohash achievement|MNIMB]], [[Holy hash achievement|Holy hash]], [[Formal attire achievement|Formal attire]]
+
|50—100|| [[Dark Ages achievement|Dark Ages]], [[Birthday geohash achievement|Birthday]], [[Done with Nature consolation prize|Done with Nature]], [[Velociraptor geohash achievement|Velociraptor]], [[Circus geohash achievement|Circus]], [[Water geohash achievement|Water]], [[Police geohash achievement|Police]], [[Puppet master geohash achievement|Puppet master]], [[A Tale of Two Hashes achievement|A Tale of Two Hashes]], [[Blinded by science consolation prize|Blinded by science]], [[Reverse regional achievement|Reverse regional]], [[Hashiversary achievement|Hashiversary]], [[Prize poultry consolation prize|Prize poultry]], [[One with Nature geohash achievement|One with Nature]], [[Holy hash achievement|Holy hash]], [[Formal attire achievement|Formal attire]]
 
|-
 
|-
|10&mdash;50|| [[Snowman geohash achievement|Snowman]], [[Sunrise geohash achievement|Sunrise]], [[Hashcard achievement|Hashcard]], [[Geosquishy achievement|Geosquishy]], [[Admit one achievement|Admit one]], [[Air geohash achievement|Air]], [[Pub geohash achievement|Pub]], [[Globetrotters geohash achievement|Globetrotters]], [[My kingdom for a boat consolation prize|My kingdom for a boat]], [[Juggernaut achievement|Juggernaut]], [[Coffin potato achievement|Coffin potato]], [[Combo achievement|Combo]], [[Leap geohash achievement|Leap]], [[Train wreck consolation prize|Train wreck]], [[Hashcat achievement|Hashcat]], [[Subdivision geohash achievement|Subdivision]], [[Cliffs of despair consolation prize|Cliffs of despair]], [[Hobbit achievement|Hobbit]], [[There might be alligators! consolation prize|There might be alligators!]], [[Globalhash achievement|Globalhash]], [[Geoflashing achievement|Geoflashing]], [[Walking on water geohash achievement|Walking on water]], [[Towel Day achievement|Towel Day]], [[Origin geohash achievement|Origin]], [[Restricted area achievement|Restricted area]], [[Golf geohash achievement|Golf]], [[Youngest geohasher achievement|Youngest geohasher]], [[It's a kitty consolation prize|It's a kitty]], [[Camping geohash achievement|Camping]], [[Displaced origin geohash achievement|Displaced origin]], [[Fly a kite achievement|Fly a kite]], [[Pie geohash achievement|Pie]], [[Twister geohash achievement|Twister]], [[Musical achievement|Musical]]
+
|10—50|| [[Snowman geohash achievement|Snowman]], [[Sunrise geohash achievement|Sunrise]], [[Hashcard achievement|Hashcard]], [[Geosquishy achievement|Geosquishy]], [[Admit one achievement|Admit one]], [[Air geohash achievement|Air]], [[Pub geohash achievement|Pub]], [[Globetrotters geohash achievement|Globetrotters]], [[My kingdom for a boat consolation prize|My kingdom for a boat]], [[Juggernaut achievement|Juggernaut]], [[Coffin potato achievement|Coffin potato]], [[Train wreck consolation prize|Train wreck]], [[Combo achievement|Combo]], [[Leap geohash achievement|Leap]], [[Hashcat achievement|Hashcat]], [[Subdivision geohash achievement|Subdivision]], [[Cliffs of despair consolation prize|Cliffs of despair]], [[Hobbit achievement|Hobbit]], [[There might be alligators! consolation prize|There might be alligators!]], [[Globalhash achievement|Globalhash]], [[Geoflashing achievement|Geoflashing]], [[Walking on water geohash achievement|Walking on water]], [[Towel Day achievement|Towel Day]], [[Origin geohash achievement|Origin]], [[Restricted area achievement|Restricted area]], [[Golf geohash achievement|Golf]], [[Youngest geohasher achievement|Youngest geohasher]], [[It's a kitty consolation prize|It's a kitty]], [[Camping geohash achievement|Camping]], [[Displaced origin geohash achievement|Displaced origin]], [[Fly a kite achievement|Fly a kite]], [[Pie geohash achievement|Pie]], [[Twister geohash achievement|Twister]], [[Musical achievement|Musical]]
 
|-
 
|-
|1&mdash;10|| [[Phonebooth stuffing achievement|Phonebooth stuffing]], [[Largest geohash achievement|Largest]], [[Cold geohash achievement|Cold]], [[Geohash by proxy achievement|Geohash by proxy]], [[Going deep geohash achievement|Going deep]], [[Geohashing in the media|Geohashing in the media]], [[Oldest geohasher achievement|Oldest geohasher]], [[Trail of blood consolation prize|Trail of blood]], [[Cross that bridge achievement|Cross that bridge]], [[Buccaneer geohash achievement|Buccaneer]], [[Underwater geohash achievement|Underwater]], [[Handshake achievement|Handshake]], [[North geohash achievement|North]], [[Wedding anniversary geohash achievement|Wedding anniversary]], [[High geohash achievement|High]], [[Low geohash achievement|Low]], [[Calendar girl achievement|Calendar girl]], [[Abduction achievement|Abduction]], [[Sex geohash achievement|Sex]], [[Migration geohash achievement|Migration]], [[Time-traveller achievement|Time-traveller]], [[West geohash achievement|West]], [[Cubicle geohash achievement|Cubicle]], [[Geobrush achievement|Geobrush]], [[Most active graticules achievement|Most active graticules]], [[Hot geohash achievement|Hot]], [[East geohash achievement|East]], [[Graticule hopper achievement|Graticule hopper]], [[South geohash achievement|South]], [[Posted achievement|Posted]], [[Endurance geohashing achievement|Endurance geohashing]], [[Curse of Unawareness consolation prize|Curse of Unawareness]], [[Star photographer achievement|Star photographer]], [[Maker achievement|Maker]], [[Couch potato geohash achievement|Couch potato]], [[Beast of burden geohash achievement|Beast of burden]]
+
|1—10|| [[Phonebooth stuffing achievement|Phonebooth stuffing]], [[Largest geohash achievement|Largest]], [[Cold geohash achievement|Cold]], [[Geohash by proxy achievement|Geohash by proxy]], [[Going deep geohash achievement|Going deep]], [[Geohashing in the media|Geohashing in the media]], [[Oldest geohasher achievement|Oldest geohasher]], [[Trail of blood consolation prize|Trail of blood]], [[Cross that bridge achievement|Cross that bridge]], [[Buccaneer geohash achievement|Buccaneer]], [[Handshake achievement|Handshake]], [[Underwater geohash achievement|Underwater]], [[North geohash achievement|North]], [[Wedding anniversary geohash achievement|Wedding anniversary]], [[High geohash achievement|High]], [[Low geohash achievement|Low]], [[Calendar girl achievement|Calendar girl]], [[Abduction achievement|Abduction]], [[Sex geohash achievement|Sex]], [[Migration geohash achievement|Migration]], [[Time-traveller achievement|Time-traveller]], [[West geohash achievement|West]], [[Cubicle geohash achievement|Cubicle]], [[Geobrush achievement|Geobrush]], [[Most active graticules achievement|Most active graticules]], [[Hot geohash achievement|Hot]], [[East geohash achievement|East]], [[Graticule hopper achievement|Graticule hopper]], [[South geohash achievement|South]], [[Posted achievement|Posted]], [[Endurance geohashing achievement|Endurance geohashing]], [[Curse of Unawareness consolation prize|Curse of Unawareness]], [[Star photographer achievement|Star photographer]], [[Maker achievement|Maker]], [[Couch potato geohash achievement|Couch potato]], [[Beast of burden geohash achievement|Beast of burden]]
 
|-
 
|-
|Unclaimed|| [[MacGyver geohash achievement|MacGyver]], [[Bill Gates achievement|Bill Gates]]
+
|Unclaimed|| [[White Rabbit consolation prize|White Rabbit]], [[Multiple elevations achievement|Multiple elevations]], [[MacGyver geohash achievement|MacGyver]], [[Birds of a Feather achievement|Birds of a Feather]], [[Bill Gates achievement|Bill Gates]]
 
|}</includeonly>
 
|}</includeonly>

Latest revision as of 19:45, 7 April 2024

This page ranks achievements by how common they are, it shows how many geohashers have claimed them and on how many expeditions the achievement was claimed. For some achievements, like the xkcd centurion achievement, this number will not only include geohashers that have the full achievement, but also those who are on their way there.

For a thematically sorted list with brief descriptions of the achievements, see achievements instead. For detailed descriptions, see the pages for the individual achievements.

Last updated: 2024-04-07

Achievements

Achievement # of Expeditions # of Geohashers
Land geohash achievement 4687 735
Bicycle geohash achievement 1314 258
Public transport geohash achievement 807 192
Graticule unlocked achievement 794 297
No trespassing consolation prize 746 245
Consecutive geohash achievement 739 152
Minesweeper geohash achievement 589 210
Drag-along achievement 582 295
Multihash achievement 375 94
Gratuitous ribbon achievement 367 112
Walk geohash achievement 347 171
Two to the N achievement 321 94
Frozen geohash achievement 316 104
xkcd centurion achievement 286 65
Midnight geohash achievement 283 92
Last man standing achievement 271 76
Speed racer achievement 257 165
Tron achievement 238 118
No batteries geohash achievement 221 136
OpenStreetMap achievement 214 28
Thumbs up geohash achievement 210 9
Ambassador achievement 173 86
Meet-up achievement 163 132
Easy geohash 162 61
Geotrash achievement 160 100
Hash collision achievement 152 58
Drowned rat geohash achievement 146 54
Déjà vu geohash achievement 145 66
Border geohash achievement 144 63
Geohashing Day achievement 139 79
Radio Yerevan 135 43
Regional geohashing achievement 128 34
xkcd-100 geohash achievement 120 37
Picnic achievement 111 102
Earliest geohash achievement 100 66
Dark Ages achievement 99 13
Birthday geohash achievement 92 50
Done with Nature consolation prize 86 70
Velociraptor geohash achievement 79 41
Circus geohash achievement 73 54
Water geohash achievement 66 60
Police geohash achievement 66 47
Puppet master geohash achievement 62 43
A Tale of Two Hashes achievement 61 41
Blinded by science consolation prize 60 40
Reverse regional achievement 59 38
Hashiversary achievement 57 30
Prize poultry consolation prize 55 32
One with Nature geohash achievement 54 45
Holy hash achievement 52 40
Formal attire achievement 50 46
Snowman geohash achievement 49 45
Sunrise geohash achievement 47 30
Hashcard achievement 46 31
Geosquishy achievement 45 38
Admit one achievement 43 31
Air geohash achievement 40 15
Pub geohash achievement 37 43
Globetrotters geohash achievement 35 36
My kingdom for a boat consolation prize 35 29
Juggernaut achievement 35 17
Coffin potato achievement 35 17
Train wreck consolation prize 32 26
Combo achievement 32 13
Leap geohash achievement 31 26
Hashcat achievement 29 23
Subdivision geohash achievement 26 7
Cliffs of despair consolation prize 25 17
Hobbit achievement 23 17
There might be alligators! consolation prize 22 21
Globalhash achievement 21 23
Geoflashing achievement 20 16
Walking on water geohash achievement 20 13
Towel Day achievement 20 10
Origin geohash achievement 19 17
Restricted area achievement 16 14
Golf geohash achievement 16 11
Youngest geohasher achievement 15 7
It's a kitty consolation prize 15 12
Camping geohash achievement 15 11
Displaced origin geohash achievement 14 7
Fly a kite achievement 14 5
Pie geohash achievement 13 15
Twister geohash achievement 12 26
Musical achievement 10 7
Phonebooth stuffing achievement 9 25
Largest geohash achievement 9 1
Cold geohash achievement 9 14
Geohash by proxy achievement 8 6
Going deep geohash achievement 7 7
Geohashing in the media 7 7
Oldest geohasher achievement 7 6
Trail of blood consolation prize 7 4
Cross that bridge achievement 7 4
Buccaneer geohash achievement 7 16
Handshake achievement 6 9
Underwater geohash achievement 6 7
North geohash achievement 5 7
Wedding anniversary geohash achievement 5 6
High geohash achievement 5 4
Low geohash achievement 5 3
Calendar girl achievement 5 10
Abduction achievement 5 10
Sex geohash achievement 4 7
Migration geohash achievement 4 10
Time-traveller achievement 3 4
West geohash achievement 3 2
Cubicle geohash achievement 3 2
Geobrush achievement 3 1
Most active graticules achievement 2 6
Hot geohash achievement 2 4
East geohash achievement 2 3
Graticule hopper achievement 2 2
South geohash achievement 2 1
Posted achievement 2 1
Endurance geohashing achievement 2 1
Curse of Unawareness consolation prize 2 16
Star photographer achievement 1 2
Maker achievement 1 1
Couch potato geohash achievement 1 1
Beast of burden geohash achievement 1 1
White Rabbit consolation prize 0 0
Multiple elevations achievement 0 0
MacGyver geohash achievement 0 0
Birds of a Feather achievement 0 0
Bill Gates achievement 0 0

Source code

The following program generates this page:

#!/bin/bash

# Copyright 2023 Fippe
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

dir="/tmp/gh-achievementstats"
categoryAPI="https://geohashing.site/api.php?format=json&action=query&list=categorymembers&cmprop=title&cmlimit=5000&cmtitle=Category"
regularAchievements=("Abduction_achievement" "Admit_one_achievement" "Air_geohash_achievement" "Ambassador_achievement" "A_Tale_of_Two_Hashes_achievement" "Beast_of_burden_geohash_achievement" "Bicycle_geohash_achievement" "Birds_of_a_Feather_achievement" "Bill_Gates_achievement" "Birthday_geohash_achievement" "Blinded_by_science_consolation_prize" "Border_geohash_achievement" "Buccaneer_geohash_achievement" "Calendar_girl_achievement" "Camping_geohash_achievement" "Circus_geohash_achievement" "Cliffs_of_despair_consolation_prize" "Coffin_potato_achievement" "Cold_geohash_achievement" "Combo_achievement" "Consecutive_geohash_achievement" "Couch_potato_geohash_achievement" "Cross_that_bridge_achievement" "Cubicle_geohash_achievement" "Curse_of_Unawareness_consolation_prize" "Dark_Ages_achievement" "Déjà_vu_geohash_achievement" "Done_with_Nature_consolation_prize" "Drag-along_achievement" "Drowned_rat_geohash_achievement" "Earliest_geohash_achievement" "East_geohash_achievement" "Easy_geohash" "Endurance_geohashing_achievement" "Fly_a_kite_achievement" "Formal_attire_achievement" "Frozen_geohash_achievement" "Geobrush_achievement" "Geoflashing_achievement" "Geohash_by_proxy_achievement" "Geohashing_Day_achievement" "Geohashing_in_the_media" "Geosquishy_achievement" "Geotrash_achievement" "Globalhash_achievement" "Globetrotters_geohash_achievement" "Going_deep_geohash_achievement" "Golf_geohash_achievement" "Graticule_hopper_achievement" "Graticule_unlocked_achievement" "Gratuitous_ribbon_achievement" "Handshake_achievement" "Hashcard_achievement" "Hashcat_achievement" "Hash_collision_achievement" "Hashiversary_achievement" "High_geohash_achievement" "Hobbit_achievement" "Holy_hash_achievement" "Hot_geohash_achievement" "It's_a_kitty_consolation_prize" "Juggernaut_achievement" "Land_geohash_achievement" "Largest_geohash_achievement" "Last_man_standing_achievement" "Leap_geohash_achievement" "Low_geohash_achievement" "MacGyver_geohash_achievement" "Maker_achievement" "Meet-up_achievement" "Midnight_geohash_achievement" "Migration_geohash_achievement" "Minesweeper_geohash_achievement" "Most_active_graticules_achievement" "Multihash_achievement" "Multiple_elevations_achievement" "Musical_achievement" "My_kingdom_for_a_boat_consolation_prize" "No_batteries_geohash_achievement" "North_geohash_achievement" "No_trespassing_consolation_prize" "Oldest_geohasher_achievement" "One_with_Nature_geohash_achievement" "OpenStreetMap_achievement" "Phonebooth_stuffing_achievement" "Picnic_achievement" "Pie_geohash_achievement" "Police_geohash_achievement" "Posted_achievement" "Prize_poultry_consolation_prize" "Pub_geohash_achievement" "Public_transport_geohash_achievement" "Puppet_master_geohash_achievement" "Radio_Yerevan" "Regional_geohashing_achievement" "Restricted_area_achievement" "Reverse_regional_achievement" "Sex_geohash_achievement" "Snowman_geohash_achievement" "South_geohash_achievement" "Speed_racer_achievement" "Star_photographer_achievement" "Subdivision_geohash_achievement" "Sunrise_geohash_achievement" 'There_might_be_alligators!_consolation_prize' "Thumbs_up_geohash_achievement" "Time-traveller_achievement" "Towel_Day_achievement" "Trail_of_blood_consolation_prize" "Train_wreck_consolation_prize" "Tron_achievement" "Twister_geohash_achievement" "Two_to_the_N_achievement" "Underwater_geohash_achievement" "Velociraptor_geohash_achievement" "Walk_geohash_achievement" "Walking_on_water_geohash_achievement" "Water_geohash_achievement" "West_geohash_achievement" "White_Rabbit_consolation_prize" "xkcd-100_geohash_achievement" "xkcd_centurion_achievement" "Youngest_geohasher_achievement")
retroAchievements=("Displaced_origin_geohash_achievement" "Origin_geohash_achievement" "Wedding_anniversary_geohash_achievement")

mkdir -p "$dir"
regex="^[0-9]{4}-[0-9]{2}-[0-9]{2} -?[0-9]{1,3} -?[0-9]{1,3}$|^[0-9]{4}-[0-9]{2}-[0-9]{2} global$|^User:"

function fetchData {
    for category in ${regularAchievements[@]} ${retroAchievements[@]} "Expeditions" "Retro_meetup"
        do echo -n > "$dir/$category"
        cmcontinue="0"
        while [ "$cmcontinue" != "null" ]
            do curl -so "$dir/tmp" "$categoryAPI:$category&cmcontinue=$cmcontinue"
            cmcontinue=$(cat "$dir/tmp" | jq -r ".continue.cmcontinue")
            cat "$dir/tmp" | jq -r ".query.categorymembers[].title" | grep -E "$regex" >> "$dir/$category"
        done
        rm "$dir/tmp"
    done
}

function extractData {
    for category in ${regularAchievements[@]}
        do numExpeditions=$(grep -cf "$dir/$category" "$dir/Expeditions" | tr "\n" "\t")
        test -z "$numExpeditions" && echo -en "0\t" || echo -n "$numExpeditions"
        grep "^User:" "$dir/$category" | cut -d "/" -f 1 | sort -u | wc -l | tr "\n" "\t"
        echo "$category"
    done

    for category in ${retroAchievements[@]}
        do numExpeditions=$(grep -cf "$dir/$category" "$dir/Retro_meetup" | tr "\n" "\t")
        test -z "$numExpeditions" && echo -en "0\t" || echo -n "$numExpeditions"
        grep "^User:" "$dir/$category" | cut -d "/" -f 1 | sort -u | wc -l | tr "\n" "\t"
        echo "$category"
    done
}

function toShortNames {
    tr "\n_" ", " | sed -e "s/ geohash achievement]/]/g" -e "s/ achievement]/]/g" -e "s/ consolation prize]/]/g" | head -c -1
}

function formatBriefTable {
    echo -en '<includeonly>{|class="wikitable"\n!Times claimed!!Achievements'
    
    echo -en "\n|-\n|1000+||"
    echo "$1" | sort -nr | awk '{ if($1>=1000) print " [[" $3 "|" $3 "]]" }' | toShortNames
    
    echo -en "\n|-\n|500—1000||"
    echo "$1" | sort -nr | awk '{ if($1<1000 && $1>=500) print " [[" $3 "|" $3 "]]" }' | toShortNames
    
    echo -en "\n|-\n|100—500||"
    echo "$1" | sort -nr | awk '{ if($1<500 && $1>=100) print " [[" $3 "|" $3 "]]" }' | toShortNames

    echo -en "\n|-\n|50—100||"
    echo "$1" | sort -nr | awk '{ if($1<100 && $1>=50) print " [[" $3 "|" $3 "]]" }' | toShortNames
    
    echo -en "\n|-\n|10—50||"
    echo "$1" | sort -nr | awk '{ if($1<50 && $1>=10) print " [[" $3 "|" $3 "]]" }' | toShortNames
    
    echo -en "\n|-\n|1—10||"
    echo "$1" | sort -nr | awk '{ if($1<10 && $1>=1) print " [[" $3 "|" $3 "]]" }' | toShortNames
    
    echo -en "\n|-\n|Unclaimed||"
    echo "$1" | sort -nr | awk '{ if($1==0) print " [[" $3 "|" $3 "]]" }' | toShortNames
       
    echo -e "\n|}</includeonly>"
}

function formatFullTable {
    echo "==Achievements=="

    echo '{|class="wikitable sortable zebra"'
    echo '!Achievement!!# of Expeditions!!# of Geohashers'

    echo "$1" | sort -gr | while read -r numExpeditions numUsers achievement
        do echo "|-"
        echo "|[[$achievement]]||$numExpeditions||$numUsers" | tr "_" " "
    done
    
    echo "|}"
}

echo -e "<noinclude>This page ranks achievements by how common they are, it shows how many geohashers have claimed them and on how many [[expedition]]s the achievement was claimed. For some achievements, like the [[xkcd centurion achievement]], this number will not only include geohashers that have the full achievement, but also those who are on their way there.\n\nFor a thematically sorted list with brief descriptions of the achievements, see '''[[achievements]]''' instead. For detailed descriptions, see the pages for the individual achievements.\n"

date +"Last updated: %F"

fetchData
data=$(extractData)
formatFullTable "$data"

echo "==Source code=="    
echo "The following program generates this page:<pre"">$(cat "$0")</pre"">[[Category:Achievements]]</noinclude"">"
formatBriefTable "$data"