> you could do something along:
>
> tmp_vrt = gdal.Translate("", src_ds, format = 'VRT')
> call SetColorInterpretation() / SetDescription() on tmp_vrt
> gdal.Translate(dstname, tmp_vrt, format = 'COG', ...)
Thanks Even, that works perfectly. It also revealed more depth on my on-again
off-again troubles: In my final write I was feeding the input vsi image to
Translate instead of the gdal dataset object I had applied the changes to. So:
gdal.Translate(outdata, VSIPATH, ...)
instead of:
gdal.Translate(outdata, DATAOBJ, ...)
The fixed and working script is attached.
-Matt
-----Original Message-----
From: Even Rouault <[email protected]>
Sent: October 14, 2021 12:11 PM
To: Matt.Wilkie <[email protected]>; [email protected]
Subject: Re: [gdal-dev] Python gdal.Translate(...) and unicode in Band
Descriptions.
<strong>*** External email: Do not click on links or attachments except from
trusted senders. ***
******************************************************************************************</strong>
<br>
<br>
you could do something along:
tmp_vrt = gdal.Translate("", src_ds, format = 'VRT')
call SetColorInterpretation() / SetDescription() on tmp_vrt
gdal.Translate(dstname, tmp_vrt, format = 'COG', ...)
Le 14/10/2021 à 20:45, [email protected] a écrit :
>> For Problem 2 there’s a new wrinkle: in spite of the warning about
>> being unable to save the .aux.xml info into the source zip sometimes
>> it actually does. I haven’t sorted out when it can and can’t yet.
> Solved it: the first time the script is run it saves the Color Interp and
> Descriptions in the .aux.xml within the zip, and the output image remains
> Undefined for these fields. In subsequent runs saving the aux fails, and the
> output image fields for Color Interp and Description are filled out. As I've
> been using the same input archive repeatedly while testing this sequence was
> being masked.
>
> So now I'm at the crux I think: how to tell gdal.Translate() to use these
> metadata without applying them to `data_in.GetRasterBand(1)` and saving first?
>
> Is there a more efficient method than:
>
> ~~~
> data_in = gdal.Open(vsipath)
> gdal.Translate(dstname, vsipath, width=w, height=h, ...)
>
> data_out = gdal.Open(dstname)
> data_out.GetRasterBand(1).SetColorInterpretation(gdal.GCI_RedBand)
> data_out.GetRasterBand(1).SetDescription("Red (0.625 - 0.695 microns)")
> ...
>
> data_in = None
> data_out = None
> ~~~
>
>
> Matt
> Geomatics Developer and Administrator | Environment | T 867-667-8133 |
> Yukon.ca
> Hours: 08:30-16:30, Mon-Wed: Office, Thu: Remote, Fri: Away.
>
>
> _______________________________________________
> gdal-dev mailing list
> [email protected]
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
https://imsva91-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=http%3a%2f%2fwww.spatialys.com&umid=7AF69E2A-CE54-D505-9E07-D6028B22F810&auth=c132af8ee7c9d1278d61a701569070a095ce962e-3d324fe99905db1c25d2b023d6680d9f015cf9ec
My software is free, but my time generally not.
<<attachment: SPOT-zip-to-preview.zip>>
_______________________________________________ gdal-dev mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/gdal-dev
