Parent topic Previous topic Next topic 
  

  Translate this page (Google, opens new window/tab):  

Suppliers should be able to provide advice on performance issues (e.g. see the ESRI web site, "Services" area for relevant documents relating to their products) and in some cases such information is provided within product Help files (e.g. see the Performance Tips section within the Manifold GIS help file). Some analytical tasks are very processor- and memory-hungry, particularly as the number of elements involved increases. For example, vector overlay and buffering is relatively fast with a few objects and layers, but slows appreciably as the number of elements involved increases. This increase is generally at least linear with the number of layers and features, but for some problems grows in a highly non-linear (i.e. geometric) manner. Many optimization tasks, such as optimal routing through networks or trip distribution modeling, are known to be extremely hard or impossible to solve optimally and methods to achieve a best solution with a large dataset can take a considerable time to run (see Section 7.1.4 for a fuller discussion of this topic). Similar problems exist with the processing and display of raster files, especially large images or sets of images. Geocomputational methods, some of which are beginning to appear within GIS packages and related toolsets, are almost by definition computationally intensive. This certainly applies to large-scale (Monte Carlo) simulation models, cellular automata and agent-based models and some raster-based optimization techniques, especially where modeling extends into the time domain.

A frequent criticism of GIS software is that it is over-complicated, resource-hungry and requires specialist expertise to understand and use. Such criticisms are often valid and for many problems it may prove simpler, faster and more transparent to utilize specialized tools for the analytical work and draw on the strengths of GIS in data management and mapping to provide input/output and visualization functionality. Example approaches include: (i) using high-level programming facilities within a GIS (e.g. macros, scripts, VBA, Python) – many add-ins are developed in this way; (ii) using wide-ranging programmable spatial analysis software libraries and toolsets that incorporate GIS file reading, writing and display, such as the R-Spatial and PySal projects noted earlier; (iii) using general purpose data processing toolsets (e.g. MATLab, Excel, Python’s Matplotlib, Numeric Python (Numpy) and other libraries from Enthought; or (iv) directly utilizing mainstream programming languages (e.g. Java, C++). The advantage of these approaches is control and transparency, the disadvantages are that software development is never trivial, is often subject to frustrating and unforeseen delays and errors, and generally requires ongoing maintenance. In some instances analytical applications may be well-suited to parallel or grid-enabled processing – as for example is the case with GWR (see Harris et al., 2006).

At present there are no standardized tests for the quality, speed and accuracy of GIS procedures. It remains the buyer’s and user’s responsibility and duty to evaluate the software they wish to use for the specific task at hand, and by systematic controlled tests or by other means establish that the product and facility within that product they choose to use is truly fit for purpose — caveat emptor! Details of how to obtain these products are provided on the software page of the website that accompanies this book. The list maintained on Wikipedia is also a useful source of information and links, although is far from being complete or independent. A number of trade magazines and websites (such as Geoplace and Geocommunity) provide ad hoc reviews of GIS software offerings, especially new releases, although coverage of analytical functionality may be limited.

  Back to Top    Back to Home Parent topic Previous topic Next topic