GithubHelp home page GithubHelp logo

mapreadydocker's Introduction

Dockerized MapReady

GOAL

Compile ASF MapReady using a modern Docker Base Image

Docker Base

Method

Mostly trial and error, googling gcc / make / cmake errors, and a little luck.

Specific Dependencies

I think most of the problems centered around finding versions that worked with Proj < 6.0. This is likely the source of most of the build failures reported in issues.

This was a big one. There is an implicit dependancy in MapReady to an internal header file in proj. This header was deprecated after version 4, but not removed until version 6.

I needed version of libgeotiff that was old enough to work with the ancient version of prof, but new enough that it had all the cmake architecture and pkgconfig support. Also, it had to be libgeotiff version < 1.5 when PJ_CONTEXT was introduced, causing Issue #505.

gsl v2.1

IIRC, nothing special here. This one sort of work out of the box and didn't require tinkering

gdal v2.1.2

gdal needs to be old enough to be compatible with ancient versions of proj. There may have also been some dependencie from MapReady itself that I'm not recalling.

shapelib v1.3.0

Not much to be said about this.

LOTS of fumbling around here because both MapReady issues 498 and 505 seem to suggest an incompatible version of hdf5. In the end, the newest version worked just fine.

I think there was some problem with newer version, but I don't recall the specifics.

Build Tools:

Usage

# Pull public image from GitHub Container Registry
docker run -it ghcr.io/asfadmin/mapready:v1.1.1

# Do MapReady Stuff
[root@43b365c2b259 /]# /usr/local/bin/asf_import 

Usage:
   asf_import [-amplitude | -sigma | -gamma | -beta | -power] [-db]
              [-format <inputFormat>] [-ancillary-file <file>]
              [-colormap <colormap_file>] [-band <band_id | all>]
              [-no-ers2-gain-fix] [-image-data-type <type>] [-lut <file>]
              [-lat <lower> <upper>] [-prc] [-log <logFile>]
              [-quiet] [-real-quiet] [-license] [-version] [-multilook]
              [-azimuth-look-count <looks>] [-range-look-count <looks>]
              [-azimuth-scale[=<scale>] | -fix-meta-ypix[=<pixsiz>]]
              [-range-scale[=<scale>] [-complex] [-metadata <file>]
              [-interferogam <file>] [-coherence <file>] [-slave <file>]
              [-baseline <file>] [-cpx_gamma <file>] [-line <start line subset>]
              [-sample <start sample subset>] [-width <subset width>]
              [-height <subset height>] [-uavsar <type>]
              [-subset <latUL> <lonUL> <latLR> <lonLR>] [-help]
              <inBaseName> <outBaseName>

Caveats

This code is old, the original repo hasn't seen activity in years.

There is lots more clean-up to do

Does it do what its supposed to? Did anything change? 🤷‍♂️

Good Luck!

mapreadydocker's People

Contributors

asjohnston-asf avatar bbuechler avatar

Watchers

 avatar  avatar  avatar  avatar  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.