EOX GitLab Instance

Skip to content

WCS: replacing MapServer with a GDAL/rasterio based solution

Reasons:

  • Bigger results: MapServer does only in-memory, everything bigger fails, sometimes not even with an exception, but with a memory overflow crash -> documented in https://github.com/EOxServer/eoxserver/issues/523
  • data-types: MapServer only has a subset of the data types supported by GDAL (Byte, Int16, Float)
  • debuggability: MapServer is very hard to impossible to debug. Splitting the steps into Python code makes it easier to change things
  • patchability: MapServer is basically a black box. if an issue arises it is hard to get a fix into the system
  • error reporting: MapServer errors can be very non-descriptive. Only a single Exception is raised and must be plucked out of an already rendered response
  • (performance: it might be possible to improve performance by introducing multi-threaded code. But performance impacts are expected to be negligible)
  • MapServer use forces us to use single threaded workers

How:

  • Decide on whether to use GDAL or rasterio
  • Decide on building an external library or a solution within EOxServer
  • Design solution