Giter Club home page Giter Club logo

fileout_gdal's Introduction

Updated for version 0.9.4

This handler builds a GeoTiff, JPEG2000, and GMLJP2 responses from 
a DAP data response, with some
caveats. The handler is limited to a single Grid variable and that
Grid must be either a two-dimensional grid or be constrained so that
only two dimensions remain once the constraint is applied.

The handler tests the Grid for a number of properties in addition to
the limitation that it be a 2D grid:

1. It must be a lat/lon grid, that follows CF (or be reasonably close
to following the CF specification).

2. Only two datums are supported: Spherical Earth (EPSG:4047) and
WGS84, although the default can be set from the module's conf file
using the parameter FONg.default_gcs. Any datum that GDAL supports
using a 'well known text' can be given, including EPSG:<num>. See
GDAL for more info.

3. All the GeoTiffs are returned using doubles regardless of the
datatype used for the original grid.

4. Because many datasets use 'missing' or 'no data' values that are
often very small (e.g., -1e-34) and GDAL allocates colors/gray values
so they evenly span the range of values, those missing data values are changed
so that they are closer to (but never overlap) the actual data values.

5. To find the missing data value, the 'missing_value' or '_FillValue'
attribute is used. If neither of those attributes are defined for the
DAP variable, then the scaling is not performed.

6. In the resulting GoeTiff, black is the no data value.

The handler can be extended in a number of ways.

* The handler can be extended to support more bands if the logic for
  RGB or RGBA responses can be sorted out.

* The process used to determine the Geographic coordinate system could
  be extended to more GCSs and also to include map projections.

* Support for Arrays could be added.

* The handler can be used to return other file types like JPEG2000 and
  GMLJP2. To do this, add a new FONgTransmitter class, register it with
  FONgModule and have that class call a new FONgTransformer::transform()
  method.
  
Note: The handler uses three names with BESDEBUG: fong, fong2 and fong3. 
The fong name provides the usual setup feedback for handler registration
at runtime. The names fong2 and 3 provide more detail for runtime debugging.

fileout_gdal's People

Contributors

jgallagher59701 avatar ndp-opendap avatar

Watchers

James Cloos avatar Patrick West avatar James Gallagher avatar Miguel Jimenez avatar  avatar  avatar Dan Holloway avatar  avatar Sam Lloyd avatar  avatar  avatar

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.