@@ -145,9 +145,11 @@ <h2 class="anchored" data-anchor-id="load-example-dataset-from-netcdf-into-xarra
145145< span id ="cb1-3 "> < a href ="#cb1-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="im "> import</ span > pyproj</ span >
146146< span id ="cb1-4 "> < a href ="#cb1-4 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="im "> import</ span > rioxarray < span class ="co "> # noqa</ span > </ span >
147147< span id ="cb1-5 "> < a href ="#cb1-5 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="im "> import</ span > xarray < span class ="im "> as</ span > xr</ span >
148- < span id ="cb1-6 "> < a href ="#cb1-6 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
149- < span id ="cb1-7 "> < a href ="#cb1-7 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # For zarr_format=2 encoding</ span > </ span >
150- < span id ="cb1-8 "> < a href ="#cb1-8 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="im "> from</ span > rio_tiler.io.xarray < span class ="im "> import</ span > XarrayReader</ span > </ code > < button title ="Copy to Clipboard " class ="code-copy-button "> < i class ="bi "> </ i > </ button > </ pre > </ div >
148+ < span id ="cb1-6 "> < a href ="#cb1-6 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="im "> from</ span > matplotlib < span class ="im "> import</ span > pyplot < span class ="im "> as</ span > plt</ span >
149+ < span id ="cb1-7 "> < a href ="#cb1-7 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="im "> from</ span > rasterio.rio.overview < span class ="im "> import</ span > get_maximum_overview_level</ span >
150+ < span id ="cb1-8 "> < a href ="#cb1-8 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
151+ < span id ="cb1-9 "> < a href ="#cb1-9 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # For zarr_format=2 encoding</ span > </ span >
152+ < span id ="cb1-10 "> < a href ="#cb1-10 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="im "> from</ span > rio_tiler.io.xarray < span class ="im "> import</ span > XarrayReader</ span > </ code > < button title ="Copy to Clipboard " class ="code-copy-button "> < i class ="bi "> </ i > </ button > </ pre > </ div >
151153</ div >
152154< div id ="cell-4 " class ="cell " data-execution_count ="2 ">
153155< div class ="sourceCode cell-code " id ="cb2 "> < pre class ="sourceCode python code-with-copy "> < code class ="sourceCode python "> < span id ="cb2-1 "> < a href ="#cb2-1 " aria-hidden ="true " tabindex ="-1 "> </ a > fp_base < span class ="op "> =</ span > < span class ="st "> "20020601090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1"</ span > </ span >
@@ -193,27 +195,47 @@ <h2 class="anchored" data-anchor-id="assign-crs-information-to-an-auxiliary-vari
193195< span id ="cb7-4 "> < a href ="#cb7-4 " aria-hidden ="true " tabindex ="-1 "> </ a > ds[var].attrs[< span class ="st "> "grid_mapping"</ span > ] < span class ="op "> =</ span > < span class ="st "> "spatial_ref"</ span > </ span > </ code > < button title ="Copy to Clipboard " class ="code-copy-button "> < i class ="bi "> </ i > </ button > </ pre > </ div >
194196</ div >
195197</ section >
196- < section id ="wip-define-a-custom-tms " class ="level2 ">
197- < h2 class ="anchored " data-anchor-id ="wip-define-a-custom-tms "> WIP: Define a custom TMS</ h2 >
198- < div id ="cell-13 " class ="cell ">
199- < div class ="sourceCode cell-code " id ="cb8 "> < pre class ="sourceCode python code-with-copy "> < code class ="sourceCode python "> < span id ="cb8-1 "> < a href ="#cb8-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="cf "> with</ span > XarrayReader(ds[var]) < span class ="im "> as</ span > dst_wmq:</ span >
200- < span id ="cb8-2 "> < a href ="#cb8-2 " aria-hidden ="true " tabindex ="-1 "> </ a > pyproj_crs < span class ="op "> =</ span > pyproj.CRS.from_wkt(dst_wmq.crs.to_wkt())</ span >
201- < span id ="cb8-3 "> < a href ="#cb8-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="bu "> print</ span > (< span class ="ss "> f"crs: </ span > < span class ="sc "> {</ span > pyproj_crs< span class ="sc "> }</ span > < span class ="ss "> "</ span > )</ span >
202- < span id ="cb8-4 "> < a href ="#cb8-4 " aria-hidden ="true " tabindex ="-1 "> </ a > bounds < span class ="op "> =</ span > dst_wmq.bounds</ span >
203- < span id ="cb8-5 "> < a href ="#cb8-5 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="bu "> print</ span > (< span class ="ss "> f"bounds: </ span > < span class ="sc "> {</ span > bounds< span class ="sc "> }</ span > < span class ="ss "> "</ span > )</ span >
204- < span id ="cb8-6 "> < a href ="#cb8-6 " aria-hidden ="true " tabindex ="-1 "> </ a > custom_tms < span class ="op "> =</ span > morecantile.TileMatrixSet.custom(</ span >
205- < span id ="cb8-7 "> < a href ="#cb8-7 " aria-hidden ="true " tabindex ="-1 "> </ a > extent< span class ="op "> =</ span > bounds,</ span >
206- < span id ="cb8-8 "> < a href ="#cb8-8 " aria-hidden ="true " tabindex ="-1 "> </ a > crs< span class ="op "> =</ span > pyproj_crs,</ span >
207- < span id ="cb8-9 "> < a href ="#cb8-9 " aria-hidden ="true " tabindex ="-1 "> </ a > tile_width< span class ="op "> =</ span > ds[var].shape[< span class ="dv "> 2</ span > ],</ span >
208- < span id ="cb8-10 "> < a href ="#cb8-10 " aria-hidden ="true " tabindex ="-1 "> </ a > tile_height< span class ="op "> =</ span > ds[var].shape[< span class ="dv "> 1</ span > ],</ span >
209- < span id ="cb8-11 "> < a href ="#cb8-11 " aria-hidden ="true " tabindex ="-1 "> </ a > minzoom< span class ="op "> =</ span > < span class ="dv "> 0</ span > ,</ span >
210- < span id ="cb8-12 "> < a href ="#cb8-12 " aria-hidden ="true " tabindex ="-1 "> </ a > maxzoom< span class ="op "> =</ span > < span class ="dv "> 0</ span > ,</ span >
211- < span id ="cb8-13 "> < a href ="#cb8-13 " aria-hidden ="true " tabindex ="-1 "> </ a > )</ span >
212- < span id ="cb8-14 "> < a href ="#cb8-14 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="bu "> print</ span > (custom_tms.bounds(< span class ="dv "> 0</ span > , < span class ="dv "> 0</ span > , < span class ="dv "> 0</ span > ))</ span > </ code > < button title ="Copy to Clipboard " class ="code-copy-button "> < i class ="bi "> </ i > </ button > </ pre > </ div >
198+ < section id ="define-a-custom-tms " class ="level2 ">
199+ < h2 class ="anchored " data-anchor-id ="define-a-custom-tms "> Define a custom TMS</ h2 >
200+ < div id ="cell-13 " class ="cell " data-execution_count ="7 ">
201+ < div class ="sourceCode cell-code " id ="cb8 "> < pre class ="sourceCode python code-with-copy "> < code class ="sourceCode python "> < span id ="cb8-1 "> < a href ="#cb8-1 " aria-hidden ="true " tabindex ="-1 "> </ a > x_chunk_size < span class ="op "> =</ span > < span class ="dv "> 512</ span > </ span >
202+ < span id ="cb8-2 "> < a href ="#cb8-2 " aria-hidden ="true " tabindex ="-1 "> </ a > y_chunk_size < span class ="op "> =</ span > < span class ="dv "> 512</ span > </ span >
203+ < span id ="cb8-3 "> < a href ="#cb8-3 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
204+ < span id ="cb8-4 "> < a href ="#cb8-4 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="cf "> with</ span > XarrayReader(ds[var]) < span class ="im "> as</ span > dst_wmq:</ span >
205+ < span id ="cb8-5 "> < a href ="#cb8-5 " aria-hidden ="true " tabindex ="-1 "> </ a > pyproj_crs < span class ="op "> =</ span > pyproj.CRS.from_wkt(dst_wmq.crs.to_wkt())</ span >
206+ < span id ="cb8-6 "> < a href ="#cb8-6 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="bu "> print</ span > (< span class ="ss "> f"crs: </ span > < span class ="sc "> {</ span > pyproj_crs< span class ="sc "> }</ span > < span class ="ss "> "</ span > )</ span >
207+ < span id ="cb8-7 "> < a href ="#cb8-7 " aria-hidden ="true " tabindex ="-1 "> </ a > bounds < span class ="op "> =</ span > dst_wmq.bounds</ span >
208+ < span id ="cb8-8 "> < a href ="#cb8-8 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="bu "> print</ span > (< span class ="ss "> f"bounds: </ span > < span class ="sc "> {</ span > bounds< span class ="sc "> }</ span > < span class ="ss "> "</ span > )</ span >
209+ < span id ="cb8-9 "> < a href ="#cb8-9 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
210+ < span id ="cb8-10 "> < a href ="#cb8-10 " aria-hidden ="true " tabindex ="-1 "> </ a > maxzoom < span class ="op "> =</ span > get_maximum_overview_level(</ span >
211+ < span id ="cb8-11 "> < a href ="#cb8-11 " aria-hidden ="true " tabindex ="-1 "> </ a > ds[var].shape[< span class ="dv "> 2</ span > ], ds[var].shape[< span class ="dv "> 1</ span > ], minsize< span class ="op "> =</ span > < span class ="bu "> min</ span > (x_chunk_size, y_chunk_size)</ span >
212+ < span id ="cb8-12 "> < a href ="#cb8-12 " aria-hidden ="true " tabindex ="-1 "> </ a > )</ span >
213+ < span id ="cb8-13 "> < a href ="#cb8-13 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
214+ < span id ="cb8-14 "> < a href ="#cb8-14 " aria-hidden ="true " tabindex ="-1 "> </ a > custom_tms < span class ="op "> =</ span > morecantile.TileMatrixSet.custom(</ span >
215+ < span id ="cb8-15 "> < a href ="#cb8-15 " aria-hidden ="true " tabindex ="-1 "> </ a > extent< span class ="op "> =</ span > bounds,</ span >
216+ < span id ="cb8-16 "> < a href ="#cb8-16 " aria-hidden ="true " tabindex ="-1 "> </ a > crs< span class ="op "> =</ span > pyproj_crs,</ span >
217+ < span id ="cb8-17 "> < a href ="#cb8-17 " aria-hidden ="true " tabindex ="-1 "> </ a > tile_width< span class ="op "> =</ span > x_chunk_size,</ span >
218+ < span id ="cb8-18 "> < a href ="#cb8-18 " aria-hidden ="true " tabindex ="-1 "> </ a > tile_height< span class ="op "> =</ span > y_chunk_size,</ span >
219+ < span id ="cb8-19 "> < a href ="#cb8-19 " aria-hidden ="true " tabindex ="-1 "> </ a > minzoom< span class ="op "> =</ span > < span class ="dv "> 0</ span > ,</ span >
220+ < span id ="cb8-20 "> < a href ="#cb8-20 " aria-hidden ="true " tabindex ="-1 "> </ a > maxzoom< span class ="op "> =</ span > maxzoom,</ span >
221+ < span id ="cb8-21 "> < a href ="#cb8-21 " aria-hidden ="true " tabindex ="-1 "> </ a > matrix_scale< span class ="op "> =</ span > [< span class ="dv "> 1</ span > , < span class ="dv "> 1</ span > ],</ span >
222+ < span id ="cb8-22 "> < a href ="#cb8-22 " aria-hidden ="true " tabindex ="-1 "> </ a > decimation_base< span class ="op "> =</ span > < span class ="dv "> 2</ span > ,</ span >
223+ < span id ="cb8-23 "> < a href ="#cb8-23 " aria-hidden ="true " tabindex ="-1 "> </ a > )</ span >
224+ < span id ="cb8-24 "> < a href ="#cb8-24 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
225+ < span id ="cb8-25 "> < a href ="#cb8-25 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="cf "> with</ span > XarrayReader(ds[var], tms< span class ="op "> =</ span > custom_tms) < span class ="im "> as</ span > dst:</ span >
226+ < span id ="cb8-26 "> < a href ="#cb8-26 " aria-hidden ="true " tabindex ="-1 "> </ a > tile < span class ="op "> =</ span > dst.tile(< span class ="dv "> 0</ span > , < span class ="dv "> 0</ span > , < span class ="dv "> 0</ span > ).data</ span >
227+ < span id ="cb8-27 "> < a href ="#cb8-27 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
228+ < span id ="cb8-28 "> < a href ="#cb8-28 " aria-hidden ="true " tabindex ="-1 "> </ a > plt.imshow(tile.squeeze())</ span > </ code > < button title ="Copy to Clipboard " class ="code-copy-button "> < i class ="bi "> </ i > </ button > </ pre > </ div >
213229< div class ="cell-output cell-output-stdout ">
214230< pre > < code > crs: GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]
215- bounds: (-179.99500549324037, -89.99499786365084, 180.0050000000763, 89.99499786365084)
216- BoundingBox(left=-179.99500549324037, bottom=-89.99500488285491, right=180.0050000000763, top=89.99499786365084)</ code > </ pre >
231+ bounds: (-179.99500549324037, -89.99499786365084, 180.0050000000763, 89.99499786365084)</ code > </ pre >
232+ </ div >
233+ < div class ="cell-output cell-output-display ">
234+ < div >
235+ < figure class ="figure ">
236+ < p > < img src ="05_WIP_multiscales_as_customTMS_ZarrV2_files/figure-html/cell-8-output-2.png " class ="img-fluid figure-img "> </ p >
237+ </ figure >
238+ </ div >
217239</ div >
218240</ div >
219241
0 commit comments