Opened 8 years ago

Closed 8 years ago

#1364 closed defect (fixed)

WCST_Import_Create gml for GridCoverage

Reported by: Bang Pham Huu Owned by:
Priority: major Milestone: 9.3
Component: wcst_import Version: development
Keywords: wcst_import grid coverage Cc: Dimitar Misev, Vlad Merticariu, Alex Dumitru
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 by Bang Pham Huu, 8 years ago

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.

in reply to:  1 comment:2 by Dimitar Misev, 8 years ago

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 by Vlad Merticariu, 8 years ago

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 by Vlad Merticariu, 8 years ago

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 8 years ago by Vlad Merticariu (previous) (diff)

in reply to:  3 ; comment:5 by Bang Pham Huu, 8 years ago

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).

in reply to:  4 ; comment:6 by Bang Pham Huu, 8 years ago

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 now cover all the 3 types of Coverages.

Version 0, edited 8 years ago by Bang Pham Huu (next)

in reply to:  5 comment:7 by Vlad Merticariu, 8 years ago

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.

in reply to:  6 comment:8 by Vlad Merticariu, 8 years ago

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 by Alex Dumitru, 8 years ago

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.

in reply to:  9 comment:10 by Vlad Merticariu, 8 years ago

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 by Bang Pham Huu, 8 years ago

Resolution: fixed
Status: newclosed

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.