Open-EO / openeo-geotrellis-extensions

Java/Scala extensions for Geotrellis, for use with OpenEO GeoPySpark backend.
Apache License 2.0
5 stars 3 forks source link

OpenEO batch job failed: Exception during Spark execution: an implementation is missing #242

Closed EmileSonneveld closed 8 months ago

EmileSonneveld commented 8 months ago

Example job: j-231129c1874e416da43266d612f91683 Minimal graph that reproduces this:

{
  "process_graph": {
    "loadcollection1": {
      "process_id": "load_collection",
      "arguments": {
        "bands": [
          "B03",
          "sunAzimuthAngles"
        ],
        "id": "SENTINEL2_L2A",
        "spatial_extent": {
          "crs": 32630,
          "srs": 32630,
          "east": 278551.21116394224,
          "north": 4829145.746240205,
          "south": 4827235.746240205,
          "west": 276641.21116394224
        },
        "temporal_extent": [
          "2021-01-01",
          "2021-01-02"
        ]
      },
      "result": true
    }
  },
  "parameters": []
}

Changing the spatial_extent to different CRS still shows the problem:

{
  "crs": 4326,
  "srs": 4326,
  "east": -5.7428787,
  "north": 43.582377,
  "west": -5.7657222,
  "south": 43.5646292,
}

Unclear how this error got introduced. The fix is probably to implement all methods here: https://github.com/Open-EO/openeo-geotrellis-extensions/blob/68143219e6882dffd0d05a46aaf29e530c0b93a5/openeo-geotrellis/src/main/scala/org/openeo/geotrellis/layers/SentinelXMLMetadataRasterSource.scala#L52

bossie commented 8 months ago

org.openeo.geotrellis.layers.NoDataRasterSource is similar so could be an inspiration.

EmileSonneveld commented 8 months ago

The region in question was valid in 2 UTM zones. ...29 and ...30. In Python, auto_utm_espg gives a different result compared to the catalog. I made the code handle CRS differences for SentinelXMLMetadataRasterSource.