<div dir="ltr">You can check how a S2 COG compares at<div><br></div><div><a href="https://registry.opendata.aws/sentinel-2-l2a-cogs/">https://registry.opendata.aws/sentinel-2-l2a-cogs/</a><br></div><div><br></div><div>You should hopefully see a lot less network requests when accessing a sub block directly.</div><div><br></div><div>P</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 2, 2020 at 7:58 AM Alexander Verbitsky <<a href="mailto:habibutsu@gmail.com">habibutsu@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi All, I am trying to implement remote reading small blocks of images, but find slow performance.<br><br>For example i am trying to read 100x100 block from `sentinel-2` image, with using following code:<br><div><br></div><div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono",monospace,monospace,"Droid Sans Fallback";font-size:14px;line-height:19px;white-space:pre-wrap"><div>filename = (</div><div>    <span style="color:rgb(206,145,120)">'/vsigs/gcp-public-data-sentinel-2/tiles/31/U/FS/'</span></div><div>    <span style="color:rgb(206,145,120)">'S2A_MSIL1C_20201024T104121_N0209_R008_T31UFS_20201024T125115.SAFE/'</span></div><div>    <span style="color:rgb(206,145,120)">'GRANULE/L1C_T31UFS_A027890_20201024T104121/IMG_DATA/T31UFS_20201024T104121_B08.jp2'</span></div><div>)</div><div>ds = gdal.OpenEx(filename, gdal.OF_RASTER)</div><div>band = ds.GetRasterBand(<span style="color:rgb(181,206,168)">1</span>)</div><div>img = band.ReadAsArray(<span style="color:rgb(181,206,168)">1000</span>, <span style="color:rgb(181,206,168)">1000</span>, <span style="color:rgb(181,206,168)">100</span>, <span style="color:rgb(181,206,168)">100</span>)</div></div></div><div><div style="margin:0px;padding:0px 0px 20px;width:1504px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div><div id="gmail-m_-3089359134690298270gmail-:27t" style="font-size:0.875rem;direction:ltr;margin:8px 0px 0px;padding:0px"><div id="gmail-m_-3089359134690298270gmail-:27s" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div dir="ltr"><div><div><div><div><br></div><div>In result I am getting more low performance in comparison if I just download the whole image in memory and then read the necessary block. AS I understand it happens due to a lot of small requests (is about 100)  that are made during reading a small part of the image. Is it a fundamental feature of JP2OpenJPEG and this format not suitable for doing things like that? Should I take another format like GeoTiff and store my own data in it? Thank, for your reply.<div></div><div><br></div></div></div></div></div></div><div></div></div></div><div style="border-bottom-left-radius:1px;border-bottom-right-radius:1px;padding:0px;width:auto;background:rgb(242,242,242);margin:0px"></div></div></div><br></div></div>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a></blockquote></div>