The rapid development of the technology of the web systems and GIS, in conjunction with the world economic crisis, formed the content for the promotion and development of free systems and open-source technologies. At the same time, the tendency toward the standardization of data, metadata and services, with the aim of creating common “Language” for the reading and the dissemination of information available, is a basic research area in the global scientific community in this field. The development of WebGIS systems, taking advantage of the free technology, also contributes to finding more economical solutions, where the use of such systems is more directly accessible. The aim of this research work is, through the analysis of technologies for the Internet, and also the architecture of the WebGIS systems, to investigate the possibilities and to develop the appropriate free technologies, so as to design and implement a spatial content management system for the web. Search with the use of the latter, is the best response to the needs and visualization application maps, with scope in rural areas. In addition, reference is made to the existing content management systems, which provide both processing spatial data, and easily create a WebGIS application.
Geographical Information Systems (GIS) are information systems based on data management with spatial and descriptive information. They are designed to support the collection, management, processing, analysis, modeling and imaging data referred in space and change over time. The main role of systems is to offer users powerful tools for solving complex spatial problems [
Based on the fact that the basic architecture of a WebGIS system consists of three basic levels (Client-Server- Data Server), reference is made to the technologies used for the implementation of each one of them. In particular, the level of client utilized the AJAX technology, where through the JSON format data are received and sent to the Server, asynchronously in the background, without the need to renew the application [
The content management system that was created provides the ability to manage issues relating to processing user requests and maps. In addition, it supports the organization and transfer of spatial data in the database and the GeoServer, as well as the processing in real-time via WFS-T (Web Feature Service-Transaction) which supports the GeoServer. The aim of the system is to be used to resolve bureaucratic and time-consuming problems in supplying land distributions and land reform maps in rural areas. In addition, it covers the requirements of both the administrator and the user, while its installation is direct and easy to use.
By the term architecture, we mean all mechanisms, libraries and software to be used in a geographical information system to be complete. A WebGIS is composed of three basic levels; the first level is the client, while the second level consists of a team of servers and software, operating on the same or different server. The software called server-side software actually activates the use of server-side web programming languages (Java, PHP, Python, etc.). As server group we mean the web server and map server, and finally, the third level consists of the data server, including the database.
The client is a browser which has each user on the computer and is necessary for browsing the web, providing communication between the user and the web server. The communication with the user comprises the web page and asynchronous data exchange via the client-side web programming languages (JavaScript). When a user enters an address, the client receives the request and via the HTTP protocol sends it to the corresponding web server where this website is stored. The web server responds to the request by providing the web page requests.
For the asynchronous exchange of data between the client and the user, scripts are used written in the client- side web programming languages. The scripts are mostly functions of JavaScript, which are carried out and modify accordingly the web page with the implementation of an event. An example event is the click of a button (onclick), whose syntax is shown below.
AJAX is used to describe modern technologies, techniques and methods, which are not necessarily related to the components of the AJAX (Asynchronous JavaScript and XML). The basic idea is to no longer need to renew the entire page, in order to send data to the server. In particular, the whole process is asynchronously processed in the background, while renewing only the part of the page that needs updating. The operation of the AJAX is based on the JavaScript XML Http Request [
Main advantage of using AJAX is that only the necessary data are sent and received and therefore the traffic of the server is reduced, since only part of the requested page is renewed. Finally, another advantage of its use is the fast response of the interface, as well as the possibility to provide online applications [
The exchange of data via AJAX is carried out using various formats. The most commonly used are summarized below:
- HTML
The most common format for the exchange of data via AJAX; it makes it easy and simple to update section of the page, by simply assigning the received data to the inner HTML attribute of a web page element.
- XML
It consist the main data-exchange format for which the techniques of AJAX were conceived.
- JSON (JavaScript Object Notation)
This format started to gain ground in recent years. Compared with the XML, for the same data, less space is required, while it is easier to parse the data.
More formats of data transfer are also used, such as the JavaScript and CSV (Comma Separated Value) [
The Dom is an independent platform and language convention, which provides a structured representation of the XML and (X)HTML document and specifies how this can be accessed from any programming language, so that it is possible to change the structure, the content and the style of the document. The structure of the document is represented as a tree composed of elements (element nodes), text (text node), properties (attribute node) and comments (comment nodes). The root of the tree is a document node, while the nodes are governed by hierarchy relations. The first element node of the tree is called root node and each element except the root has exactly one parent. The elements that have the same parent are siblings and descendants of the parent element. In the following hierarchy example (
On the basis of the hierarchy of the DOM tree, the various scripts choose the elements on which they want to act. The selection methods are presented in
Finally, a standard feature that is achieved through the DOM and in particular the document node, is the creation and deletion of data from the website, as well as the modification of the characteristics of existing data with the use of client-side programming languages, such as JavaScript [
The Web server is the software that responds to requests from the client via the HTTP protocol. It is designed to respond effectively to requests of a large number of clients and send static files. The request is sent via HTTP on
Selection Modes | Selection Method |
---|---|
Id | Document. Get Element by Id (“Contents”) |
Tag | Document. Get Element by Tag Name (“p”) |
Name | Document. Get Element by Name (Name) |
Class | Document. Get Element by Class Name (Class Name) |
the Web server, who is looking in the files of the hard drive of the server, if this file exists. A file will not be found in the server when not spelled correctly or when the request is not given with the correct path. If the Web browser is not configured to display a particular file type, then the user is asked to save the file on his local drive.
The most popular Web servers that are in use today are the Apache HTTP server and the Internet Information Services (IIS). The Apache runs on all modern operating systems, including Windows, Linux, Mac OS X and Unix. It is released under the license of Αpache software, as open source software. It is serviced by an open source community and supervised by the Apache Software Foundation [
The weakness of the web server to manage and return only static documents comes to cover the Application server. It manages both the dynamic content of web pages through the supported script engine, and the simultaneous requests from users. Therefore, the Web server expects from the application server to return the result of the dynamic content and it in turn to do the job of returning the final static file to the client. Through the application server it becomes possible to communicate with the database and with other servers, such as the Map server.
The Map server is a type Application server with manageability, processing and visualization of spatial data. The main feature of Map servers is the acquisition of spatial data from a spatial database and their dissemination on the Web, by using appropriate geospatial standards and services. A Map server may be Web server, so called web-mapping server or installed on a web server that has the appropriate server-side programming languages to support [
The most popular web-mapping servers used are the GeoServer, the MapServer and the ArcGIS server. The first two are open source web-mapping servers, while the third is commercial.
Through the WMS service, georeferenced images are available online only for viewing and not for further data processing. The client sends a request to the map server, and, based on the parameters of the request, the map server generates the final image and answers the request. The image produced by the WMS is the final product of the request and is provided by vector or normalized data or by a combination thereof.
The request for a WMS standard must be either in the form Get Capabilities or Get Map. The first one is used for the metadata of spatial data in XML format document. The second returns as result a georeferenced image. Such a request is considered as complete only when it includes information concerning the request, the name of the layer as recorded on the map server, the style of the layer, the reference system, the search limits and ultimately the size and format of the final image created.
The Get Feature Info is optional request for searching information on the elements of a map produced by the WMS service on the basis of the pixel (i, j) value of the image [
The WFS service is used for the direct use of vector data, returning the actual geometry and characteristics of the latter. For the description of spatial data the language GML (Geographic Markup Language), which is an extension of XML, is used.
The main demand that contains a service WFS is in the form Get Capabilities, Describe Feature Type, Get Feature, Lock Feature and Transaction. Through the Get Capabilities the user receives the metadata of spatial data in XML document format.
With the Describe Feature Type appear in GML format, information on either a layer or for a specific element of the layer.
With the Get Feature request return to the user the real vector data with their geometry and their descriptive features.
The above example is a request via HTTP for the feature of a specific Feature type layer, as created and registered into the GeoServer.
The Transaction request provides the ability to create, modify, and delete data which have been published through the WFS service. The WFS service which supports this request is called WFS-T (Web Feature Service- Transaction). Finally, the Lock Feature is used in order to protect the data from the request WFS-T [
The WCS concerns the WFS service for the normalized data (raster). It is a service which makes possible to access grid coverage’s data online. The grid data refers to satellite imagery, digital aerial photographs, digital terrain models and phenomena that can be represented by values at each measuring point. The request forms supported by the WCS service are the Get Capabilities, the Describe Coverage and the Get Coverage. The first request returns the metadata of this spatial data. The Describe Coverage returns in XML document format the full description of coverage request. Finally, the Get Coverage returns the final request in image format.
It should be noted that there should be no confusion between the two services WMS and WCS. Via the WMS service the spatial data is visualized in raster format. The end result is an image, in which there is no possibility for further analysis and processing. On the other hand, with the WCS, the image is a grid coverage, which the user can access via the requests supported by this service [
The WPS service provides GIS functions to clients on the web, including access to planned in advance calculations and computational models, which are associated with spatial data [
The GML is an extension of XML language and is defined in order to express and transfer geographical features on the Internet. It is an international standard that is able to integrate not only vector features but also rasterdata and data from sensors. The possibility of integrating of the latter, implemented with the GML version 3.0, is important for its usefulness.
The GML encodes the geometric objects as elements in a document. The types of geometric objects that support the versions GML 1.0 and GML 2.0 are points, lines and polygons. The GML version 3.0 incorporated new structures, which support coverage information, normalized structures and sensors’ data.
The features of GML represent physical entities, which may contain geographical and/or descriptive data (e.g. rivers, bridges and buildings). Features describing the physical entity of an element should not to be confused with the geometric objects, since the latter define a location or area. Therefore, a feature may comprise one/ more or not any geometric objects. Such a physical entity that may contain more than two geometric objects is a building described by its location and surface area.
The geometric objects are identified by coordinates, which are recorded within the following tags:
With the use of the label , as shown in the example above, it is not possible to access the coordinates separately (e.g. 30.45), given that the contents of this label is a string. From the GML version 3.0 and then, labels and are used for recording coordinates in order to allow accessibility of individual coordinates via the XML DOM.
The CRS determines the reference system of the coordinates of the geometric objects of a GML document.
In accordance with the above, a line geometric object was created, of which the reference system is determined through srsName feature. The value of the latter is a URL of an XML document of the specific reference system based on the EPSG (European Petroleum Survey Group) codes. In particular, the code 4326 defines the WGS84, while the corresponding XML document can be accessed through the website [
The Keyhole Markup Language (KML) language is an XML which focuses on the visualization of geographic information, including notes on maps and images. The geographical visualization includes, not only the representation of spatial data on the globe, but also the control of the user’s navigation. Initially developed to be used with the Keyhole Earth Viewer (by the Keyhole company, funded by CIA), which in 2004 was acquired by Google. The application has been further developed known as Google Earth, which is currently very popular, with millions of users worldwide. Given this popularity, the KML has been widely spread and has nowadays been incorporated in many geographical information management systems, as a means of interconnecting with Google Earth. In 2008 the KML has been approved as an international standard by the OGC. The KML is complementary to most standards of OGC including the GML (Geography Markup Language), the WFS (Web Feature Service) and the WMS (Web Map Service). The current version (2.2) of the KML incorporates geometry elements of the GML (v2.1.2). These include points, lines, line strings, linear rings and polygons.
The basic structure of a KML is based on the general principles of the XML (Extensible Markup Language) language, which uses tags in order to determine the beginning and the end of the different properties included in the file.
The label: is placed at the beginning of the KML and indicates that the file will follow the rules of the KML (v2.2) standard of the OGC. All data, together with the definition of the general properties, are registered within the label .
Within the label the descriptive and spatial data of a geometric object are placed. The latter may be a point, a line or a polygon.
It should be noted that the coordinates of each geometric object are defined within the label [
The GeoJSON [
The geometrical objects which support a GeoJSON are points (Point), lines (Line String), polygons (Polygon), multiple points (multipoint), multiple lines (Multi Line String), multiple polygons (Multi Polygon) and collection of geometric objects (GEOMETRYCOLLECTION).
A feature in a GeoJSON contains a geometric object together with its properties. In particular, a feature is described by two pairs of names and values. The first is the geometry, which takes the elements of a geometric object and the second is the properties, where the feature attributes are recorded.
The reference system in a GeoJSON is determined through the “crs” object, which is described by two names. The first is the type where the EPSG value is assigned, while the second is the properties which consists the subject where various pairs of names and values are assigned. The most important is the code, which takes as value the corresponding EPSG code of the reference system. If the reference system is not defined, then the WGS 84 is considered as default. It should be noted that depending on the reference system, the description of the crs object can be found in the website:
http://spatialreference.org/.
The Data server distributes the data in a database. Usually, in case of spatial data, the database connects with the map server and the query is executed by the server. For non-spatial data, the acquisition of data from the database can be accessed through the Application Server and in particular through the available server side programming language. For the database querying, whether spatial or non-spatial, the SQL (Structured Query Language) language is used. The most popular databases used in web applications are PostgreSQL, MySQL and Oracle. The first two are open source databases, and Oracle is a commercial product. MySQL is not suitable for spatial data, while PostgreSQL with the integration of PostGIS spatial database is considered as the most appropriate.
Within the content of this research work, an online system was created, based on free systems and open-source technologies, consisting of three discrete subsystems. The first one is used for the easy and quick implementation of the necessary elements of the system. The second is a spatial content management system, and the third was created for web querying of information that relates to land consolidation or distribution work for a specific parcel.
The development of the application was based on the ExtJS Framework, considered to be the most suitable for the development of applications on the Internet [
The methodological approach adopted in order to implement the system consists of three stages. In the first stage the system’s requirements were reported with regard to the users’ management, the personal data, the GeoServer, the need for determining the competence of the application area and the data regarding the web request of the citizens. Then the appropriate tables were created in the spatial database PostGIS and exported into
“sql” file. In addition, the most appropriate free technologies that can be utilized at the various levels of the architecture of the online system were investigated. As a result, the development of the application was based on ExtJS framework and therefore the basic language of implementation is the JavaScript. It should be noted that in this Framework the AJAX technology is integrated. PostgreSQL/PostGIS was used as database, while to get data from it, the server-side programming language PHP was used. For the publication of spatial data on the Internet the Web-mapping server GeoServer has been used, while their web cartographic representation was through the OpenLayers. Finally, the Apache HTTP server was used as server.
In the second stage, the web application of the system’s implementation was created. The user fills up tabs with data relating to personal information and data concerning the connection to the spatial database. Then, by using this information and the “sql” file, the appropriate tables are created in the database; at the same time, a “php” file that contains the login information to the database is also created. In addition, implemented installation of GeoServer with the following plugin: geoserver-xx-SNAPSHOT-printing-plugin, in order to be able to print data in pdf.
In the third stage, the interface was created both for the spatial content management system and the web application for the online users’ requests. The first application was created in a way to be connected with both the database implemented in the preceding step and the GeoServer.
The system thus created (
The spatial content management system (
Poros of Evros Prefecture, located in the region of Eastern Macedonia-Thrace, was chosen as study area. Evros Prefecture is considered as a plain with only 10% mountainous, while 62% is covered by a fertile plain related to the Evros River with its streams and dense irrigation system. From the early 20th century, many land distribution and re-allotment projects took place in the study area, in order to deal with the problem of land fragmentation.
The choice of this particular region was based on the availability and accessibility of distribution and re-allot- ment maps to be used for the application procedure. The available data are in raster format, georeferenced in the Hellenic Geodetic Reference System HGRS87. The whole application process is based on raster data, although the spatial content management system created also deals with vector data.
Having implemented the application, the administrator of the system makes the necessary updates by defining the limits of access, by starting up the GeoServer and by uploading the available maps for viewing (
At first, the citizen can search for a specific land parcel by using the map application, which has as background satellite imagery provided by Bing (
It should be noted that, if digitization of maps was carried out, then it would be easier for the user to search information concerning specific land parcels based on pre-set queries in the database. In particular, by selecting a point within the parcel, the spatial database would be automatically queried for information regarding the specific
parcel, thus, easing the citizen’s search.
In this example the land parcel queried is located in an area of Poros where land consolidation occurred in 1990. The user by using tools (such as “transparent”), can easily detect the identification number of the land parcel which is 220. Then, the user completes the application. Personal information is filled up first along with contact details, and then, the geospatial data are added (
When the user authorized by the administrator, chooses the “Management of applications” option of the CMS, the citizens’ requests are displayed (
Then, by choosing one of these two requests and by selecting the “Edit” button, the following WebGIS application is showed.
The user can visually select the area of the map to be extracted and choose its resolution in dpi units (
The design and implementation of this system were based on state-of-the-art technologies through which, the application was smoothly and fast operational at all levels. In particular, the AJAX technology was used, and through the JSON format data are downloaded from the Server asynchronously in the background without the need to renew the application. Additionally the system was based on the ExtJS Framework, considered as the
most suitable for the development of web applications. The GXP library was also utilized, which includes a large number of cartographic tools for the Internet. By exploiting the GeoServer capabilities and the GeoWebCache tool, the application became faster, since the response to the various spatial clients’ requests was quick and efficient.
The implemented spatial content management system provides management capability in issues relating to the users’ processing, the organization and transfer of spatial data in the GeoServer, as well as their online process- ing through the WFS-T supported by the GeoServer.
Some improvements that could be incorporated into the system in order to integrate it may include:
- Use of the GeoExplorer that provides additional possibilities to publish WebGIS applications according to users’ needs.
- Further exploitation of GeoServer roles that are created to serve security functions. These roles are assigned to users/group and determine what functions are allowed in the GeoServer. Such roles are: the accessibility to various layers, the access to WFS services and the manageability of the GeoServer.
- Use of CSW (Catalog Service-Web) for database querying based on the metadata.
- Exploitation of the GeoServer capabilities, which is the available plugins, such as inspire, CSW, WPS and SQL server. The first two relate to the metadata. The WPS concerns the option of providing GIS functions including access to pre-calculated and computational models, which are associated with spatial data (raster and vector). The SQL server allows for the creation of SQL queries, based on pre-defined parameters for the specific spatial information.
Proposals for future development of the web management system described in this paper, both in theoretical and practical terms, may include:
- Further investigation of commercial and free spatial content management systems, as well as comparative survey investigation between them.
- Further investigation of commercial and free Map server with additional comparison between them.
- Economotechnical feasibility study for the creation of a web application to resolve a problem with commercial and free systems, including software cost, time and work required.
- Redesign of the database system, based on international standards, such as the LA.D.M. (Land Administration Domain Model).
- Knowledge exploitation, to investigate and implement web application for the Hellenic Cadastre.
IoannisPispidikis,EfiDimopoulou, (2015) Web Development of Spatial Content Management System through the Use of Free and Open-Source Technologies. Case Study in Rural Areas. Journal of Geographic Information System,07,527-540. doi: 10.4236/jgis.2015.75042