Giter VIP home page Giter VIP logo

arcrasterrescue's Introduction

ArcRasterRescue

Seeking someone knowledgeable in the ways of crafting GDAL drivers to help with that part of the effort.

The enclosed program extracts (rescues!) raster data from an ArcGIS File Geodatabase into a GeoTIFF file.

List the numbers and names of rasters in the geodatabase using

./arc_raster.exe <path/to/geodatabase.gdb/>

Extract to a GeoTIFF using

./arc_raster.exe <path/to/geodatabase.gdb/> <RASTER NUM> <OUTPUT FILE>

The geodatabase path must end with a slash!

Requirements

Compilation

To compile run:

make

Edit the makefile to include the -DEXPLORE flag to print additional information useful for development to stderr as the program runs.

An executable called arc_raster.exe is produced.

TODO

  • Turn this into a GDAL driver.

*Improve endian checking.

*Check for other kinds of compressions.

*Improve calculation of raster dimensions.

*Improve geotransform calculations.

*Switch some identification strings to ENUM values so things run quicker

Credits

  • Even Roualt did much of the work figuring out the FileGeodatabase specification. His notes are here and a program he wrote for extractin FGDB data is here.

  • James Ramm did some exploratory work that resulted in determining that the raster data (at least in cases he tested) had been compressed using zlib. (Link)

  • Richard Barnes converted code by Even Roualt into C++ as a base for Arc Raster Rescue and, starting from some notes by James Ramm, continued deciphering the format. He reorganized the code extensively to increase its modularity, determined how to connect the various raster tables together, drafted geotransform and WKT projection extraction capabilities, determined how data types were specified, and produced a working executable to extract raster data into GeoTIFFs. He also wrote this paragraph. :-)

arcrasterrescue's People

Contributors

r-barnes avatar

Watchers

 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.