Seeking advice for WebGIS components

My experience with Leaflet and GeoJson is much more limited - I’m only displaying tens of points at any one time.

Some general thoughts -

  • The article you referenced (GeoDjango maps with Leaflet) mentions that “A map with more than 12 000 HTML objects is not going to be snappy.” I have no idea what that translates to in terms of performance on your site.
    You might want to do some testing to determine at what quantity of points the performance stops being acceptable. You could probably try this most easily by adding a limit to your queryset in your view that the AJAX call is using to retrieve data.

  • If you’re working with point data and not areas, polygons, etc, GeoJSON seems to me to be “heavier” than you need. There’s probably a lot of overhead that could be avoided by simply sending the points as a simpler JSON structure. (e.g. list of lists of coordinates).

  • Make sure your code is structured such that you’re either only

    • retrieving the data once and not every time the map is scrolled or scaled
      or
    • only retrieving the points for the current viewport.
  • Your other requirements are no problem. Django can handle them easily, assuming you have the data to support it.

  • We don’t use either WMS or WFS with Leaflet. We use a standard Apache server with mod_tile and mapnik for rendering. (We host our own tile server with rendered OSM data and a custom stylesheet for handling zoom levels up to 25.)

  • Opinion - I’m not sure just what value you might get out of trying to individually render > 100,000 points on any one map. You might want to look at some of the options for clustering or even heat maps

Ken