<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hi,</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
We are exploring the possibility of adding write support for CADRG format in GDAL and would appreciate some community feedback before starting implementation.</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
There is currently no open-source workflow for creating CADRG. GDAL can already read CADRG via RPFTOC/NITF drivers, so extending that work feels like a good next step.</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Short background on CADRG format:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
CADRG is a Raster Product Format (RPF) that consists of a TOC file referencing data frames. Each data frame is stored as a National Imagery Transmission Format (NITF) message.</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
GDAL currently supports:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* Reading CADRG (a.toc) via the RPFTOC driver</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* Reading individual CADRG frames via the NITF driver</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* Writing NITF images, both without and with JPEG compression</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
To implement a CADRG writer, we could extend the existing NITF and RPFTOC drivers:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
NITF:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* Implement Vector Quantisation compression</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* Add option to set Frame size</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
** A CADRG frame must be 1536x1536 pixels, so output would be tiled</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* Add option to set CADRG scale</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
RPFTOC:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* Extend with 'write' mode</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
** Internally call NITF driver to generate CADRG compliant data frames</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
** Generate a .toc file per MIL-STD-2411</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Example usage, create a CADRG from a TIF-file:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; margin-left: 40px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
gdal_translate input.tif ./RPF \</div>
<div style="line-height: 19px; margin-left: 40px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
-of RPFTOC \</div>
<div style="line-height: 19px; margin-left: 40px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
-co "PRODUCT=CADRG" \</div>
<div style="line-height: 19px; margin-left: 40px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<b> # NITF file header options</b></div>
<div style="line-height: 19px; margin-left: 40px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
-co "FTITLE=My CADRG Product" \</div>
<div style="line-height: 19px; margin-left: 40px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
-co "FSCLAS=U" \</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
...</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Output:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
└── RPF/</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt;" class="elementToProof">
<span style="color: rgb(0, 0, 0);">├─── a.toc</span></div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt;" class="elementToProof">
<span style="color: rgb(0, 0, 0);">└─── frames/</span></div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt;" class="elementToProof">
<span style="color: rgb(0, 0, 0);">├──── 00AVL01C.TL6</span></div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt;" class="elementToProof">
<span style="color: rgb(0, 0, 0);">└──── 00AVM01C.TL6</span></div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
<br>
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Drivers:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* https://gdal.org/en/stable/drivers/raster/rpftoc.html</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* https://gdal.org/en/stable/drivers/raster/nitf.html</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Standards:</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* CADRG: http://everyspec.com/MIL-PRF/MIL-PRF-080000-99999/MIL-PRF-89038_25371/</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
* RPF: http://everyspec.com/MIL-STD/MIL-STD-2000-2999/MIL-STD-2411_6903/</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
<br>
</div>
<div style="line-height: 19px; font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Would this be a welcomed addition? Any thoughts or feedback is appreciated.</div>
<div id="Signature" class="elementToProof">
<div class="elementToProof" style="font-family: "Arial", "Helvetica", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif, serif, EmojiFont; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<p style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Arial, sans-serif, serif, EmojiFont; font-size: 12pt; color: black;">Best regards / Vänliga hälsningar</span></p>
<div style="background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<div style="background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
</div>
<div style="text-align: left; text-indent: 0px; background-color: rgb(255, 255, 255); margin: 0px; font-family: Arial, sans-serif, serif, EmojiFont; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Arial, Helvetica, sans-serif, serif, EmojiFont; font-size: 14pt; color: rgb(0, 0, 0);"><b>Patrik Sylve</b></span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Arial, Helvetica, sans-serif, serif, EmojiFont; font-size: 12pt; color: rgb(0, 0, 0);">Software Developer</span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Arial, Helvetica, sans-serif, serif, EmojiFont; font-size: 9pt; color: rgb(200, 38, 19); line-height: 17.6px;"><b><br>
</b></span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Arial, Helvetica, sans-serif, serif, EmojiFont; font-size: 9pt; color: rgb(200, 38, 19); line-height: 17.6px;"><b>E:</b></span><span style="font-family: Arial, Helvetica, sans-serif, serif, EmojiFont; font-size: 9pt; color: rgb(0, 0, 0); line-height: 17.6px;"><b> </b>patrik.sylve@t-kartor.com</span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Arial, Helvetica, sans-serif, serif, EmojiFont; font-size: 9pt; color: rgb(200, 38, 19); line-height: 17.6px;"><br>
</span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Arial, Helvetica, sans-serif, serif, EmojiFont; font-size: 9pt; color: rgb(0, 0, 0); line-height: 17.6px;"><a href="http://www.t-kartor.com/" target="_blank" id="LPlnk967518" class="x_OWAAutoLink" title="Original URL: http://www.t-kartor.com/. Click or tap if you trust this link." rel="noopener noreferrer" style="margin-top: 0px; margin-bottom: 0px;" originalsrc="http://www.t-kartor.com/" data-ogsc="" data-linkindex="1" data-auth="NotApplicable">www.t-kartor.com</a></span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: "Segoe UI", "Segoe UI Web (West European)", -apple-system, "system-ui", Roboto, "Helvetica Neue", sans-serif, serif, EmojiFont; font-size: 8pt; color: rgb(36, 36, 36);"><br>
</span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: "Open Sans", sans-serif, serif, EmojiFont; font-size: 11pt; color: rgb(0, 0, 0); line-height: 17.6px;"><img id="x_x_x_x_image_0" style="width: 182px; height: 32px; max-width: 780px; min-width: auto; min-height: auto; margin: 0px;" data-ogsc="" width="182" height="32" data-outlook-trace="F:5|T:5" src="cid:465b82b6-444d-4563-8536-8b9cd3b0e8df"></span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif, serif, EmojiFont; font-size: 8pt; color: rgb(102, 102, 102); line-height: 17.6px;"><i>This e-mail is private and confidential between the sender and the
addressee. In the event of misdirection, the recipient</i></span></p>
<p style="text-align: left; text-indent: 0px; line-height: 19.2px; background-color: rgb(255, 255, 255); margin: 0px;" class="elementToProof">
<span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif, serif, EmojiFont; font-size: 8pt; color: rgb(102, 102, 102); line-height: 17.6px;"><i>is prohibited from using, copying or disseminating it or any information
in it. Please notify the above of any such misdirection.</i></span></p>
</div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
</div>
</body>
</html>