Assuming that the goal is to develop a web application with a static basemap (can be raster tiles) and multiple layers, which:

  • are stored in a PostGIS database
  • have a big amount of features
  • include about 10-20 attributes
  • have to be requested dynamically by users

With these assumptions in mind, which data format works better: GeoJSON or Vector Tiles? In what situations would you prefer one over the other and why?


  • Vector Tiles, because of the binary format, are smaller in size than GeoJSON?
  • Vector Tiles might not be requested faster, because although they are only delivered for the requested tiles, for GeoJSON a BBOX could be sent.
  • Crunchy data provides pg_tileserv (Vector Tiles) and pg_featureserv (GeoJSON) already providing the HTTP endpoints and an API how to request features (e.g. handling the BBOX query for GeoJSON data).
  • 1
    I suggest making comparative tests because you know best the data that you have. Vector tiles can be slower to create but usually they are delivered from a cache. If the service is dynamic then cache does not help. Vector tiles are always changing the geometries so if that matters, use GeoJSON that can deliver the geometries and coordinates unaltered.
    – user30184
    2 days ago