[Dspatial-develop] DSpatial version 0.3 released
Status: Alpha
Brought to you by:
pvanlaake
From: Patrick v. L. <pat...@te...> - 2004-02-28 19:10:16
|
Version 0.3.0 of the DSpatial kernel was released today on Sourceforge. While there is not much change on the surface, a number of quite important changes to the kernel and kernel access have been implemented. First of all, the locking mechanism has completely changed. Locking is now initiated at the "user" level (that is, outside of the kernel), where the kernel generates a token suitable for the requested access. The application needs to explicitly drop the token when done. This dramatically reduces the number of locks that needs to be made, because an application can access multiple data set attributes or perform multiple operations before dropping the token. On the down side, a badly written application can lock a data set indefinitely. Secondly, the kernel is now cross-platform compatible. Compiler directives have been added to enable compilation on D5, D7 and Kylix (anybody any experience with D6?). The most important change is the improved memory management. It is now possible to access data sources of arbitrary size, and the kernel will automatically limit the amount of data that is held in memory. This is controlled with the FMaxDataSetSize member of the DSpatial object. You can change this size in the constructor of the TDSpatial class in the DSpGlobals unit. Any data set that is smaller than the indicated value will be held in memory in its entirety, which provides the greatest access speeds. Large data sets that would quickly use all virtual memory are only partially loaded, and this is completely transparent for the application developer. This design lays the foundation for the gridmath module and other data access mechanisms, which will be provided in an upcoming release. The gridmath module also sees the light of day with this release. Unfortunately it is still a very meagre offering, with only a few identity operations available. These are necessary to use the SDTS format drivers. On the up side, the development effort is now focused on this module and incremental updates are expected on a regular basis. The documentation of DSpatial is also starting in earnest now. Attention is given to a detailed document on programming with the DSpatial kernel and the extension modules, and on how to develop additional raster drivers. Best regards, The DSpatial Development Team |