GeoExplore is a GIS Library which provides useful utilities for conducting research and analysis of geo-spatial information. In addition, we are currently working on a 3D mapping server which will allow clients to view image data in 3D provided appropriate elevation data exists.
In order to test the API, we are writing a series of applications to serve as useful utilities.
Perform Coordinate conversions and Image conversion.
Coordinate Conversion
geo-convert -c -i -geo-dd:39:-120:0:WGS84 -o -utm
Raster Conversion
geo-convert -r -i image.jpg -o image.png
Extract information from the input source.
The coordinate module contains various utilities and classes to enable conversions between common geographical coordinate systems and types. Below is a list of the current supported systems. More systems will be added as the project matures.
- WGS84
- NAD83
- UTM (Universal Transverse Mercator)
- Geodetic (Latitude/Longitude)
GeoExplore contains an image module which allows users to read, manipulate, and write images.
The basic usage of the module is as such for an image loaded into memory.
Image<PixelRGB_u8> image;
load_image( "foo.jpg", image );
Another module still being designed is the DiskImage class which uses lazy evaluation in conjunction with a read-only driver to handle larger and less robust image files.
Image<PixelGray_d> image;
load_image( "foo.tif", image );
Both of these classes are based on the same Image_ class, but vary on the resource type used to store the pixel data. MemoryResource stores the data locally in contiguous memory like an array. The DiskResource stores the driver, which has the data needed to open the data and pass it when referenced.
In order to handle Input/Output for GeoExplore, a number of drivers have been implemented. Currently the drivers are hacked together in the ImageIO and OGR Driver modules, but eventually, I will create a cohesive standard for implementing drivers.
- Geospatial Data Abstraction Library (GDAL - Image/DEM, OGR - Coordinate)
- OpenCV - Image IO
- NETPBM - Image write (I am writing this as a standard driver model)
From the command-line in the base project directory, run...
./build.sh -m
To install, type...
./build.sh -i
To customize the installation, run the script to see available options.
./build.sh -h
To run unit tests, run the script
./build.sh -t
To see examples of using GeoExplore binaries, see the items in scripts.