I've been making spatial apps for probably 8 years now and moved from Google maps and Leaflet towards vector maps and I don't think I'd ever go back.
I've been making spatial apps for probably 8 years now and moved from Google maps and Leaflet towards vector maps and I don't think I'd ever go back.
When things get too large you can keep them in the mbtile file and serve them out with an express app.
I've done it in a severless environment which scales well but would get crazy expensive for any high use.
I used this article myself to learn: https://geovation.github.io/build-your-own-static-vector-til...
There are a couple more articles at the bottom of the awesome vector tiles I linked to before but haven't read them myself.
Reading through the list is good as well because it's a good overview of the whole ecosystem.
Edit: This article also shows a simple way to dynamically serve vector tiles directly from PostGIS. I didn't realise you could do it without the middlewear, time to look into doing it this way!
https://medium.com/nyc-planning-digital/using-the-new-mvt-fu...
I am currently interested in it because I want to feed tiles to a GAN to automatically generate maps of an imaginary earth..
For the reprojection, tile cutting, and overview building in gdal, see https://gdal.org/programs/gdal2tiles.html You can also implement it yourself fairly easily if gdal2tiles.py doesn't have the features you need. The files and directory structure it outputs you can slap into into a static webserver and visualize directly with something like leaflet.
As far as where to get data, that's a whole topic unto itself, but you can start with things like https://earthexplorer.usgs.gov/ for Landsat or https://datagateway.nrcs.usda.gov/ for NAIP or https://scihub.copernicus.eu/ for Sentinel.