Git Product home page Git Product logo

masterdatacube's People

Contributors

stefanbrand avatar ungarj avatar

Stargazers

 avatar

Watchers

 avatar  avatar

masterdatacube's Issues

Tilematrix/Mapchete UTM32N and basically any UTM zone

Grids covering the whole UTM stripe from equator to almost poles and from left projection bounds rounded to the nearest eastling of 10[m] resolution to match Sentinel-2 pixel grid. (UTM North projection definition projected Bounds: 166021.4431, 0.0000, 833978.5569, 9329005.1825)

  • 10[m] resolution at zoom9
  • buffer of 50[km] meters below equator (the Sentinel-2 Scenes in UTM North go lower than equator so let's give it some more space)
GridDefinition(
    grid=None,
    shape=[8, 1],
    bounds=[166020.0, -50000, 1476740, 10435760],
    srs={"epsg": 32632},
    is_global=False
)

Zoom0 tiles over the whole grid
Screenshot from 2020-05-29 10-54-26

Sentinel-2 Scene in UTM-32 with zoom9 tile edge fitting the 10[m] pixel grid:
Screenshot from 2020-05-29 10-46-57

50[km] buffer below equator
Screenshot from 2020-05-29 10-54-39

Never-ending/FAILED requests

I cancelled this request after almost 4 days:

'id': '4293b3d0-afba-4df3-b7c9-6b0ed9725ea4',
'processRequest': {'input': {'bounds': {'bbox': [16.446445736463346,
    47.680841561177864,
    16.49776618971013,
    47.72587417451863],
   'geometry': None,
   'properties': {'crs': 'http://www.opengis.net/def/crs/OGC/1.3/CRS84'}},
  'data': [{'location': 'AWS:eu-central-1',
    'dataFilter': {'timeRange': {'from': '2017-09-01T00:00:00Z',
      'to': '2018-11-30T00:00:00Z'},
     'mosaickingOrder': 'mostRecent',
     'maxCloudCoverage': 100.0},
    'processing': None,
    'tileList': None,
    'id': None,
    'type': 'S2L2A'}]},
 'output': {'width': None,
  'height': None,
  'resx': None,
  'resy': None,
  'responses': [{'identifier': 'B02', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B03', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B04', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B05', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B06', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B07', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B08', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B8A', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B11', 'format': {'type': 'image/tiff'}},
   {'identifier': 'B12', 'format': {'type': 'image/tiff'}},
   {'identifier': 'NDVI', 'format': {'type': 'image/tiff'}},
   {'identifier': 'GNDVI', 'format': {'type': 'image/tiff'}},
   {'identifier': 'BNDVI', 'format': {'type': 'image/tiff'}},
   {'identifier': 'CVI', 'format': {'type': 'image/tiff'}},
   {'identifier': 'NDSI', 'format': {'type': 'image/tiff'}},
   {'identifier': 'NDWI', 'format': {'type': 'image/tiff'}}]},
 'dataProduct': None,
[...]
 'tilingGridId': 0,
[...]
 'status': 'PROCESSING',
 'userAction': 'CANCEL',
[...]
 'resolution': 10.0,
[...]
 'created': '2020-04-24T08:33:09.632Z',
 'valueEstimate': 8519.558595300987,
 'tileCount': 1,
 'tileWidthPx': 2004,
 'tileHeightPx': 2004}

Can I get output in other CRS than UTM?

The crs parameter doesn't seem to influence the output CRS. The result of the Batch API is always in UTM.

"processRequest": {
  "input": {
    "bounds": {
      "bbox": [],
      "geometry": {},
      "properties": {
        "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
      }
    },
   "data": []
  },
  "output": {},
  "evalscript": "string"
},

Also the documentation specifically mentions UTM, but doesn't talk about other CRS.

Note that the processing results might be in different UTM zones (and thus different CRSs) if your area of interest intersects with more than one UTM zone.

The tilingGridId parameter also doesn't affect output CRS.

Alternatives to polling from Jupyter Lab

Polling in an interactive Python notebook is probably not the best idea. During polling, which can take hours, the notebook is busy and interactivity is gone. There must be better ways to do this.

I want to retrieve the total execution time of my request. Ideally the REST response schema for a Request ID would contain two elements:

  • dateCreated and
  • dateFinished

This way execution time could be retrieved at any point in the future (as long as the request is stored server-side).

Besides, the oauth2 token expires after 1 hour and has to be refetched periodically. Also, I'm dependent on my computer not going to stand-by. The Jupyter Lab tab has to be open at all times.

Exact tiling grid definition unknown

In order to compare performance with existing tools, the exact definition of the tiling grids used in Sentinel Hub Batch API is relevant information. Below is a table of available tiling grids:

grafik
Source

One input band results in empty output

If I specify only one input band, the result is empty (all pixels contain value 0). If I run the same request with two input bands, output is as expected (pixels populated with real values).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.