A python library that generates fake geospatial data
Project description
A python library that generates simple OSGeo-supported rasters and vectors. The primary purpose for this library is to help test geoprocessing functions.
Free software: BSD license
Documentation: https://fauxgeo.readthedocs.org.
Requirements
fauxgeo 0.1.1 requires
NumPy
GDAL
affine == 1.0
Installation
pip install fauxgeo
Features
Raster Class
TestRaster Class
RasterFactory Class
Usage
The Raster Class
raster = Raster('path/to/geotiff')
raster.uri # equals '/path/to/geotiff'
raster.get_band(1) # returns 2d numpy array
raster.get_bands() # returns 3d numpy array
raster.get_nodata() # returns nodata value
raster.shape() # returns 2-tuple (rows, cols)
The TestRaster Class
import numpy as np
from affine import Affine
import gdal
# set arguments
array = np.ones((3, 3))
affine = Affine.identity()
proj = 4326
datatype = gdal.GDT_Float64
nodata_val = -9999.0
# uses tempfile to create temporary file
test_raster = TestRaster(array, affine, proj, datatype, nodata_val)
# same functions as Raster class
raster.get_band(1) # returns 2d numpy array
raster.get_bands() # returns 3d numpy array
raster.get_nodata() # returns nodata value
raster.shape() # returns 2-tuple (rows, cols)
del test_raster # cleans up temporary file on object deletion or program exit
The RasterFactory Class
from affine import Affine
import gdal
# set arguments
shape = (3, 3)
affine = Affine.identity()
proj = 4326
datatype = gdal.GDT_Float64
nodata_val = -9999
# initialize factory
factory = RasterFactory(proj, datatype, nodata_val, shape[0], shape[1], affine=affine)
# create test rasters
test_raster_1 = factory.uniform(5) # returns raster with 1 band filled with 5's
test_raster_2 = factory.alternating(0, 1)
test_raster_3 = factory.random()
test_raster_4 = factory.horizontal_ramp(1, 10) # interpolated from 1 to 10 across columns
Tests
python setup.py test
Planning
Add basic visualization functionality
Add Vector, TestVector, and VectorFactory classes
Add sample/default arguments for Raster classes to simplify raster creation
Notes
Look into object deletion depending on scope
History
0.1.1 (2015-03-15)
Raster, TestRaster, and RasterFactory classes added
0.1.0 (2015-01-21)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.