Hi Stefan You propably want to take a look at rasterio: https://github.com/mapbox/rasterio
Which is also great to work with python and raster data. Regards Stefan Von meinem iPhone gesendet > Am 03.04.2015 um 16:08 schrieb Stefan Keller <[email protected]>: > > Hi Yuta and Even > > Excuse me when I creep in that discussion - but I'm acutally having > quite a similar beginners question (I'm rather a vector guy :-) ): > > Yuta: Can you post the code fragment here in order to make benchmarks? > > I have a GeoTIFF (representing heights from SRTM3) in Mercator CRS of > the size of a country. > And I have a position (in lat/lon) and a radius (in m) as input. > Now, I'd like to read out all grid cells within a radius in order to > calculate the highest point nearby. > So I'd like to read out a subset of grid cells/pixels in the most efficient > way. > > Here's some code snippet: > import gdal > from gdalconst import * > filename = 'my.tif' > dataset = gdal.Open(filename, GA_ReadOnly) > band = dataset.GetRasterBand(1) > scanline = band.ReadRaster( 0, 0, band.XSize, 1,band.XSize, 1, band.DataType) > ... > > Following questions arise: > 1. Are there alternatives reading out the sub-matrix > 2. How to calculate the grid cell position in Mercator and lat/lon? > > Yours, Stefan > > > 2015-04-03 13:16 GMT+02:00 Yuta Sato <[email protected]>: >> Thank you very much "Even Rouault" for making me understood. >> >> On Fri, Apr 3, 2015 at 8:13 PM, Even Rouault <[email protected]> >> wrote: >>> >>> Le vendredi 03 avril 2015 12:46:48, Yuta Sato a écrit : >>>> Dear Even Rouault: >>>> >>>> Thank you very much. >>>> What about setting these parameters "used with .ReadAsArray()", though I >>>> did not know their meanings? >>>> buf_xsize=None, buf_ysize=None, buf_obj=None >>> >>> (Please keep the list CC'ed) >>> >>> buf_xsize and buf_ysize are the equivalents of nBufXSize and nBufYSize in >>> GDALRasterBand::RasterIO() >>> http://gdal.org/classGDALRasterBand.html#a75d4af97b3436a4e79d9759eedf89af4 >>> i.e. to do downsampling or upsampling of original data. >>> >>> buf_obj can be used to "recycle" an existing numpy array of the >>> appropriate >>> size instead of allocating a new one. >>> >>>> >>>> >>>> On Fri, Apr 3, 2015 at 7:43 PM, Even Rouault >>>> <[email protected]> >>>> >>>> wrote: >>>>> Le vendredi 03 avril 2015 12:22:00, Yuta Sato a écrit : >>>>>> Dear Respected GDAL Developers and Users: >>>>>> >>>>>> What parameters should I set beforehand in order to accelerate the >>>>> >>>>> reading >>>>> >>>>>> of a GeoTiff file? >>>>>> >>>>>> I am using as follows: >>>>>> >>>>>> data = >>>>>> src_dataset.GetRasterBand(1).ReadAsArray(xoff,yoff,xsize,ysize) >>>>>> >>>>>> Does setting the following parameters accelerate? >>>>>> >>>>>> GDAL_CACHEMAX, GDAL_SWATH_SIZE >>>>>> >>>>>> I'm using gdal python. >>>>> >>>>> Yuta, >>>>> >>>>> Increasing GDAL_CACHEMAX might accelerate in case of repeated reads on >>>>> windows >>>>> that are identical or overlapping already read windows. Or if the way >>>>> you >>>>> read >>>>> the raster doesn't follow its block shape : for example if the raster >>>>> is >>>>> organized by lines/strips and you read by square blocks, or the >>>>> reverse >>>>> situation. >>>>> >>>>> GDAL_SWATH_SIZE is only used by CreateCopy(). >>>>> >>>>> Even >>>>> >>>>> -- >>>>> Spatialys - Geospatial professional services >>>>> http://www.spatialys.com >>> >>> -- >>> Spatialys - Geospatial professional services >>> http://www.spatialys.com >> >> >> >> _______________________________________________ >> gdal-dev mailing list >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/gdal-dev > _______________________________________________ > gdal-dev mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/gdal-dev _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
