![]() ![]() Scripts are POSIX-based until version 6 of GRASS GIS.) or Python, as in the latest development version 7 of GRASS. A sufficient amount is implemented as scripts using either POSIX (Portable Operating System Interface defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. This concept results in a large amount of over 400 modules. Since the early days of GRASS in the 80s, the UNIX shell was used to combine GRASS modules and UNIX tools to script repetitive tasks and to implement complex spatial analysis and processing algorithms. Modules can be combined, similar to the UNIX tool concept. Hence, each module in GRASS has a dedicated purpose and is efficiently implemented. The implementation of GRASS modules follows the UNIX concept. ![]() Spatial algorithms and models are implemented as small stand-alone programs, called modules, that make use of the C-API. This API provides read and write access to raster, 3D raster and vector data, as well as the handling of projection information, spatial and attribute database management, spline interpolation, mathematical and numerical functionalities and visualization functionalities see Table 1. The core functionalities are implemented in shared libraries using the programming language C and can be accessed via the GRASS C-API. Its capabilities to process geographical information have been testified by many research and technical papers. GRASS provides a large number of models and algorithms that, after substantial testing and trouble shooting, have proven to be very reliable. GRASS is characterized by stability, an efficient application programming interface (API) written in C, and a large number of GIS functions and modules. It provides a topological vector model and true three dimensional coordinates for vector features. The Geographic Resources Analysis Support System (GRASS) supports the creation, modification and processing of 2D and 3D raster and vector layers. Geographic Information Systems (GIS) have the capabilityto integrate heterogeneous digital data, giving the opportunity to public administration, industry and research to provide basic and advanced data analysis and modeling for a wide range of disciplines. We compare and discuss the results of the benchmarks with dedicated C implementations. We demonstrate the capabilities, scalability and performance of PyGRASS with several dedicated tests and benchmarks. The design goal was to provide an easy to use, but powerful, Python interface for users and developers who are not familiar with the programming language C and with the GRASS C-API. The new object-oriented Python programming API introduces an abstract layer that opens the possibility to use and access transparently the efficient raster and vector functions of GRASS that are implemented in C. The module interface was designed to be easily extended to work with remote processing services (Web Processing Service (WPS), Web Service Definition Language (WSDL)/Simple Object Access Protocol (SOAP)). ![]() Our design concept of the module interface allows the direct linking of inputs and outputs of GRASS modules to create process chains, including compatibility checks, process control and error handling. We present the architecture of the PyGRASS library, covering interfaces to GRASS modules, vector and raster data, with a focus on the new capabilities that it provides to GRASS users and developers. PyGRASS is an object-oriented Python Application Programming Interface (API) for Geographic Resources Analysis Support System (GRASS) Geographic Information System (GIS), a powerful open source GIS widely used in academia, commercial settings and governmental agencies. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |