This is the continuation of the previous article. For better understanding it is recommended to look through the earlier blog posts.
Geographic Information Systems of wide usage
Geographic Information Systems as data visualization tool are widely spread. Nowadays, there are a wide range of multifunctional GISs of high quality, including web-oriented ones (MapServer, MapFish, GeoMixer, ArcGIS and GoogleMapsAPI). Like many web based tools provided by Google, Google Maps uses JavaScript extensively. As the user drags the map, the grid squares are downloaded from the server and saved on the web page automatically. When a user searches for commercial purposes, the results are downloaded in the background layer for insertion into the side panel and map; the web page itself is not reloaded. Object positions are drawn automatically by positioning a red pin (composed of several partially transparent layers in the png format) on top of the map images. An Iframe with form submission is hidden and is used because it preserves browser history. Both of these techniques are implemented under the broad Ajax umbrella. The result is termed a slippy map and is realized elsewhere in projects such as OpenLayers. Every GIS has its own distinguishing characteristics. E.g., one of the most widely spread paid geographical information systems – ArcGIS, allows developing your own applications aimed to process spatial data, and supports client-server technology. Geodatabases in ArcGIS can be stored in various ways - as a "file geodatabase", as a "personal geodatabase", or as an "ArcSDE geodatabase". After the last software update, the file geodatabase stores information in a folder named with a .gdb extension. The insides look similar to that of coverage but actually, they may not be considered as coverage. Like the personal geodatabase, the file geodatabase is only changeable in a single editor. But still, unlike the personal geodatabase, the size is virtually unlimited. By default, 1TB is a limit value for a single table, but this can be changed. Personal geodatabases store data in MS Access files, using a BLOB field to store the geometry parameters data. The tasks may be managing users and creating backups. All of these operations may be done through ArcCatalog. Personal geodatabases, which are based on Microsoft Access, run only on Microsoft Windows and have a 2 gigabyte size limit. GEOMixer contains Application programming interface (API) which provides developers with tools of representation of data taken from different sources. MapFish, in turn, is a closed-source software that uses a popular Python web framework Pylons. It is a framework for building rich web-mapping applications that is quite flexible. It is aimed to provide high productivity, and high-quality development. In general case, extends Pylons by adding geospatial-specific functionality. For example MapFish provides specific tools that allow implementing web services that allows querying and editing geographic objects. Besides spatial extensions, MapFish provides a complete RIA-oriented JavaScript toolbox, a JavaScript testing environment, and tools for compressing JavaScript code. MapFish is open source, and distributed under the BSD license. MapServer is known as development environment supporting software development on different programming languages (Perl, PHP, Java, C, Python etc.) and working on different operating systems. The “Google” company offers to software developers a free map service which is possible to be integrated in websites for geographical data representation on the map (GoogleMapsAPI). Comparison of different GIS of wide usage is provided in the table below.
Data visualization tools
Commonly GIS, as ESRI company products (ArcGIS family) and QuantumGIS are desktop client applications. They offer a great variety of data visualization tools as shown on the figure below (a simple visualization sample).
These tools are usually realized with the help of plug-ins (independent compiled software components adding specific features to an existing product), installed by the user. Some plug-ins may have a high computing power consumption level while working with large datasets. Thus, certain plug-ins have specific system requirements. At present a web-based GIS concept is steadily becoming more popular. One of the most outstanding advantages of this concept is total availability of all the visualization tools to all the users. Moreover the systems requirements are extremely low as all the calculations and processing are performed on the server side.
Currently among the most remarkable visualization tools available on web-based GIS are:
CartoDB
GISCloud
MapBox
It is worth mentioning CartoDB as it is almost a fully working GIS with a powerful visualization toolbox. Datasets are uploaded by the user himself, data may be later filtered, sorted and grouped. Visualization tools allow performing data classification, clusterization, color encoding, heat maps and animation. Visualization results may be easily integrated into websites and adjust their appearance with the help of CartoCSS. Developers are given an access to the API in order to create their own visualization tools.
All the tools mentioned above are considered as ready industrial solutions and technologies but there are a great deal of program libraries that may be useful in creating own visualization tools. In the context of our project of creating a web-based GIS we are going to consider program libraries that are possible to be applied in web-applications on the client side. This means using special data visualization Javascript libraries such as:
D3.js
Leaflet.js
Processing
Heatmap.js
A classic example of data visualization is a choropleth map
Thus, existing solutions for space data visualization are commonly presented as web applications with a hosting for datasets uploaded by users. These datasets are generally used to build different visualizations applying Javascript libraries. Datasets are usually preprocessed on the server side. There is no general classification of geographical data visualization as there could be different kinds of tasks and problems. Visualization methods and tools are always separately selected in every particular case (typical representation classes are classification, clusterization, heat maps etc.). There are certain program libraries aimed to help developers in creating their own data visualization tools in different formats. In most of the cases these are client libraries written on Javascript. With the help of modern style description languages it is quite possible to create a flexible tool to build different type visualizations.
To be continued.
Commenti