SlitherGrid is an open source toolkit for geospatial raster data processing written in the Python Programming Language. Its focus is on non-traditional raster data (LIDAR, elevation rasters, and other “non-optical” raster datasets). The toolkit is currently in a conceptual stage, although there is preliminary source code available on the SurveyOS Project SVN code repository.
The immediate design goals of the SlitherGrid Toolkit are:
- Pure Python implementation with no dependencies on C programming language libraries.
- Ease of use.
- Support for basic raster processing operations on 2D raster data grids.
- Support for basic GIS and land surveying data formats.
- Pluggable software architecture that supports easy customization. This includes (1) the addition of support for additional raster and vector data formats, and (2) the addition of additional raster processing algorithms and tools.
- Built-in geospatial functionality. (The grids aren’t just simple arrays of numeric values. They support geospatial opertaions.)
The long term design goals of Slither Grid Toolkit are:
- Support for multi-threading.
- Support for 3D raster data grids.
Conceptual Toolkit Architecture Summary
The conceptual code of the toolkit is currently organized into four (4) Python modules. Grid.py contains all of the classes for simple 2D raster data grids. (These are called “SlitherGrids”). Geomtry.py contains utility geometry classes used to represent coordinates, angles, and simple vector geometry. GridIO.py contains classes that support basic file input/output, allowing the user to create 2D grids from common raster data formats. GridPainter.py contains classes that can take a 2D raster grid and paint, or render it, to common image file formats for visualization.