Tr4sHCr4fT, a reddit user has posted a striking discovery that Pokemon GO Spawn points are highly correlated with Open Street Map data. The discovery follows his previous research that showed that “rustling leaves” are almost always found in parks or other green areas.

Pokemon GO Spawn Points correlate with Open Street Map data

According to Tr4sHCr4fT, Niantic has been using the open source data provided by Open Street Map to build a map of spawn points. More specifically, they’ve used the landuse property available on OSM (Open Street Map).

OSM defines landuse as:

Land use is the human use of land. Land use involves the management and modification of natural environment or wilderness into built environment such as fields, pastures, and settlements, also military, leisure and transportation.

Given the provided map, Tr4sHCr4fT showed that spawn points only appear on give landuse areas. The correlation is uncanny and you can observe it on the image below. The fact that OSM data forces certain spawn points and Pokemon biomes to appear is surprising.

Pokemon GO Spawn points correlate with Open Street Map data

Furthermore, another reddit user reported that data mining the Pokemon GO APK showed even more correlation. The APK contains a list of map features called FeatureKind and MapLayer. Surprisingly, feature kinds and map layers are named like landuse keys on and map layers Open Street Map!

The entire list is here:

MapLayer BOUNDARIES BUILDINGS LANDMASS 
LANDUSE PLACES POIS ROADS TRANSIT WATER DEBUG_TILE_BOUNDARIES

FeatureKind BASIN CANAL CEMETERY CINEMA COLLEGE COMMERCIAL COMMON DAM 
DITCH DOCK DRAIN FARM FARMLAND FARMYARD FOOTWAY FOREST GARDEN GLACIER 
GOLF_COURSE GRASS HIGHWAY HOSPITAL HOTEL INDUSTRIAL LAKE LAND LIBRARY 
MAJOR_ROAD MEADOW. MINOR_ROAD NATURE_RESERVE OCEAN PARK. PARKING PATH 
PEDESTRIAN PITCH. PLACE_OF_WORSHIP PLAYA PLAYGROUND. QUARRY RAILWAY 
RECREATION_AREA RESERVOIR RESIDENTIAL RETAIL RIVER RIVERBANK RUNWAY 
SCHOOL SPORTS_CENTER STADIUM STREAM TAXIWAY THEATRE UNIVERSITY URBAN_AREA 
WETLAND WOOD. DEBUG_TILE_OUTLINE DEBUG_TILE_SURFACE OTHER ANY

What does this mean?

For one, it makes easier for data miners and theory crafters to create and speculate on spawn lists, frequencies and types. OSM is open source and data is free to use – Niantic did not break any laws or practices by using this.

For players, using OSM could prove to be useful for finding Pokemon Nests, biomes and spawn points, but there have been no reports yet on the matter.

If you’re interested in a more in depth look at the matter, follow the original thread on TheSilphRoad or go through the official presentation given by Tr4sHCr4fT.

Further explanation

Update: The original data collector Tr4sHCr4fT explained the collection method and logic behind his data analysis. We’re transcripting the entire explanation here:

So here is the asked for ELI-NonDev for this thread:
https://www.reddit.com/r/TheSilphRoad/comments/50ni6g/osm_data_spawn_points_relation_confirmed/

  1. How was the spawn data gathered?
    Spawns were collected with my own script, Fastmap. that’s also the reason why ‘dots’ were only in parks on that picture and all other spawns missing – i can only get this type aka ex ‘rustling leaves’ positions from the maximum scan range of 1km, only that makes the script actually fast enough for tasks like scanning a city in a matter of minutes or all Mallorca in 2 hours and such.
  2. How was the spawn data exported? Spawns were exported as CSV from the sqlite database with SQLiteStudio. but any tool capable of dumping tables to csv while keeping column names in the first row of csv will do. It will also work with the ‘encounters’ table of PoGoMap pogom.db, tough you will get multiples of each spawn, eg more data to process.
  3. How was the spawn data analyzed?
    CSV was loaded into QGIS as ‘add Layer -> delimited text’. just make sure to map X to longtitude and Y to latitude colum of the csv – yes, it must really be this way round. Then you can pull OpenStreetMap tiles with the Web -> OpenLayers plugin. To actually get the features aka mentioned tags inside, readhttp://www.qgistutorials.com/en/docs/downloading_osm_data.html or use https://overpass-turbo.eu/ to query a tag and export it as GeoJSON, which can then be imported into QGIS as add Layer -> Vector
  4. TL; DR: What does it tell us?
    OpenStreetMap tags were used at least when promoting a spawn as ‘rustling leaves’ point, which is also a spawn of at least one of the biome types ‘park’, ‘recreational’ or ‘meadow’ as mentioned here:https://www.reddit.com/r/pokemongodev/comments/4xqxxq/identifying_biomes/
    Users also found water type spawns related to ‘reservoirs’ or underground streams/creeks, which were non existent on Google Maps but were cleary marked on OSM.