Fwd: [gdal-dev] NITF TRE support
Kurt Landrus
klandrus at progeny.net
Wed Nov 19 10:00:46 EST 2008
Ok never-mind, I found the problem was I was using a comma, to delimit
the tre-name and contents, and Franks note indicated an '=' was needed.
The NITF documentation page needs to be updated to reflect this.
Thanks;
Kurt Landrus
Progeny Systems Corp.
klandrus at progeny.net
Office: 703-368-6107 x424
Lab: 703-368-6107 x520
Begin forwarded message:
> From: Kurt Landrus <klandrus at progeny.net>
> Date: November 17, 2008 1:19:20 PM EST
> To: Frank Warmerdam <warmerdam at pobox.com>, gdal-dev at lists.osgeo.org
> Subject: Re: [gdal-dev] NITF TRE support
>
> Ok thanks for your reply. I downloaded the beta, and updated my code
> to use the options in the create fcn.
> I am now getting an error from the driver on the create call, for
> the options.
> I am creating the option with the TRE in the same format as loaded
> using GDAL.
>
> ### saving TRE SENSRA = FSBS2 +35.000000-077.000000B+01200f
> +74.998+000.000+014.996+70.000+009.998010.0N0020.0f075.0+1020m
> ### treContents = TRE=SENSRA,FSBS2 +35.000000-077.000000B
> +01200f
> +74.998+000.000+014.996+70.000+009.998010.0N0020.0f075.0+1020m
> ERROR 1: Could not parse creation options SENSRA,FSBS2
> +35.000000-077.000000B+01200f
> +74.998+000.000+014.996+70.000+009.998010.0N0020.0f075.0+1020m
>
> $ gdalinfo --version
> GDAL 1.6.0beta2, released 2008/11/12
>
> Here is the code snippet where this error occurred.
>
> if (saveOk) {
> // save TRE segments to dataset.
> char *treValue = NULL, *treName = NULL,
> *treContents = NULL;
> char *tre = "TRE_SENSRA";
> char **options = NULL;
>
> parasite = gimp_image_parasite_find (image_ID, tre);
> if (parasite != NULL) {
>
> treValue = (char *) g_strndup(gimp_parasite_data
> (parasite),
> gimp_parasite_data_size
> (parasite));
> gimp_parasite_free (parasite);
> treName = g_strdup(tre+4);
> IFDBG printf( "### saving TRE %s = %s\n",
> treName, treValue);
>
> treContents = g_strconcat(treName, ",",
> treValue, NULL);
> options = CSLSetNameValue( options, "TRE",
> treContents );
> IFDBG printf( "### treContents = %s\n",
> *options);
> }
>
> dataset = GDALCreate( driver, filename, width,
> height, channels,
> GDT_Byte, options );
> if( dataset == NULL ){
> g_warning("NITFview error opening dataset\n");
> saved = FALSE;
> }
>
> Do you have any suggestions why it can't parse the options?
>
> Thanks;
>
> Kurt Landrus
> Progeny Systems Corp.
> klandrus at progeny.net
> Office: 703-368-6107 x424
> Lab: 703-368-6107 x520
>
>
>
> On Nov 13, 2008, at 8:30 PM, Frank Warmerdam wrote:
>
>> Kurt Landrus wrote:
>>> Ok, I was looking through nithfile.c, am I correct in
>>> understanding that the only TRE supported for saving is BLOCKA,
>>> and that each additional TRE needs to be handled
>>> individually?
>>> I need to add support for the following TREs. But I don't really
>>> need to add new SDE headers, but preserve the original values as
>>> read
>>> using GDALGetMetadataItem.
>>> SENSRA
>>> AIMIDB
>>> ACFTB
>>> Is there an easy way to save back an TRE that was read using GDAL
>>> (/0 escaped string)
>>> or should I pull out all the fields from the string, and then
>>> reassemble them in a function as is done for BLOCKA?
>>
>> Kurt,
>>
>> The GDAL trunk code (ie. 1.6 beta2) does include generic support for
>> writing *image* TREs. Each TRE needs to be in the creation options
>> list as an item with TRE=<trename>=<content of tre> and the content
>> must be
>> escaped using the BackslashQuotable scheme.
>>
>> This is exactly the same format the TREs are read into the TRE
>> metadata domain.
>>
>> Currently there is no support for writing file TREs.
>>
>> Best regards,
>> --
>> ---------------------------------------
>> +--------------------------------------
>> I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
>> light and sound - activate the windows | http://pobox.com/~warmerdam
>> and watch the world go round - Rush | Geospatial Programmer for
>> Rent
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20081119/92b0b0ff/attachment-0001.html
More information about the gdal-dev
mailing list