Font Size: a A A

Design and development of an extensible, interchangeable component architecture for open-source geographic information systems

Posted on:2011-10-07Degree:Ph.DType:Dissertation
University:Idaho State UniversityCandidate:Dunsford, Harold A., JrFull Text:PDF
GTID:1448390002950854Subject:Geodesy
Abstract/Summary:
This dissertation presents the design and development of a modular, extensible, and interchangeable component architecture for a geographic information system (GIS). Each of the new architectural strategies, the ontological choices, and several new algorithms are examined in detail. A working, early stage open source project serves as the platform within which the principles and concepts presented in this work are tested. The project uses a series of components that each act independently and can be recombined in different ways. This dissertation directly exposes the technical challenges, especially with regards to performance, surrounding the creation of a working geographic mapping system. The result is a two dimensional mapping component that can draw vectors and images at speeds that are comparable to other professional 2D drawing software. We also created a 3D component that uses DirectX for drawing, but there the challenge that was resolved was how to preserve the necessary precision from 64 bit double precision coordinates in a drawing environment that only supports 32 bit floating point coordinates. A great focus was placed on designing the library in such a way that other developers could use it as a software development kit to construct their own geospatial software. While many open source GIS applications exist, no other open source project that we know of offers this kind of ability for the .Net environment. The interface based architecture is specifically designed to be extended by future developers. The actual nature of the interface based extensibility architecture is something that is not really replicated in any other open source GIS package. The result is that most objects that are used by our framework can be exchanged for different objects that follow the same rules, enabling our software to work directly with classes that do not exist yet, without us having to re-compile the project.;The underlying motivation for the project was to create the GIS framework that could be used in order to address scientific problems in hydrology. One of the outcomes of this study was the development of a very fast method for filling pits. The method allows for piecewise evaluation of rectangular blocks in memory, which is a unique challenge because of the dependencies that exist between blocks. It also introduces some optimizations that improve the algorithm in performance by about a factor of 2 over our implementation of the fastest known previously documented algorithm. Our application also provides a working C;Light Detection And Ranging (LiDAR) datasets also represent a significant problem for GIS systems to display the points effectively. The major problem with working with these large datasets is that the file format can contain billions of points. This much information is impossible to load into memory all at once, and would also be extremely cumbersome to draw onto the screen when every single point is rendered. We propose a novel kd-tree based data structure that would allow these points to be stored on the disk in a fashion that allows not only the elimination of points outside the 2D extent, but also allows the view to eliminate points that would overlap. This dissertation leaves much of actual implementation of this solution to future development, but a working prototype was created and tested, giving very good overall performance for the purpose of displaying the points.
Keywords/Search Tags:Development, Architecture, Component, Information, Geographic, Open, Points, Source
Related items