This might be tricky, because JPEG2000 itself has a concept of a image
space origin which is not necessarily (0,0) with the (XOSiz, YOSiz)
fields of the SIZ marker, although most of the time it is 0,0. I don't
remember how the GDAL JPEG2000 drivers behave regarding that, if they
ignore it (that is the GDAL 0,0 pixel is the one at (XOSiz,YOSiz)), of
if the first valid pixel in GDAL image space is actually (XOSiz, YOSiz)
and you have padding pixels between 0 and XOSiz/YOSiz.
You can get the XOSiz, YOSiz value with the
https://github.com/OSGeo/gdal/blob/master/swig/python/gdal-utils/osgeo_utils/samples/dump_jp2.py
script
Depending on how drivers behave, the combination of this JPEG2000
imaging (XOSiz, YOSiz) concept with the gml:low shift from GMLJP2 might
actually cancel and lead to the right result...
In any case data producers are calling for troubles by using any of
those mechanisms...
Le 29/03/2024 à 09:45, Philippe Ghesquiere via gdal-dev a écrit :
Hi all,
I have some questions about GMLJP2 parameters concerning location.
*1) Description
*Some JP2K images have a pixel origin different than (0 ; 0) (DIMAP
products for example).
In such cases, the GML header looks like like:
<gml:GridEnvelope>
*<gml:low>7 7</gml:low> <========== Different than "0 0"*
<gml:high>1000 1000</gml:high>
</gml:GridEnvelope>
This origin coordinate should be taken into account for pixel location
(See OGC 05-047r3 p93):
<element name="startPoint" type="gml:integerList" minOccurs="0">
<annotation>
<documentation>
Index position of the first grid post, which
shall lie somwhere in the GridEnvelope. If absent, the
startPoint is equal
to the value of gridEnvelope::low from the grid definition.
</documentation>
</annotation>
</element>
It seems that this offset is not taken into account by GDAL location
function.
*2) How to reproduce*
2.1) Data creation
Reference (no offset) image:
gdal_create -of JP2OpenJPEG -co GMLJP2=YES -outsize 100 100 -bands 3
-burn 0 -burn 255 -burn 0 -a_srs epsg:32632 -a_ullr 500000 500100
500100 500000 Offset_0.jp2
Image with offset:
sed s/"<gml:low>0 0"/"<gml:low>7 7"/g Offset_0.jp2 > Offset_7.jp2
2.2) Location test
echo "0 0" | gdaltransform Offset_0.jp2 Offset_7.jp2
0 0 0
*3) Question:*
Shouldn't we have a 7 pixels offset between the 2 images
Cheers
Philippe
The information in this e-mail is confidential. The contents may not
be disclosed or used by anyone other than the addressee. Access to
this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus
immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or
completeness of this e-mail as it has been sent over public networks.
If you have any concerns over the content of this message or its
Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated
virus scanning software but you should take whatever measures you deem
to be appropriate to ensure that this message and any attachments are
virus free.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev