[gdal-dev] read whole elevation data from geotif to vector[x][y]
Robert Grah
smilingmolecule at web.de
Sat Jun 21 09:00:04 PDT 2014
Hi Peb,
thanks for the hint. Thats really simple. Maybe i need this in the future.
Cheers,
Rob
---- Ein Mi, 18 Jun 2014 05:20:21 -0700 peb aryan <peb.aryan at student.tuwien.ac.at> hat geschrieben ----
>Hi Robert,
>
>if you use opencv there is an easy way to pass buffer from RasterIO to a cv::Mat
>
>double *padRasterData = (double*)CPLMalloc(iGridsizeX*iGridsizeY*sizeof(double));
>
>
>h_dataset->RasterIO(GF_Read, 0, 0, iGridsizeX, iGridsizeY, padRasterData, iGridsizeX, iGridsizeY, GDT_Float64, 1,NULL,0,0,0);
>
>
>cv::Mat img = cv::Mat(iGridsizeY, iGridsizeX, CV_64F, &padRasterData[0]);
>
>
>
>...
>
>
>CPLFree( padRasterData );
>
>
>
>cheers,
>
>
>peb
>
>
>
>On Tue, Jun 17, 2014 at 8:56 PM, Robert Grah <smilingmolecule at web.de> wrote:
> Hallo,
>
> i think this question is somehow a bit stupid but I have to ask it anyway because i can not find a good working solution.
> I try to read the whole elevation data from a band of a GeoTiff image into a c++ 2d vector so that I can read the values like vector[x][y].
> I also like to convert the data to an image and perform other operations.
>
> I tried it like this, but this gives me the data in a strange order:
>
> poBand->RasterIO( GF_Read, 0, 0, nXSize, nYSize,
> pafScanline2, nXSize, nYSize, GDT_Float32,
> 0, 0 );
> int totalCount = 0;
> for (int i = 0; i GetXSize(); i++){
>
> vector yVal;
> for (int j = 0; j GetYSize(); j++){
> yVal.push_back(pafScanline2[totalCount]);
> totalCount++;
> }
> altData.push_back(yVal);
> }
>
>
> I also tried to read every single value step by step, but this was really slow.
> Is there an easy way to get the values ordered like the pixels of an image?
> From left to right and top to bottom? I think i am overlooking something...
>
> Cheers,
> Robert
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
>
>
More information about the gdal-dev
mailing list