Map visualization optimization techniques 🗺️

Raúl Jiménez Ortega | @hhkaos

Dataviz

 

Raúl Jiménez Ortega | @hhkaos

  • From Nerja (Málaga)☀️⛴️ ; living in Almería 🌵😎
  • Family guy 👨‍👩‍👦‍👦
  • Geek 👨🏻‍💻
  • Product Engineer @ Esri 🥑🇺🇸
  • 10 years running GeoDevelopers.org 🗺️🌍

What can we optimize?

1. Initial loading times

2. Fluency of interaction

3. Costs

Basemap Pricing Models

TECHNOLOGIES

State of the art

Static maps

Dynamic maps

Interactive maps

Immersive maps

LOAD TIMES

Optimizing datasets of hundreds of thousands or millions of data and server response times

Reduce bytes sent over the network

Ratio, compression and decompression time by algorithm | Source: OpenCPU

GeoJSON standard (RFC 7946)

Reduce the size of the dataset

Relationship between the number of decimals of a coordinate and precision

Poligons or lines

Chop the data

Cache as much as possible!

Create spatial indexes

FLUENCY OF INTERACTION

  • Clustering 🔍
  • Heatmaps 🔥
  • Binning 📦
  • Client-side analysis 📏📐

Clustering 🔍

Heatmaps 🔥

Binning 📦

Do as much as you can in the client

COSTS

Open data

Dataviz

Dataviz

CONCLUSIONS

What is the best technology?

What is the best technology?

It depends on the use case and the needs:

  • 🎨 Design / customization
  • 🤏 Interaction
  • 📦 Data types
  • 📱 Devices
  • ⏱️ Loading times
  • 🧑‍🦽 Accessibility

If I could travel in time…

I would

  • Sliced using feature layers (not images)
  • Used clusters (not points)
  • I would have used cache (near real-time)
  • Statistics on the client (not server)
  • Used protomaps

Thanks!