Hi all,
Yesterday DSpatial version 0.2.1 was made available on SourceForge. This
minor update has a number of interesting new features and enhancements,
and you should upgrade to this version at your earliest convenience.
The PFA has seen some minor improvements, mainly to reduce the risk of
thread collisions and to improve the life-time management of data
sources. A new method, IdleProcessing, has been added which is called
when the application goes into idle state, and it is this method that
deletes unused data source objects. This requires you to assign
DSpatial.IdleProcessing to the Application.OnIdle event handler. You can
do this in two ways: (1) use the TApplicationEvents component; and (2)
make the assignment in your dpr file before the line Application.Run. If
you do not do this, the data sources you open will remain in memory
until your application quits. The actual data of the data sets in the
source will not be loaded until required and it is purged when all
references to the data set in question are released, so the memory
requirements of such an unused source are not particularly high, but the
file system may place locks on any files the source driver accesses so
you are better off getting rid of them by enabling the IdleProcessing
mechanism.
The rendering pipeline has been optimized by placing the renderer map at
the level of the renderer instead of the raster band. This reduced the
memory requirement of the rendering pipeline and the number of
operations per Paint operation is reduced as well.
New drivers have been added for the Idrisi raster format, and for HDF
files. The HDF driver is available as a separate download, because it is
quite big due to the two necessary DLLs and you may not be using HDF
files. There are tons of free satellite images in HDF format from the
NASA EOS web sites, so you might want to check it out anyway. The raw
binary driver has been enhanced to support ESRI FLT binary grid files.
Most drivers now record minimum and maximum values in a raster band, and
this information is used in the renderer to set the bounds on the colour
range (instead of the default [0..1000]).
A histogram component has been added which is highly customizable, and
it will take any kind of data, raster band or not. As long as you know
the data type and the number of elements of your data (chunk), you can
display it. Data can be added in chunks, so even ridiculously big data
sets can be analyzed, as long as the number of elements in any
particular bin does not exceed 2^32. This means that you can probably
churn your whole 80Gb hard disk through the component and see how many
bytes you have with the value of, say, 177, if the disk is kinda full at
least. Check out the screenshot on the home page. The histogram
component and the TDSpViewer component are now packaged in
DSpComponents.bpl, so you can install them in the IDE on the DSpatial
page, making application development that much easier.
For the next release the development focus is on enabling the PFA and
the current crop of drivers to save new data sets. This is in
preparation of the launch of the analysis modules, two of which are
already being developed. The first module is called gridmath and it will
contain a full suite of standard arithmetic, logarithmic, and
trigonometric operators for raster band operations. The second module is
called terra and it will contain terrain-based operations, such as
slope, aspect, and visibility. A third module, called orbit, for the
analysis of satellite imagery, is on the drawing boards.
Have fun,
The DSpatial development team
|