scrollbar |
---|
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:
...
- geospatial
...
- libraries
...
- (geometries,
...
- features,
...
- coverages);
...
- hydrographic
...
- libraries
...
- (hydro
...
- regions,
...
- hydro
...
- networks,
...
- drainage
...
- basins,
...
- hydro
...
- areas,
...
- hydraulic
...
- structures
...
- and
...
- other
...
- hydrographic
...
- features);
...
- scientific
...
- libraries
...
- (units,
...
- multi-dimensional
...
- arrays,
...
- variables);
...
- storage
...
- libraries
...
- (NetCDF,
...
- SQLite
...
- and
...
- support
...
- for
...
- many
...
- other
...
- file
...
- formats
...
- such
...
- as
...
- CSV,
...
- WaterML2,
...
- Shapefile,
...
- file
...
- formats
...
- supported by GDAL);
...
- workflow
...
- libraries
...
- (simple
...
- and
...
- composite
...
- workflow
...
- activities,
...
- support
...
- for
...
- parallel
...
- and
...
- sequential
...
- run
...
- modes);
...
- scripting
...
- support
...
- (based
...
- on
...
- IronPython);
...
- general
...
- application
...
- framework
...
- 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;
- gui plugins, providing components used to visualize different data and model configurations.
The bottom line is that Delta Shell is a flexible framework which can be easily extended by means of plugins or scripts.
Background readings on Delta Shell
Unfortunately, there is currently no complete set of documentation available for the Delta Shell components and interfaces. 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:
- Delta Shell, an open modelling environment
G. V. Donchyts, B. Jagers, (iEMSs 2010)
- Functional Coverages
G. V. Donchyts, F. Baart, H.R.A Jagers, A van Dam (OSGeo Journal 10, 2011)
Links to used open-source libraries
Additional information that might be useful concerns readings on the open source libraries that are used by Delta Shell. These readings can be found at their repositories on the Internet:
...
- )
...
- GeoAPI.NET
...
- (
...
...
- )
...
- NetTopologySuite
...
- (
...
...
- )
...
- SharpMap
...
- (
...
...
- )
...
- NHibernate
...
- (
...
...
...
- )
- Mono.Addins
...
- (
...
...
...
- )
- PostSharp (http://www.postsharp.net/
...
- )
- protobuf-net
...
- (
...
...
- )
...
- QuickGraph
...
- (
...
...
- )
GeoAPI.NET
...
and
...
NetTopologySuite
...
are
...
used
...
closely
...
together
...
and
...
have
...
each
...
been
...
extended
...
by
...
Deltares
...
to
...
develop
...
support
...
for
...
geospatial
...
Features
...
and
...
Coverages.
...
SharpMap
...
is
...
the
...
Map
...
UI
...
component
...
used
...
by
...
Delta
...
Shell
...
. It 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
...
).
...
For
...
NetCDF,
...
the
...
plain
...
C
...
API
...
is
...
used
...
(for
...
optimal
...
performance), which is integrated via 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.
scrollbar |
---|