<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-CA" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The attached python script that reads from a vendor’s SPOT6 distribution archive and creates a cloud optimized geotiff. Reading and writing works, but the band description does not take properly.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Problem 1: The greek letter Mu or <a href="https://theasciicode.com.ar/extended-ascii-code/lowercase-letter-mu-micro-sign-micron-ascii-code-230.html">
Micron</a> in description is converted to something else. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In:           Near-Infrared (0.760 µm – 0.890 µm)<o:p></o:p></p>
<p class="MsoNormal">Gdalinfo:             Near-Infrared (0.760 <span style="font-family:"Arial",sans-serif">
┬╡</span>m ΓÇô 0.890 <span style="font-family:"Arial",sans-serif">┬╡</span>m)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m quite sure I’ve seen geotiff descriptions using the micron character before. It was seeing someone else do that the gave me the idea to do the same with our data. Maybe they weren’t using gdal though?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Problem 2: on close it’s trying to update the source. This fails because the source is zipped, which is good because we want to leave the source untouched. However I don’t want to rely on this to keep our house in order. What is the proper
 way to do this?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Example script run:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">$ spot-zip-to-preview process-list-sample.csv preview 2048<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">/vsizip/A:\Imagery\Work\SPOT-raw\DS_SPOT6_202008182031259_LM1_LM1_LM1_LM1_W137N63_01790.zip/DS_SPOT6_202008182031259_LM1_LM1_LM1_LM1_W137N63_01790/PROD_SPOT6_001/VOL_SPOT6_001_A/IMG_SPOT6_MS_001_A/DIM_SPOT6_MS_202008182031259_SEN_1.XML<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">0.10..20...50..81..100Warning 6: driver COG does not support creation option PHOTOMETRIC<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">Warning 1: Unable to save auxiliary information in /vsizip/A:\Imagery\Work\SPOT-raw\DS_SPOT6_202008182031259_LM1_LM1_LM1_LM1_W137N63_01790.zip/DS_SPOT6_202008182031259_LM1_LM1_LM1_LM1_W137N63_01790/PROD_SPOT6_001/VOL_SPOT6_001_A/IMG_SPOT6_MS_001_A/DIM_SPOT6_MS_202008182031259_SEN_1.XML.aux.xml.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The relevant part of the script:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">data_in = gdal.Open(vsipath)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">#print(data_in.GetMetadata())<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">if "_MS_" in ds:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    data_in.GetRasterBand(1).SetColorInterpretation(gdal.GCI_RedBand)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    data_in.GetRasterBand(1).SetDescription("Red (0.625 µm – 0.695 µm)")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    data_in.GetRasterBand(2).SetColorInterpretation(gdal.GCI_GreenBand)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    data_in.GetRasterBand(2).SetDescription("Green (0.530 µm – 0.590 µm)")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    data_in.GetRasterBand(3).SetColorInterpretation(gdal.GCI_BlueBand)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    data_in.GetRasterBand(3).SetDescription("Blue (0.455 µm – 0.525 µm)")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    #data_in.GetRasterBand(4).SetColorInterpretation("Gray")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    data_in.GetRasterBand(3).SetDescription("Near-Infrared (0.760 µm – 0.890 µm)")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">if "_P_" in ds:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    #data_in.GetRasterBand(1).SetColorInterpretation("Gray")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    data_in.GetRasterBand(1).SetDescription("Panchromatic")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">gdal.Translate(dstname, vsipath, width=w, height=h,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    format="COG",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    noData=0,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    creationOptions=options,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    callback=progress_cb,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    callback_data='.')<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks in advance for your thoughts.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-top:4.0pt;line-height:115%;text-autospace:none;vertical-align:middle">
<b><span lang="EN-US" style="font-size:10.0pt;line-height:115%;mso-fareast-language:EN-CA">Matt Wilkie</span></b><span lang="EN-US" style="font-size:10.0pt;line-height:115%;mso-fareast-language:EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;mso-fareast-language:EN-CA">Geomatics Developer & Administrator<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;mso-fareast-language:EN-CA">Environment
<span style="color:#2E74B5">|</span> Technology, Innovation and Mapping<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt;mso-fareast-language:EN-CA">T 867-667-8133
<span style="color:#2E74B5">|</span> </span><u><span style="font-size:10.0pt;mso-fareast-language:EN-CA"><a href="http://yukon.ca/"><span lang="EN-US" style="color:windowtext">Yukon.ca</span></a><o:p></o:p></span></u></p>
<p class="MsoNormal"><i><span style="font-size:10.0pt;mso-fareast-language:EN-CA">Hours: 08:30-16:30, Mon-Wed: Office, Thu: Remote, Fri: Away.<o:p></o:p></span></i></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>