Skip to content
This repository has been archived by the owner on Aug 29, 2023. It is now read-only.

Cannot perform coregistration with Land Cover dataset #804

Open
HelenClifton opened this issue Nov 1, 2018 · 3 comments
Open

Cannot perform coregistration with Land Cover dataset #804

HelenClifton opened this issue Nov 1, 2018 · 3 comments
Assignees

Comments

@HelenClifton
Copy link

Expected behavior

@forman @JanisGailis Expect to be able to coregister Land Cover dataset with other datasets

Actual behavior

1. Using Land Cover as master dataset

Invalid input message is displayed:
Oops, cate couldn't carry out the request Executing operation "coregister" because:
The master dataset grid is not equidistant, can not perform coregistration

Example traceback :

Traceback (most recent call last):
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\util\web\jsonrpchandler.py", line 209, in send_service_method_result
result = future.result()
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\concurrent\futures_base.py", line 425, in result
return self.__get_result()
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\concurrent\futures_base.py", line 384, in __get_result
raise self._exception
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\concurrent\futures\thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\util\web\jsonrpchandler.py", line 306, in call_service_method
result = method(*method_params, monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\webapi\websocket.py", line 292, in set_workspace_resource
monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\wsmanag.py", line 320, in set_workspace_resource
workspace.execute_workflow(res_name=res_name, monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\workspace.py", line 662, in execute_workflow
self.workflow.invoke_steps(steps, context=self._new_context(), monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\workflow.py", line 632, in invoke_steps
step.invoke(context=context, monitor=monitor.child(work=1))
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\workflow.py", line 318, in invoke
self._invoke_impl(_new_context(context, step=self), monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\workflow.py", line 980, in _invoke_impl
return_value = self._op(monitor=monitor, **input_values)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\op.py", line 216, in call
return_value = self._wrapped_op(**input_values)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\ops\coregistration.py", line 129, in coregister
' coregistration'.format(array[0]))
cate.core.types.ValidationError: The master dataset grid is not equidistant, can not perform coregistration

2. Using Land Cover as slave dataset

Invalid input message is displayed:
Oops, cate couldn't carry out the request Executing operation "coregister" because:
The slave dataset grid is not equidistant, can not perform coregistration

Example traceback :

Traceback (most recent call last):
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\util\web\jsonrpchandler.py", line 209, in send_service_method_result
result = future.result()
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\concurrent\futures_base.py", line 425, in result
return self.__get_result()
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\concurrent\futures_base.py", line 384, in __get_result
raise self._exception
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\concurrent\futures\thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\util\web\jsonrpchandler.py", line 306, in call_service_method
result = method(*method_params, monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\webapi\websocket.py", line 292, in set_workspace_resource
monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\wsmanag.py", line 320, in set_workspace_resource
workspace.execute_workflow(res_name=res_name, monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\workspace.py", line 662, in execute_workflow
self.workflow.invoke_steps(steps, context=self._new_context(), monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\workflow.py", line 632, in invoke_steps
step.invoke(context=context, monitor=monitor.child(work=1))
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\workflow.py", line 318, in invoke
self._invoke_impl(_new_context(context, step=self), monitor=monitor)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\workflow.py", line 980, in _invoke_impl
return_value = self._op(monitor=monitor, **input_values)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\core\op.py", line 216, in call
return_value = self._wrapped_op(**input_values)
File "C:\Users\HClifton\cate-2.0.0.dev20\lib\site-packages\cate\ops\coregistration.py", line 129, in coregister
' coregistration'.format(array[0]))
cate.core.types.ValidationError: The slave dataset grid is not equidistant, can not perform coregistration

Steps to reproduce the problem

  1. Download / open esacci.LC.5-yrs.L4.LCCS.multi-sensor.multi-platform.Map.1-6-1.r1
  2. Download / open other dataset
  3. Select coregistration operation, select master and slave datasets and use default parameters.

Specifications

cate-2.0.0-dev.20
Windows 7 Professional

@forman
Copy link
Member

forman commented Nov 30, 2018

@JanisGailis the LC dataset should be equirectangular WGS-84, so it should be equidistant.

@JanisGailis
Copy link
Member

Yes, it is, I checked this quickly. This seems to be due to floating point precision, a single LC pixel is a rounding error for the other dataset. It should be possible to solve this by checking for lat/lon lengths and doing things differently if one of the datasets is on a very fine grid.

@JanisGailis
Copy link
Member

It's a shame that we got a working LC dataset into the portal and started testing with it so late in the process.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants