Pipeline Processes


The PYXIS DGGS SDK provide a simple plug and play API to build custom GIS workflows within a Pipeline Architecture called the PYXIS Information Processing Engine (PIPE).  The PIPE uses a pipe and filter architecture for building and chaining processes.  Each process is design to perform a single (yet sometimes complex) operation.  When processes are chained, they form a pipeline. 

Definition of a PYXIS DGGS Process


A Process is a class of objects that form atoms of a pipeline.  Each process has the following common properties:
  1. Process Inputs - Each process can have several input connectors. Each input connector must define:
    1. Type - Set of inputs (output from another upstream process) that are permitted to connect;
    2. Amount - the minimum and maximum number of inputs that can be connected. (minimum equals to zero - means optional input).
  2. Process Output - Each process must provide a single output type.  The type of the output limits the type of connection that can be made to the downstream process.
  3. Process Attributes - Each process includes a collection of attributes (settings) that configure the operation of the process.  For example, in Blur Process, the number of iterators of blur that are to be performed.
Process Types
Processes that are included in the PYXIS DGGS SDK are listed by Category:
  1. Calculators: Process that assign values to DGGS cells. there are 2 main categories of Calculators:
    • Samplers: Processes that read, sample, and quantize external data as into the DGGS as cell values. Examples: GDALFileReader, BicubicSampler
    • TransformersProcesses that transform values on the DGGS cells. Examples: Calculators, Blenders, ResolutionFilters
  2. AggregatorsProcesses that calculate statistics on DGGS cells. Example: CoverageHistogramCalculator
  3. DecoratorsProcesses that attach metadata and styling information. Example: StyledCoverage
  4. Utilities: Other process that are used to accomplish tasks outside of DGGS scope. Example: ViewPoint, Camera, ToolboxProvider
Pipelines
Pipelines are built by connecting Processes together to implement a specific workflow. Examples of workflows include:
  1. Implement geo-encoding of data sources.
  2. Perform image processing algorithm on data
  3. Perform spatial join over several vectors data sources.
 Pipelines can be shared as XML/JSON document. See Watershed Pipeline example..