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)
follow-up: 2 comment:1 by , 8 years ago
comment:2 by , 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.
follow-up: 5 comment:3 by , 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.
follow-up: 6 comment:4 by , 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).
follow-up: 7 comment:5 by , 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).
follow-up: 8 comment:6 by , 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 can cover all the 3 types of Coverages.
comment:7 by , 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.
comment:8 by , 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.
follow-up: 10 comment:9 by , 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.
comment:10 by , 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 , 8 years ago
Resolution: | → fixed |
---|---|
Status: | new → 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,
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.