Hacker News new | ask | show | jobs
by jw_cook 83 days ago
Points are rendered server-side, backed by Elasticsearch, and served as PNG tiles for each zoom level. Individual markers are only rendered for small sets. Some of the relevant source code:

https://github.com/inaturalist/inaturalist/blob/main/app/ass...

https://github.com/inaturalist/inaturalist/blob/main/app/ass...

https://github.com/inaturalist/inaturalist/blob/main/app/ass...

1 comments

Did not realize that they publish their code. Very cool. Thanks!
Looked at their source code out of curiosity. They use Elasticsearch as a geo backend, tile server that renders PNG images server side for each map tile request.

- low zoom -> server aggregated grid

- high zoom -> switcher to point tiles

browser just displays images, there is no work to do on client side..

I generated a visual schematic how these kind of systems work: https://vectree.io/c/server-side-geo-tile-rendering-elastics...