#5697 closed enhancement (fixed)
Creation of GMLJP2 files with JP2OpenJPEG following INSPIRE TG on orthoimagery
Reported by: | phasenohr | Owned by: | Even Rouault |
---|---|---|---|
Priority: | normal | Milestone: | 2.0.0 |
Component: | GDAL_Raster | Version: | unspecified |
Severity: | normal | Keywords: | |
Cc: |
Description
It would be a very useful feature in GDAL to be able:
- to create GMLJP2 data sets which conform to the requirements and recommendations contained in the Annex E.3 of the INSPIRE Technical Guidelines on orthoimagery (document D2.8.II.3 Data Specification on Orthoimagery - Technical Guidelines available at http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_OI_v3.0.pdf)
- to check the conformity of a GMLJP2 file against the specifications of Annex E.3 of the INSPIRE TG on orthoimagery.
Change History (38)
follow-up: 2 comment:1 by , 10 years ago
comment:2 by , 10 years ago
Replying to jratike80:
Are you aware of some issues with reaching INSPIRE requirements with OpenJPEG driver?
They may not necessarily be linked with the OpenJPEG driver. For example, currently it is not possible to create files with a number of bands different from 1 or 3 (#5695). The TG place additional constraints (identified as requirements or recommendations in the document) to the structure of the file: e.g. all bands must be of the same type, the alpha band must be used only as a binary transparency mask, no ROI allowed, precincts to be used. On top of that comes a specific requirement regarding the use of the JP2 markers (which may well be matching the way it is already done, I don't know.)
Do you know how to fulfill them with the GDAL JP2KAK driver or with the kdu_compress demo utility? If you point where to look I can perhaps make some tests.
I do not have any experience with kakadu. GDAL + OpenJPEG + INSPIRE is something I feel is important to make the creation of INSPIRE conformant orthoimages easier for a large community (no need for a 3rd party licence and some other INSPIRE themes propose the use of GMLJP2).
comment:3 by , 10 years ago
By reading annex E.3 the technical requirements does not seem to contain anything special and I believe that OpenJPEG driver creates compliant JPEG2000 files with 1 and 3 bands. However, by reading the specifications it is not so easy to be sure. It would be very nice if the INSPIRE working group could make a set of official reference images for each type listed in the document:
"following types are addressed: bilevel, greyscale, palette-colour, full-colour images (known as RGB images) and multispectral images. So the image data of a JPEG 2000 file can contain either 1 (bilevel, greyscale and palette-colour), 3 bands (RGB) or more bands (multispectral images). An additional band for opacity may also be used."
First part of this ticket is that GDAL should be able to create INSPIRE compliant datasets (why to limit it to GMLJP2 when "plain JPEG2000" with GeoJP2 (tm) uuid box is as well accepted). As a ticket I think this is rather wide one. It would be best to investigate and find out cases when GDAL fails in making a compliant result and create one ticket per issue. This enhancement ticket could have links those well defined issues.
Another part of ticket suggest to make an INSPIRE compliance checker utility. I feel that, despite being useful for us who have to deal with INSPIRE, it does not belong to the scope of GDAL. Vast amounts of totally valid JPEG2000 images are not INSPIRE compliant. I would say that the INSPIRE orthoimagery working group should rather make such a tool (perhaps with GDAL) and make it downloadable from the INSPIRE web site http://inspire.ec.europa.eu/
What we could have is a Best practice document for INSPIRE compliant orthophotos in the GDAL wiki. Basically if would contain correct gdal_translate parameters for each JPEG2000 driver and image type: bilevel, greyscale, palette-colour, full-colour, and multispectral.
comment:4 by , 9 years ago
Component: | default → GDAL_Raster |
---|---|
Milestone: | → 2.0 |
Owner: | changed from | to
comment:5 by , 9 years ago
follow-up: 7 comment:6 by , 9 years ago
May I ask if you are testing the right thing with # Error case: too big tile?
Inspire guidance says:
Internal tiling JPEG 2000 allows internal tiling within the codestream. Profile 1 of ISO 15444 - 1 already requires no tiling (i.e. the image = 1 tile) or tiling with tiles size bigger than 1024x1024 pixels. There is no further requirement
comment:7 by , 9 years ago
Replying to jratike80:
May I ask if you are testing the right thing with # Error case: too big tile?
Inspire guidance says:
Internal tiling JPEG 2000 allows internal tiling within the codestream. Profile 1 of ISO 15444 - 1 already requires no tiling (i.e. the image = 1 tile) or tiling with tiles size bigger than 1024x1024 pixels. There is no further requirement
I believe it's an error in the TG. It should read "tiles size NO bigger than". Table A-45 of "http://www.astro.cornell.edu/~carcich/LRO/jp2/ISO_JPEG200_Standard/INCITS+ISO+IEC+15444-1-2000+AM1-2002.pdf" shows a <= 1024 test. The purposes of the restricted profiles is to not require too much complication from "basic" readers, so asking for a minimum tile size doesn't make sense (although I'm not sure how a single tile >> 1024 would be much better...)
comment:8 by , 9 years ago
All right. NITF, if I remember right, has also max. limit at 1024x1024. With Kakadu library the bigger tiles the better if reasonable progression order and good set of precincts are used. With lossy compression there tends to come artifacts at the seems of the tiles. However, some JPEG2000 libraries can be hopeless with big tiles or no tiles at all with a typical sized geospatial images.
comment:9 by , 9 years ago
comment:10 by , 9 years ago
comment:12 by , 9 years ago
comment:13 by , 9 years ago
comment:14 by , 9 years ago
comment:15 by , 9 years ago
comment:16 by , 9 years ago
comment:17 by , 9 years ago
comment:18 by , 9 years ago
comment:19 by , 9 years ago
comment:20 by , 9 years ago
comment:21 by , 9 years ago
comment:23 by , 9 years ago
comment:26 by , 9 years ago
comment:28 by , 9 years ago
comment:30 by , 9 years ago
comment:31 by , 9 years ago
comment:32 by , 9 years ago
r28774 "validate_jp2.py: correctly deal with multi-band OrthoimageryCoverage document (#5697)"
comment:33 by , 9 years ago
comment:34 by , 9 years ago
comment:35 by , 9 years ago
comment:36 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:37 by , 9 years ago
r29210 "GMLJP2: write non null bounding box at root of FeatureCollection (#5697)"
Are you aware of some issues with reaching INSPIRE requirements with OpenJPEG driver? Do you know how to fulfill them with the GDAL JP2KAK driver or with the kdu_compress demo utility? If you point where to look I can perhaps make some tests.