Open jhamman opened 2 years ago
Dear Joe,
Thank you very much for your comments. I didn't know that there is an existing Zarr support in a map viewer.
I believe that you're the expert for this aspect, so I would be interested to know how you infer the correct scale to use depending on the current zoom. Don't you compute the current resolution ?
Is there a document specifying the assumptions on Zarr data ?
THanks.
Thank you very much for your comments. I didn't know that there is an existing Zarr support in a map viewer.
You may find this interesting then: https://carbonplan.org/blog/maps-library-release
I believe that you're the expert for this aspect, so I would be interested to know how you infer the correct scale to use depending on the current zoom. Don't you compute the current resolution ?
We generate data in zarr format for various zoom levels based on a quad tree layout. Level 0 is a single tile the represents the full Web Mercator extent in a single tile (e.g. 128x128). Each level is written as a different group in the zarr dataset and we pull data into the client based on the current zoom level. So, we compute the zoom level (Mapbox helps here) and we pull the corresponding data based on that.
Is there a document specifying the assumptions on Zarr data ?
Not yet. But we can write this up.
@freeman-lab and @katamartin may have more to add here.
Thanks, very interesting.
This is not a criticism, but by default, I would rather favour the more popular zoom levels used for example by XYZ tiling (https://wiki.openstreetmap.org/wiki/Zoom_levels) , and also ArcGIS (https://developers.arcgis.com/documentation/mapping-apis-and-services/reference/zoom-levels-and-scale/) .
However, the resolution indicator would allow to suits any convention. What do you think ?
Hi @christophenoel , can you maybe say more about what you mean by "more popular zoom levels"? Our understanding is that the OSM / Mapbox zoom levels are essentially the same as one another and the same as what we're using here. It's true that, in a typical map tile server, tiles would be stored with a {z}/{x}/{y}.png
naming pattern, whereas here we have a separate {z}
array for each zoom level, and then individual chunks are {y}.{x}
, per the conventions of zarr-python
. Is that what you mean by the difference?
According to your table, latitude at equator is 78271.484 meters/pixel for zoom 0 while the de facto standard used by OSM, ArcGis, OpenLayers is twice the resolution 156 412 meters / pixel (they consider zoom level for 256x256 pixels tiles).
(however, I suppose that the difference by a factor 2 is not significant, and the map user doesn't really see any difference).
In https://github.com/zarr-developers/zarr-specs/issues/124, @christophenoel wrote:
Cross posting here as there may be some direct overlap with the specification we're using in
ndpyramid
and@carbonplan/maps
.@christophenoel - if you have some time to expand on your multi-scale specification, I'd be very interested to hear more.
For reference, we're also basing our specification off the image.sc draft, with some specific tuning to support our mapping applications.