Making geospatial applications web-based for easy and anywhere access is a basic requirement today. The availability of the free open source tools is also essential to enhance the dissemination of this technology on the grass root level mainly in the country like India. Keeping this objective in mind, a Framework has been developed by the “Geospatial Information Science and Engineering” (GISE) Advanced Research Lab whose main focus is to establish R&D thrust on computer science aspects of geographic information science and engineering. Other than research in open spatial forum, the Lab also focuses on creating free tools and functionalities using open source platforms. The Framework presented in this article is one such downloadable software from the GISE Lab.
The main motivation for this Framework is to allow the researchers & developers in the geospatial field to develop web based GIS applications with minimum amount of efforts. This Framework is simple to use and easily configurable. The current version is a basic one which has tools and functionalities which are required for managing & analysing of geospatial data at basic level. It allows defining data model, storing, access and update to the geospatial data, as well as web-enabled interactions to query and visualize the data.
The Framework is designed to store, access, manage, edit, process & query the geographical features and visualize it on map. This also has a layer hierarchy functionality which allows user to organize and access different layers associated with the current instance of data. The Framework aims to lessen the common customization activities required in any Web development. This can be used by other developer who does not have to manage the internal activities e.g. the connectivity of the Database with the WFS/WMS server or the Layer Hierarchy formation which is important for arranging data in a tree type structure. The application developers have to modify a few basic configuration parameters to build up an application on any given data. It will also minimize the time and efforts required to build basic functionalities for every new set of geospatial data. The Framework is interoperable as it accepts different types of Reference systems and converts the same to the “Base Reference System”. This helps to integrate new geospatial data with the already existing one. The Framework comprises of Tools to upload and download the spatial data in various formats, and it also allows user to obtain its schema. The registered users can also add the spatial data voluntarily to existing datasets.
Some “geo-processing” functionality tool like “Union” is also available in this Framework. The tools like “styler” and “attribute query” allow users to assign different styles to the features dynamically and to query on the attributes (features) of the data respectively.
A typical WebGIS application has three tier architecture comprising a Database Server at the Backend, OGC Web Service provider and the Client (Web Browser). A typical Geospatial database contains both spatial as well as non-spatial data.
Fig 1: Basic Architecture of the Framework
Data servers (PostgreSQL 8.4+ & Geoserver 2.3): PostgreSQL is a DBMS which handles both spatial and non-spatial data. Geoserver is an OGC complained server to load, publish, style & share geospatial data which handles web services like WMS, WFS, WPS, and WCS. Functionalities & Tools:
This functionality is developed to create a new user of the Framework as only the registered users will have the right to add and modify the data.
Fig: 2 Registration Form
Tree Node manipulation
Only logged-in user will be able to access this function to create a new tree node inside hierarchical tree structure starting from root to maximum depth nodes. Tree node is a user interface representation for tree-structured data which have references to layers in the data source.
Fig. 3: Hierarchical Tree Structure
The Framework has a legend tool which is an integral part of any geospatial data display. The legend is well synchronized with hierarchical tree structure.
Fig. 4: Display of Legend
Download Application Schema
The schema of any selected layer can be downloaded using this function. WFS Request will be generated to get schema of the selected layer. User can view it online or save it for future references. It also has the structure similar to the one in “Layers” panel.
Fig 5: Download Application Schema
Attribute Query (filter)
Attribute Query is a tool for querying the Database features and display the resultant geometry in the map on the browser. The query on all 3 geospatial feature types like point, line and polygon is possible here. It allows user to do both simple and complex queries with more than one condition by joining with AND or OR operators.
Fig 6: Attribute Query of different Feature Types
Data Download Tool
This tool can be used to download the configured geographical data from the backend data sources. The list of available layers, and formats like CSV, Shapefile, GML2, GML3.1, GML3.2, GeoJSON will be available to the user to select. One of the unique features of this tool is that it supports CSV file without geometry. This function is specifically developed to allow users to add own set of columns data. This can be later integrated with existing data by using Upload CSV tool which will automatically match with old existing geometries of the selected layer.
Fig 7: Data Download Tool
Data Upload Tool
The user will have to make use of this tool to add new geometrical data into data sources. The user has to Login to use this function as it will modify the base data sources. As mentioned earlier this function allows user to upload data with different CRS & Projection and then convert the same into Default CRS which is EPSG 4326 in this case. The Framework supports 2 types of data i.e. Shapefile and CSV format.
- Shapefile: The shapefile should be given in the zip format. Zip file name should be same as internal shapefile base name. The new data will be uploaded in the level of Tree node data structure selected by the user.
- CSV file: As discussed above modified CSV (without Geometry) can be uploaded using this tool by selecting a table which includes original geometries. So that newly added columns will be added to the original data.
Finally the page has to be refreshed to view the layer on the Tree node panel.
Fig 8: Data Upload Tool (both shp & CSV files)
The “Login” option is essential to use this tool which allow user to add new data to existing data sources. It allows user to add all 3 data feature types. There are 2 types of Edit functions available.
- To add new geometrical data to already existing layers,
- To add unclassified data to any public data
Please note that the modification by the user will not be reflected in the database without the approval of the Web page Administrator.
Fig 9: Data Editing Tool
The geo-processing tool performs an operation on dataset (such as a feature class, table) and produces a new dataset as the result of the tool. This tool performs small yet essential operations on geographic data like Centroid, Union, Inclusion, & Bounds. The final result can be saved & downloaded in GML format.
Fig 10: Geo-processing Functions (WPS)
The work on creation of Intersection &Buffer is on process as present version of Geoserver doesn’t have the capability to support these functionalities. These functions can be performed by connecting it externally with other GUI Spatial Data server. All these existing functions use WPS services for processing geospatial data.
The managing data display style is one of the main functions in the visualization of Geospatial data. Styler tool of Framework allows the user to style the geographical features dynamically on the web. This styler comes with 2 levels like Basic and Advanced. Basic Styler has properties like single symbol styling and labelling. In Advanced Styler user can create style based on graduated symbol and unique value.
Fig 11A: Basic Styler
Fig 11 B: Advance Styler
This Framework is very useful for the Web Based Geo spatial data users as it reduces time and efforts dramatically. This Framework is based on OGC standards which will facilitate inter-operability with other applications. The Framework is designed so that most of the basic functionalities for Web GIS Application are fulfilled. However, with some expertise in Java programming, the users will be able to add more specific processing functions. The Framework is in downloadable and deployable form so that the application developer could easily install this Framework with their specific data models and parameters. This Framework aims that a user should be able to build Web-based GIS application that can act as a ”GIS Desktop Application” over the Web. One of the main shortcomings of this Framework is that it can be able to configure with only one data source (one database instance). It doesn”t come with url bifurcation which will allows the users to switch between different data sources with url modification. In this basic version the Framework supports only Mozilla Firefox web browser. In future work adding other web browser like Google Chrome will be included.
The development of this Framework is an on-going process. In future, other Geo-processing & Statistical tools for data analysis and graph tools for analysis and visualization purpose will be added.
- The Open GIS Reference Model, 2003. Available at: https://portal.opengeospatial.org/files.
- Open GIS Consortium Web Feature Service implementation specification 1.1.0., 2005. Available at: https://portal.opengeospatial.org/files.
- Open GIS Consortium Filter Encoding Implementation specification, 2005. Available at: https://portal.opengeospatial.org/files.
- Open GIS Consortium Web Processing Service Implementation specification, 2007. Available at: https://portal.opengeospatial.org/files.
- https://code.google.com/p/geoserver-manager/. A REST client API to interact with geoserver
Geospatial Information Science and Engineering Lab is a Department of Science and Technology (India) sponsored project. This research is group effort of anyone associated with GISE lab. Special thanks to Zelio Fernandes, Ashok Nallagalva for their technical assistance.