You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Architecture outline

The architecture outline of Delta Shell is shown in the figure below. As can be seen from the figure, Delta Shell consists of a set of common class libraries, mainly representing different domains and software standards such as:

  • OGC-based geometries and features;
  • hydrologic network objects;
  • mathematical and physics libraries;
  • general application framework class libraries (Application, Gui).

These general framework class libraries define on a very high level how a typical console or graphical user interface application is constructed. They also define how different parts of the environment can be extended by means of plugins. This includes both:

  • non-gui plugins providing new data types or computational models to the system, and;
  • graphical user interface components used to visualize different data.


Background readings on Delta Shell 

Unfortunately there currently is no complete set of documentation available for the Delta Shell components and interfaces and, additionally, the documentation that is available quickly becomes obsolete as development of Delta Shell progresses further.

Nevertheless, some background papers are available that are recommended for new Delta Shell developers to read before proceeding with any tutorials or exercises:

Links to used open-source libraries 

Additional information that might be useful, concerns the open source geospatial libraries that are used by Delta Shell. These background readings can be found at their repositories on the internet:

NetCDF, GeoAPI.Net and NetTopologySuite are used closely together and have each been extended by Deltares to develop the Functional Coverages spatial API.

SharpMap is the Map UI component used by Delta Shell which has been extended by Deltares in a separate branch that can be found at the SharpMap repository (http://sharpmap.codeplex.com/SourceControl/latest#Branches/0.9.5-DeltaShell).

Some final notes:

  • For NetCDF, the plain C API is used for optimal performance by integrating a .NET 'wrapper' in the DelfTools.Utils.NetCDF library. The C# wrapper classes are quite similar to but not exactly modelled after the NetCDF Java API.
  • Quite a few other external libraries (SQLite, NHibernate, PostSharp, Mono.Addins, etc.) are mentioned in the background papers or used in tutorials and exercises; you may need to read up on these tools later.
  • No labels