Dr. A Mohan
P K Prasad
Scientist-F & State Informatics Officer
Most of the government departments in Tamil Nadu, India, today understand importance of GIS. Hence, geospatial web services in e-governance are being envisaged to bring GIS to the mainstream ICT. However, restrictions are being imposed on map data by the mapping authorities do not allow GIS datasets to be distributed across easily for various reasons.
Moreover, software cost, technology related issues, dedicated GIS resources and time spent by different departments for developing applications, are other challenges. They pose restrictions on the usage of GIS in decision support. By conventional method, to depict tabular data in a map form, the typical requirement would be a GIS server, GIS database with appropriate data loaded in each application’s database server, apart from the attribute data itself and necessary scripts that could interact with all these components to generate maps on the fly.
On the contrary, the advent of service-oriented GIS technologies proves to be a boon to overcome these issues, partially. By adopting open standards and services-based architecture, GIS databases could be distributed geographically, but streamed and federated through GIS services while applications themselves could be run geographically anywhere else, in any platform, using any technology. The paper discusses how this can be leveraged in integrating GIS with mainstream e-Governance solutions.
Geospatial web services: an overview
As a solution, GIS web services have emerged as a great potential to revolutionize the way in which GIS applications can be developed, accessed and used. These services not only make it easier to share geographic data but also enable smooth integration with other technologies and existing MIS, ensuring a platform independent distribution channel for GIS data to flow over the Web.
Web Map Service (WMS), Web Feature Service (WFS), Web Coverage Service (WCS) and Web Processing Service (WPS) are the standards from the Open Geospatial Consortium (OGC). WMS renders the map as a standard image format (PNG, GIF, JPG, SVG, etc.) to the client, by adopting the default style or any application supplied style. Through WMS, service level metadata, map and information about individual features could be returned. Requests are made using a standard web URL.
WFS provides an interface allowing requests for geographical features (vector data) across the web using platform-independent calls. WCS accepts requests for geographical coverages or imageries across the web using platform-independent calls. Web Processing Service (WPS) Interface Standard provides rules on how requests and responses should be for invoking geospatial processing services, such as polygon overlay or creating a buffer, as a Web service.
Styled Layer Descriptor (SLD) defines an encoding that extends the WMS standard to allow user-defined symbolization and colouring of geographic feature and coverage data. SLD ensures control of the visual portrayal of the geospatial data. The ability to define styling rules requires a styling language that the client and server can both understand. The Open GIS Symbology Encoding Standard (SE) is enabled through the SLD profile of WMS operations. Additionally, SLD defines an operation for standardized access to legend symbols.
Generic solutions using open source software stack:
Of all the available services, WMS offers the most promising services for amalgamation of GIS into IT services. A generic solution has been designed and developed by NIC Chennai completely using Open Source software stack, to create dynamic thematic orchoropleth maps and graduated or proportional symbol maps, for use in any platform, from any technology. Individual applications could consume these services, query, filter and apply styles appropriately for depiction locally, based on their application data and make the integration happen seamlessly. By reading the XML data generated by individual applications on the fly, Styled Layer Descriptor (SLD) is generated dynamically and the map is rendered using the WMS layer.
In order to overcome various spatial datasets related issues and to facilitate usage of GIS in multiple applications, across various departments, this generic interface has been designed.
The following Open Source technology / Software have been used:
- GeoServer: is an Open Source software server (Java) that allows users to share and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source complying with open standards.
- PostgreSQL/PostGIS: support for geographic objects to the PostgreSQL object-relational database, that is, “spatially enables” the PostgreSQL server to be used as a backend spatial database for Geographic Information Systems (GIS).
- OpenLayers: display maps / tiles / markers dynamically in any web page from any source loaded from any server.
- PHP: https://php.net PHP is a server side scripting language.
The components employed using the Open Source software stack mentioned earlier and their interactions along with the system architecture to attain the intended generic solutions are discussed as follows:
a) System architecture
This service oriented application gives us the freedom of platform independent deployment and advantage of distributed environment. The attribute and spatial components collaborate over XML technologies from different servers. The set of different components and the processes/interactions for generic GIS:
- Individual applications generate attribute XML for thematic presentation using any technology;
- Create Dynamic SLD based on the attribute XML and
- The WMS server that hosts the spatial datasets interprets the SLD and renders map images.
Figure 1: Different components and their interactions in the System
The necessary interactions and the processes involved among the components mentioned above are discussed below in detail:
i) Application server
- The Application server has to create the XML Attribute file for the indicator to be thematically represented in the maps.
- This could be dynamically created with the live data using any technology viz. ASP, ASP.NET, PHP, JSP, etc.
- Application Server initiates a map request through this Attribute XML file whose URL is passed onto GIS Server.
- Attribute XML file provides the following parameters: layer to be displayed, column to link in WMS (that is, linking column between spatial and attribute), column to use for labelling maps, symbology type, range, filters to apply, if any (both the column name and value pair for filter) and title. Also, the code-value pairs for the administrative units chosen are to be provided in the XML file. The administrative codes need to be unique.
These interactions/processes are performed on the Application Server with the following requirements and the necessitated assumptions:
Create a dynamic web page in the application specific technology that streams the XML output with the following parameters:
- Layer to draw theme on. Layer specification XML file identifies each layer/ layer group uniquely through this parameter. Many layers / groups could be configured through this set up and the representations could take any layer, be it administrative boundaries or watershed boundaries, or whatever.
- Column to link in Web Map Service, that is, linking column between spatial and attribute; should exist in WMS. Since the MIS in each department may follow their own set of coding pattern for identifying the unit uniquely, a generic dynamic selection of this column to link is required from the spatial end. Through this parameter, it is possible to link the layers with any set of codes/columns available in it.
- Column to use for labelling maps (should exist in WMS layer/service).
- Symbology type as EI – Equal Interval, EC – Equal Count, Custom – Custom Classification where classifications, colours and legend could be customized.
- Number of ranges as range, in which data needs to be classified
- Spatial Filter to apply, if any, both the column name (filter_column) and value (filter_value) pair for filter. This would be necessary, for example, when it is required to show only Tamil Nadu Districts from Indian Districts Layer. In this case, for instance, the filter column will be state code and the value would be 33, the state code for Tamil Nadu, as given below:
- The colours that need to be applied for each individual class or range could be passed as a parameter with comma separated Hexadecimal values (the same number of colours as the number of ranges). For example, for a classification range of 4, the colours could be sent as:
- It is also possible to provide a drill down effect on the thematic map. For this, the drill_down_url parameter should be set to appropriate url of the XML file that would generate thematic map at the required map level. For instance, to show the block level map from the district map when clicking on any district, the block level XML generation page url could be passed like:
- Title and sub-title of map, as it should appear on the Web page.
- The code-value pairs for administrative units chosen are to be provided in the XML file. The codes should be unique, that is, there should be only one entry for each feature / entity.
- For Graduated Symbol maps, additionally, the symbol, size of symbol and the colours are customizable.
ii) GIS Server
- Application Server initiates a map request through an Attribute XML file whose URL is passed onto GIS Server. The layer specifications are configurable in an XML file which includes the URL for WMS layer access, label column, group of layers, etc. For instance, if District HQ layer is to be used for graduated symbol map presentation, it is not sufficient to draw just the point features alone. We need to draw the district boundary layer also. Such configurations could be fine-tuned in the layer specifications XML file.
- The GIS Server reads the XML file on the fly for the parameters necessary and the code-value pairs; generates another XML file called Styled Layer Descriptor (SLD) to apply styles to the geographic features (like the administrative units) of WMS.
- A simple web service is requested for the extent to which map will have to be zoomed in. (This service has been created to overcome the drawback of WMS Service which does not provide the extent of individual features.)
- SLD file is dynamically generated based on the code-value pairs as given in the Attribute XML for the selected administrative layer to apply different styles / colours over different administrative regions.
- The symbology currently accepts equal interval, equal count and custom ranges. Based on the request the attribute XML data is classified. In the custom range option for thematic map generation, the number of ranges, individual ranges, colours, legend, etc are customizable by the user. For the graduated symbol map generation, the symbol, size, colour etc. are additionally customizable.
Figure 2: Process Flow on getting XML request from Application
- This SLD file (basically an XML file) gets stored temporarily on the Server. The link to this SLD file, as a URL, is passed on as one of the parameters to the WMS request to the server. Passing the SLD file link as a url makes it possible to separate the SLD generation server and the actual WMS server.
- Server applies the style and renders the image on the client as a raster viz. jpeg, gif or png.
Similar to the Application Server, the Requirements and Assumptions on GIS Server are: The Attribute XML would provide the necessary parameters (as listed above). EC is the default classification assumed. Number of Ranges by default is 5. The codes appearing as code-value pairs are assumed to be unique and matches with the values listed in the layers column provided in the link column parameter.
ii) WMS Server
- WMS Server hosts the spatial data as services.
- The WMS could read spatial data from heterogeneous platform / formats including Shape Files / PostGIS / ArcSDE / etc.
- The SLD=https://someserver/sld.xml parameter in the request url instructs to apply the styles on the layers as provided in the sld.xml file.
The Requirements from GIS WMS Server are:
- OGC Compatible WMS version 1.1.1 or above
- Should support dynamic SLD application like GeoServer
- Enable WMS Service for the required layer.
- Enable simple Web Service for the layer that would provide the extents for a region of interest based on the ‘filter-column=value’ pair in the attribute XML (as this functionality is not currently possible through the GetCapabilities of WMS). This makes it feasible to enable drill-down effect and zoom to a particular region of interest.
- Temporary storage enabled with virtual folder definition to store the SLD files temporarily and to provide URL link to.
b) Currently supported map compositions
Currently the following map composition interfaces have been designed and developed in a generic manner for the following:
- Thematic / Choropleth mapping for Polygon Features
- Graduated / Proportional Symbol maps for Point Features
Thematic/Choroplethmapping: A choropleth map is a thematic map where regions / polygons are based on the pattern of the data value of the given statistical variable being displayed on the map, known as the indicator or attribute, such as population density or per-capita income. The choropleth map provides an easy way to visualize how an indicator varies across a geographic area / administrative unit. Or it shows the level of variability within a region.
Graduated/Proportional Symbol mapping : Similar to the thematic presentations for polygon layers, for Point features, the basic requirement would be to present the layer as Proportional or Graduated Symbol maps. That is, the styles of the individual features could be varied in size in proportionate to the values of the indicator chosen with necessary colour, style etc.
I. Generic design advantages:
- Any number of layers could be used in the generic interface by adding the details in the layer specification file.
- Through the attribute XML, it is possible to customize layer selection, linkable column, filtering for a column name-value pair and label column.
- User selectable number of ranges, classification type like Equal Interval / Equal Count / custom ranges, colours and title through parameters. The code-value pair for individual features could be either integer or floating values.
- Drill down map hierarchically by enabling clickable map through appropriate URL in the XML parameters.
II. The major features of the software include:
- Rich Internet Application (RIA) interface
- Map panel with Ajax based Zoom in / out, rectangular zoom, pan, information query, previous / next extents, label on / off, distance and area calculations in the map, etc.
- Labels could be switched on / off
- Includes Accordion that could be docked / expanded for Data, Legend, etc.
- Query Builder that enables querying the data and viewing on the map
- Change symbology dynamically including custom type
- PDF output generation for including in reports / presentations etc.
III. Applications that use this technology in NIC-Tamil Nadu
The following department / applications consume GIS web services, that is, Web Map Service for different layers:
- Directorate of Rural Development: Monitor the Physical and Financial Progress of Schemes for Rural Development (PHP) (Tamil Nadu Districts with drill down Block level maps)
- To View Rainfall Map – Daily, weekly, monthly, seasonal and annual reports (ASP)
- Civil Supplies and Consumer Protection Department: Daily / Weekly / Monthly price of commodities for Civil Supplies & Consumer Protection Department (JSP)
- BSNL Chennai Circle– 2G Outages highlighting the 2G sites that are down at any given point of time (ASP.Net)
- Industries Department: To view Dynamic mapping of number of MSME applications applied online in Tamil Nadu (PHP)
- https://wellcensus.tn.nic.in/ – State Ground Water and Surface Water Data Centre, PWD, Tamil Nadu has hosted their Well Census 2004 data on this website. The website enables viewing the data in tabular, chart and map form.
Figure 3: Thematic representations for Revenue Department on Weekly Rainfall Data (Districts) and Rural Development Department on Financial Progress in schemes (Blocks)
Figure 4: Graduated Symbol map on Child Sex Ratio – Population Census 2011
Figure 5: Rendering BSNL 2G site locations that are down (Outages) by using their application data via URL (XML)
Figure 6: Number of Applications filed RTO wise
Such generic interfaces could easily enable GIS usage in more number of Departments without the hassles of GIS Software and spatial data procurement, training and other associated worries. The datasets could easily be maintained and monitored from respective sources itself.
This overcomes the following drawbacks over usage of GIS interfaces across multiple applications:
- Sharing the Spatial data across the organization / websites for various security reasons by retaining map data at the source itself.
- Enables easy administration of maps (as the changes on maps would be required only once and in only one database)
- Since the map rendering is Service Oriented, the backend technologies do not matter. Interoperability is achieved using XML technologies.
- Technology can be leveraged by Application developers who have very little knowledge of GIS
- Fully compliant with the Open Geospatial Consortium Standards being proposed by the OGC
- Supports a distributed architecture
This acts as a proof of concept on how a common unified GIS server can provide simple thematic services to any number of applications, independent of platform and technologies. To move one step ahead, distributed architecture based on Services would have much wider scope and reach more than any regular / conventional GIS website could deliver. We are also exploring / leveraging the following GIS Services:
WFS or Web Feature service allows requests for geographical features (and not images) over the web using platform-independent calls. Actual geospatial objects are returned as GML to the client. Creation/updation/deletion of features and get / query features based on spatial and attribute data could be performed.
The OGC Web Processing Service (WPS) Interface Standard provides rules for standardizing how the requests and responses should be, for invoking geospatial processing services, such as creating a buffer around any feature, intersection, union, overlay of spatial entities, etc., through the web service.
- Director General, National Informatics Centre, New Delhi
- Deputy Director General & Head, RS & GIS Division, New Delhi
- OGC Styled Layer Descriptor Specification, https://www.opengeospatial.org/standards/sld.
- OGC Symbology Encoding Specification, https://www.opengeospatial.org/standards/symbol
- PostGISExtention of PostGreSQLhttps://postgis.refractions.net
- SLD Cook Book – https://blog.geoserver.org/2010/04/09/sld-cookbook/