Public API
These are the classes and functions we support being called from outside GeoEco itself. We do our best to document them well and refrain from changing them in ways that would break external callers once they’ve been defined. There are some examples of using these classes and functions here. Some classes also have example code in their class documentation.
Datasets
Classes that provide a common wrapper around tabular and gridded datasets accessible through various software frameworks. These were developed in the 2000s for GeoEco’s internal use and predate more recent, widely-used frameworks that may provide similar functionality with additional features or a more polished interface. When GeoEco was ported to Python 3, we decided to expose these to external callers in case they were useful. While we do not want to discourage you from taking advantage of these classes, if you are building a complex project that must be maintained long-term (rather than a one-off script or scientific analysis), we encourage you to consider similar frameworks that have greater adoption and a robust, well-funded developer community that supports their long-term maintenance.
Base classes that provide a common wrapper around tabular and gridded datasets accessible through various software frameworks. |
|
|
|
General purpose |
|
A |
|
A |
|
A |
|
A |
|
|
Data Management
Utility classes and methods for basic manipulation of different kinds of data. Much of the functionality provided here is available in modules in Python’s Standard Library or official third-party libraries for specific data formats. For basic functionality, we encourage you to use those rather than taking a dependency on the classes and functions provided here, unless they are particularly convenient or provide something the standard libraries are missing. The purpose of these is to expose some basic operations as ArcGIS geoprocessing tools, to fill in what we considered to be gaps in ArcGIS’s collection of tools circa 2010 or so. These functions also wrap these basic operations with logging, so that other modules in the GeoEco package can use them and gain automatic logging of basic operations.
Functions for common operations with rasters, implemented using ArcGIS's arcpy Python package. |
|
Functions for common directory operations. |
|
Functions for calculating field values from Python expressions. |
|
Functions for common file operations. |
Data Products
Grid and DatasetCollection
wrappers around some commonly-used marine data products. The wrappers allow
these products to be easily used with the rest of GeoEco, particularly the
classes and functions in the sub-packages of the Datasets
package. The wrappers’ documentation include some examples of this.
Classes for accessing oceanographic datasets published by Copernicus Marine Service. |
|
Classes for accessing data products from NASA Earthdata. |
|
Classes for accessing data products from NASA JPL PO.DAAC. |
|
Functions for working with NOAA climate indices. |
Spatial and Temporal Analysis
Classes with functions that perform various spatial and temporal analysis tasks.
Functions for interpolating in space and time. |
Accessing R from Python
Provides the RWorkerProcess class, which starts R as a
child process and allows getting and setting of variables in the R interpreter
and evaluation of R expressions.
Classes that facilitate invoking R from Python. |