#1364 closed defect (fixed)

WCST_Import_Create gml for GridCoverage

Reported by: bphamhuu Owned by:
Priority: major Milestone: 9.3
Component: wcst_import Version: development
Keywords: wcst_import grid coverage Cc: dmisev, vmerticariu, mdumitru
Complexity: Medium

Description

current, according to Vlad, wcst_import only can create GML for 2 types of coverage (RectifiedGrid? and RefererenceableGrid?). The problem is with non-georeferenced coverage like: mr, rgb or float_4d it will create GML for a coverage in RectifiedGrid?, which is not correct with the type of coverage's definitions:

+ GridCoverage: a regular, equispaced grid which is not spatially referenced (like a raster image which has no geo coordinates associated)
+ RectifiedGridCoverage: a regular, equispaced grid which is spatially referenced (like a satellite image which does have geo coordinates associated)
+ ReferenceableGridCoverage: a grid which is not necessarily equispaced (like satellite image time series where images do not arrive at regular time intervals, or curvilinear grids following river estuaries)

here is the compare between the RectifiedGrid? (mr) using by wcst_import and Grid (double_1d) using rasimport.

https://www.diffchecker.com/cdwfz73q

Vlad also proposed to have an option in ingredient file ("grid_coverage": true/false) then in wcst_import it can know where a coverage is GridCoverage? to generate correctly GML file.

Change History (11)

comment:1 follow-up: Changed 13 months ago by bphamhuu

I think the option "grid_coverage" can be eased just by checking the CRS which is used to import coverage. If it is IndexND then it is the GridCoverage?.

comment:2 in reply to: ↑ 1 Changed 13 months ago by dmisev

Replying to bphamhuu:

I think the option "grid_coverage" can be eased just by checking the CRS which is used to import coverage. If it is IndexND then it is the GridCoverage?.

Agreed.

comment:3 follow-up: Changed 13 months ago by vmerticariu

Sorry, but this is not according to the implementation. A RectifiedGridCoverage? can have all its axis of type Index and still be geo-referenced.

comment:4 follow-up: Changed 13 months ago by vmerticariu

Also, mr and rgb should stay RectifiedGridCoverages?, as discussed. Otherwise we end up testing on GridCoverages? only, even though in practice nobody uses them (only Rectified and Refereceable appear).

Last edited 13 months ago by vmerticariu (previous) (diff)

comment:5 in reply to: ↑ 3 ; follow-up: Changed 13 months ago by bphamhuu

Replying to vmerticariu:

Sorry, but this is not according to the implementation. A RectifiedGridCoverage? can have all its axis of type Index and still be geo-referenced.

yes, it is correct, sorry for not elaborating more. I meant, if the crs is used only IndexND then it is GridCoverage?. If it is compoundCRS like 1=EPSG:4326&2=IndexND then it is belonged to other cases (as it is doing correct now in wcst_import).

comment:6 in reply to: ↑ 4 ; follow-up: Changed 13 months ago by bphamhuu

Replying to vmerticariu:

Also, mr and rgb should stay RectifiedGridCoverages?, as discussed. Otherwise we end up testing on GridCoverages? only, even though in practice nobody uses them (only Rectified and Refereceable appear).

we have a RectifiedGridCoverage? named mean_summer_airtemp (it is 2D, CRS: 4326) then the test cases can cover all the 3 types of Coverages.

Last edited 13 months ago by bphamhuu (previous) (diff)

comment:7 in reply to: ↑ 5 Changed 13 months ago by vmerticariu

Replying to bphamhuu:

Replying to vmerticariu:

Sorry, but this is not according to the implementation. A RectifiedGridCoverage? can have all its axis of type Index and still be geo-referenced.

yes, it is correct, sorry for not elaborating more. I meant, if the crs is used only IndexND then it is GridCoverage?. If it is compoundCRS like 1=EPSG:4326&2=IndexND then it is belonged to other cases (as it is doing correct now in wcst_import).

What I said above is that a coverage can have all its axis of type Index and still be of type RectifiedGrid?. Like rgb, for example, which has the crs Index2D, but it is still a RectifiedGridCoverage? because we want to keep its origin in the top left corner, as opposed to bottom left, as is the case for GridCoverages?.

So judging only by CRS doesn't work, please add the option to wcst_import.

comment:8 in reply to: ↑ 6 Changed 13 months ago by vmerticariu

Replying to bphamhuu:

Replying to vmerticariu:

Also, mr and rgb should stay RectifiedGridCoverages?, as discussed. Otherwise we end up testing on GridCoverages? only, even though in practice nobody uses them (only Rectified and Refereceable appear).

we have a RectifiedGridCoverage? named mean_summer_airtemp (it is 2D, CRS: 4326) then the test cases can cover all the 3 types of Coverages.

That's not nearly enough. Please keep rgb and mr as RectifiedGridCoverage? - they cover the cases where the origin is different from the one we use in rasdaman.

comment:9 follow-up: Changed 13 months ago by mdumitru

Where should the option be placed in the ingredients?

I think it would only apply to the general coverage recipes, all the other recipes have an inherent coverage type (e.g. time_series_irregular should always generate referenceable grids). In this case, it should be under the crs option and look something like "type" : "RectifiedGridCoverage?".

One other option, that I would actually prefer is to have a recipe for grid coverages as we are trying to move away from the concept of coverage type in CIS.

comment:10 in reply to: ↑ 9 Changed 13 months ago by vmerticariu

Replying to mdumitru:

Where should the option be placed in the ingredients?

I think it would only apply to the general coverage recipes, all the other recipes have an inherent coverage type (e.g. time_series_irregular should always generate referenceable grids). In this case, it should be under the crs option and look something like "type" : "RectifiedGridCoverage?".

One other option, that I would actually prefer is to have a recipe for grid coverages as we are trying to move away from the concept of coverage type in CIS.

Actually, in my view, moving away from coverage types means not tying them to recipes.

A recipe only tells how the data is assembled. You can build a mosaic that represents a RectifiedGridCoverage? or a GridCoverage? in exactly the same way, why have 2 recipes for that?

I was thinking of a general option, on the same level as "subset_correction".

comment:11 Changed 11 months ago by bphamhuu

  • Resolution set to fixed
  • Status changed from new to closed

this problem was fixed in ticket941 and was accepted, so GridCoverage? will need this property in recipe as from Vlad's support.

"grid_coverage": true,
Note: See TracTickets for help on using tickets.