[gdal-dev] best way to compare in a numpy table the values of two images with different projection

Chaitanya kumar CH chaitanya.ch at gmail.com
Wed May 12 10:48:22 EDT 2010


Matthieu,

Looks like you are finally reprojecting the image, perhaps to the projection
of image B. Reprojection is costly. I suggest performing it on A instead of
B. Let us know how it goes.

On Wed, May 12, 2010 at 7:19 PM, Matthieu Rigal <rigal at rapideye.de> wrote:

> Hi folks,
>
> I am currently implementing a tool to allow band-to-band computations on
> array values out of 2 images with different projection and different
> resolution in python.
>
> The operation is quite complex, so I will summarize it here and below give
> the solution I am currently testing to see if it is the best one and ask
> for some enhancements and performance hints. Unfortunately, the high-level
> warping class is, at my knowledge, only available in C++.
>
> Workflow (could also be improved by all-in-one functions like for C++)
> - Open image A, 5000*5000 pixels, 5m resolution, UTM
> - Open image B, approx 100m resolution, LatLon, much larger than the
> previous one
> - Cut out the buffered extents of image A from image B
> - Reproject this cutted image to the projection and resolution of image A
> - Read full image A as array
> - Read extents of image A from image B as array
>
> It sounds easy, but when I started implementing it, I figured out that it
> was quite complicated and that it would be quite time consuming, so if you
> have any suggestions, this is my pseudo-code (I thought about writing a
> real code, but it may be too long for the list, if I want to also include
> the generation of image A and B at the beginning):
> - gdal.Open(imgA, imgB)
> - GetGeoTransform(imgA, imgB)
> - CreateGeometry(boundaries of imgA).Buffer
> - Transform(projection imgB)
> - GetEnvelope(transformed geometry)
> - transform to in-image of imgB x, y, x_off, y_off
> - Create new image in memory
> - Calculate its geotransform
> - Read the bands into memory (GetRasterBand().Read and .Write() or
> ReadIO() ?)
> - Reproject the image
> - Get GeoTransform
> - Calculate in-image coordinates to finally read exactly the same window as
> array
>
> Best Regards,
> Matthieu
>
> RapidEye AG
> Molkenmarkt 30
> 14776 Brandenburg an der Havel
> Germany
>
> Follow us on Twitter! www.twitter.com/rapideye_ag
>
> Head Office/Sitz der Gesellschaft: Brandenburg an der Havel
> Management Board/Vorstand: Wolfgang G. Biedermann
> Chairman of Supervisory Board/Vorsitzender des Aufsichtsrates:
> Juergen Breitkopf
> Commercial Register/Handelsregister Potsdam HRB 17 796
> Tax Number/Steuernummer: 048/100/00053
> VAT-Ident-Number/Ust.-ID: DE 199331235
> DIN EN ISO 9001 certified
>
> *************************************************************************
> Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte
> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
> E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den
> Absender und vernichten Sie diese E-Mail. Das unerlaubte Kopieren sowie
> die unbefugte Weitergabe dieser E-Mail ist nicht gestattet.
>
> The information in this e-mail is intended for the named recipients
> only. It may contain privileged and confidential information. If you
> have received this communication in error, any use, copying or
> dissemination of its contents is strictly prohibited. Please erase all
> copies of the message along with any included attachments and notify
> RapidEye AG or the sender immediately by telephone at the number
> indicated on this page.
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>



-- 
Best regards,
Chaitanya kumar CH.
/tʃaɪθənjə/ /kʊmɑr/
+91-9848167848
17.2416N 80.1426E
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20100512/d064f98a/attachment.html


More information about the gdal-dev mailing list