Everybody likes Maps

Jasper Funk-Smit

By Jasper Funk-Smit
12.04.2021 | 4 minutes reading time

Everybody likes Maps, and when a collection is so large and diverse as ours it can be useful to get an idea about where all these bugs, minerals, sounds, fossils and other items actually came from. To facilitate this we developed a tool called Map Explorer which is an integrative part of our recently launched Data Portal.

Overview

The main view of our Map Explorer consists of three major elements. In the map area you can use your mouse (or fingers in case you use a touch screen) to zoom in and out. You can also move the map around by dragging it. Watch how the elements on the right side change. Whenever you change the map section, the right part is updated and will show all the items that are located on this particular map section.

Clicking at one of the blue circles that are scattered around the map will open a small speech bubble giving more details about what is located at this particular place on the map. In fact, these blue circles represent clusters, i.e. a collection of different things (specimens, rocks, animal voice recordings etc.) belonging to a particular map area.

Sometimes the amount of data can be overwhelming, then it is a good idea to narrow down your search. To do so, you can use one of the filters from the top. For example, if you only want to see results from the Tierstimmenarchiv (animal sound archive) then all you have to do is to click on the button called Collection and select Tierstimmenarchiv from the options list.

Here you see the Map Explorer in action:

A visual tour of the Map Explorer

Behind the scenes

At the point of writing this post our database contains a little over 10.000 assets that have geographic coordinates associated to them, but we know this number will increase continuously over the coming months and years as more and more assets are imported into our database. However, clustering large amounts of points on a map requires a lot of computing resources and most web browsers will be soon overwhelmed with such tasks. Thus, we had to find another solution to deal with this problem.

The solution is simple yet powerful. For each asset in our database that has a geographic reference, typically encoded as longitude and latitude, we store also a short alphanumeric string representing this location. Such a string is called a geohash. The longer the strings the greater the precision.

For example, if you go to this website and enter u33 into the field Geohash then you can see a blue rectangle marking the area on the world map that is represented by this geohash. What happens if you enter u33db6y? The string is longer, thus the precision is greater and the represented area must be smaller. Can you spot what is located there?

So, whenever you drag around a map, the Map Explorer tries to figure out the appropriate geohashes (or clusters) and for each geohash it sends a query to the database. The database in turn returns the number of assets for this particular geohash.

As geohases are strings and due to their recursive nature, we can easily use a prefix search inside the database to find all assets with a geohash that starts for example with u33. Such a query is not only simple, but also incredibly fast.

Conclusion

To sum up, geohashes offer a simple yet powerful way to index and lookup geo-referenced data. In another blog post we will explain how you can use our API to search assets by a particular geohash and use the data inside you own workings.

We hope you will find the Map Explorer useful and intuitive. For questions or suggestions please contact us at portal@mfn.berlin.

See also

Geohash entry at Wikipedia