[gdal-dev] ISCE raster changes from BIL to BIP after gdal_translate
Even Rouault
even.rouault at spatialys.com
Thu Sep 23 17:05:27 PDT 2021
Scott,
due to the Abstraction word in GDAL , doing a gdal_translate in the same
format doesn't automatically applies the characteristics from the input
dataset to the output one, because in general you translate into a
different format, or if it is in the same format, you may apply options
to gdal_translate that could invalidate the characteristics of the input
dataset. So to do what you want, you need to write a specialized code.
You would need to create a CreateCopy() implementation in the ISCE
driver that fetches from the source dataset the original scheme (it
would have to be expose as a INTERLEAVING metadata item in the ISCE
metadata domain for example), and uses that to force the SCHEME creation
option.
https://github.com/OSGeo/gdal/blob/master/gdal/frmts/raw/ehdrdataset.cpp#L1811
would probably be the closest starting point.
But you may also need the logic at
https://github.com/OSGeo/gdal/blob/master/gdal/frmts/pds/pds4dataset.cpp#L4477
to extract the source dataset from the in-memory VRT created by
gdal_translate if applying for example a subsetting option.
Even
Le 24/09/2021 à 01:45, Scott Staniewicz a écrit :
> I've got a 2 band, band-interleaved-line file gendered from the ISCE
> software. I was doing some subsetting of it with gdal_translate, and I
> noticed that the format got changed to BIP:
>
>
>
> $ ls
> 20130719_20150427.unw 20130719_20150427.unw.vrt
> 20130719_20150427.unw.xml
>
> $ grep -i -n3 scheme 20130719_20150427.unw.xml
> 96- <value>2</value>
> 97- <doc>Number of image bands.</doc>
> 98- </property>
> 99: <property name="scheme">
> 100- <value>BIL</value>
> 101: <doc>Interleaving scheme of the image.</doc>
> 102- </property>
> 103- <property name="width">
> 104- <value>586</value>
>
> After running gdal_translate, the format has changed to BIP:
>
> $ gdal_translate 20130719_20150427.unw test.unw -of ISCE
> Input file size is 586, 882
> 0...10...20...30...40...50...60...70...80...90...100 - done.
> (mapping) [scott at grace gdal-translate-bug]$ grep -i -n3 scheme
> test.unw.xml
> 11- <property name="DATA_TYPE">
> 12- <value>FLOAT</value>
> 13- </property>
> 14: <property name="SCHEME">
> 15- <value>BIP</value>
> 16- </property>
> 17- <property name="BYTE_ORDER">
>
>
> I'm assuming it's related to this line for creating a dataset with
> default BIP:
>
> https://github.com/OSGeo/gdal/blob/master/gdal/frmts/raw/iscedataset.cpp#L839
> <https://github.com/OSGeo/gdal/blob/master/gdal/frmts/raw/iscedataset.cpp#L839>
>
> But I'm not familiar enough with the gdal_translate code to know where
> the options are getting generated and passed here.
> Any advice on where might be a good place to fix the ISCE raster
> generation?
>
> Thanks,
> Scott
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20210924/c171e51b/attachment.html>
More information about the gdal-dev
mailing list