This is not really a programming question but more of looking for advice. I am trying to figure out the best way to load about 15 million polygons onto a web map. The file is large, about 20GB uncompressed.
The best solution that I have found is to use .mbtiles format to turn the geojson data into vector tileset. I did this with a portion of the data using MapBox with Tippecanoe but they do have upload limits of 25GB, I would assume all 15 million polygons with attributes are going to be larger than that.
Also, it seems a little slow when I load a sample of the .mbtiles into mapbox. Is there a better and faster solution than using MapBox to host the tiles? I am looking for faster tile loading times.
I am also wondering once the .mbtiles tiles are generated is it possible to edit the attributes of each individual polygon and if so, how? It would seem like a huge pain to have to go back and edit my geojson data, convert to .mbtiles and upload every time. I appreciate any help with this matter. Thank you.
You're asking a lot of separate questions there:
I would assume all 15 million polygons with attributes are going to be larger than [25GB, in mbtiles format]
I wouldn't assume that. You should try it.
Is there a better and faster solution than using MapBox to host the tiles? I am looking for faster tile loading times.
I'd very surprised if Mapbox's hosting is your bottleneck. Or rendering with Mapbox-GL-JS for that matter. But other solutions include cloud.tilehosting.com, or self-hosting with something like Tessera.
I am also wondering once the .mbtiles tiles are generated is it possible to edit the attributes of each individual polygon and if so, how?
You can use tile-join
, in the same package as Tippecanoe. https://github.com/mapbox/tippecanoe#tile-join