10. TECHNOLOGICAL TRENDS in GEOINFORMATICS Prasun Kumar Gupta, Scientist, Geoinformatics Department, Indian Institute of Remote Sensing (ISRO)
Total Page:16
File Type:pdf, Size:1020Kb
10. TECHNOLOGICAL TRENDS IN GEOINFORMATICS Prasun Kumar Gupta, Scientist, Geoinformatics Department, Indian Institute of Remote Sensing (ISRO) Introduction Geoinformatics, since its advent, has taken many forms. From a mapping platform to an analytics tool – Geographical Information Systems (GIS) has evolved largely because of advancements in technology. Geospatial development was vastly limited about a decade ago. Professional (and hugely expensive) GIS were the norm for working with and visualizing geo-spatial data. Open source tools, where they were available, were obscure and hard to use. What is more, everything ran on the desktop—the concept of working with geo-spatial data across the Internet was no more than a distant dream. “In 2005, Google released two products that completely changed the face of geo-spatial development: Google Maps and Google Earth made it possible for anyone with a web browser or a desktop computer to view and work with geo-spatial data. Instead of requiring expert knowledge and years of practice, even a four year-old could instantly view and manipulate interactive maps of the world. Google's products are not perfect—the map projections are deliberately simplified, leading to errors and problems with displaying overlays; these products are only free for non-commercial use; and they include almost no ability to perform geo-spatial analysis. Despite these limitations, they have had a huge effect on the field of geo-spatial development. People became aware of what was possible, and the use of maps and their underlying geo-spatial data has become so prevalent that even cell phones now commonly include built-in mapping tools.” [1] The world of free and open source geospatial software has experienced some major changes, in the last few years. The increase in interest for open source software is evident from the following four instances [2]: 1. During 2007 and 2008 20 entries have been added to the list of software projects on the website FreeGIS.org (containing now 330 entries). 2. Increasing financial support by governmental organizations for the foundation of free and open source (FOS) GIS projects. 3. The download rates of free desktop GIS software. SAGA GIS for instance experienced an average increase of downloads in its documentation section between 2005 and 2008 from 700 to 1300 per month. 4. Increasing number of use cases of open source GIS software such as those documented by [3] for the geospatial database PostGIS. Tools such as PROJ.4, PostGIS, OGR, and Mapnik are all excellent geo-spatial toolkits that are benefactors of the open source movement. With a number of geo-spatial-related Application Programming Interfaces (APIs) and more geo-spatial data becoming available, from an increasing number of sources, it has become essential to define standards for geo-spatial data [4]. “OGC® standards are technical documents that detail interfaces or encodings. Software developers use these documents to build open interfaces and encodings into their products and services. These standards are the main "products" of the Open Geospatial Consortium and have been developed by the membership to address specific interoperability challenges. Ideally, when OGC standards are implemented in products or online services by two different software engineers working independently, the resulting components plug and play, that is, and they work together without further debugging. OGC standards and supporting documents are available to the public at no cost. OGC Web Services (OWS) are OGC standards created for use in World Wide Web applications [5]. All of this is simply the continuation of a trend that started when GIS systems were housed on mainframe computers and operated by specialists who spent years learning about them. Geo-spatial data and applications have been democratized over the years, making them available in more places, to more people. What was possible only in a large organization can now be done by anyone using a handheld device. As technology continues to improve, and the tools become more powerful, this trend is sure to continue. This article also discusses about the advancements in GIS which have also borrowed from other fields such as visualization, computing and databases. Overview of GIS customization This section will discuss the most up-to-date tools and information necessary for building and implementing customized GIS mapping applications and geoprocessing functions according to current industry standards. The tools and concepts covered comprise an introduction to programming languages and development practices commonly used to integrate, customize, automate and extend desktop GIS technologies to meet the specific needs of end users. Users normally require or want GIS customization for the following purposes: 1. Automate repetitive tasks 2. To present a custom interface for users 3. Document work 4. Maintain Consistency GIS customization has been around for a long time. Some examples of programming languages used for customization are as follows [6]: Avenue AML – ARC Macro Language ArcObjects, VBA (macros), and COM C# and .NET Python Each of the languages / platforms have their own trade-offs in terms of ease of programming, time and memory efficiency and resource utilization [7]. A wide spectrum of programming languages are used as customization languages (mainly C/C++, Python, JAVA) and the same ones are building blocks of most current GIS tools (Figure 10.1). Figure 10.1 Relationships between FOSS4G projects [8] It is very difficult to identfy the “best” programming language for GIS. It depends on what the user intends to do. It is not practical to say that C++, Python, and JAVA, or any other language are equivalent options. They are for different purposes and are often not interchangeable [9]. 1) If your GIS workstation application of choice is ArcGIS, then the best way to make your work more efficient, especially for modeling, spatial analysis, geoprocessing, data management, map automation, write and sharing tools, and more going forward, is Python. Otherwise, you're doing everything longhand and just hindering yourself. Python can also help you automate, streamline, etc. things you would otherwise do clicking buttons over and over. 2) If you expect to do a considerable amount of work developing Windows-based desktop applications, either standalone customized GIS capabilities for your end users or more advanced add-ins and extensions for ArcGIS Desktop, then you will want to consider using Visual Studio and C# to do most of this work. Going forward, this includes developing using Silverlight for the web and for Windows Phone. Java is also an option here; not equal but closely equivalent. 3) If the kind of development you need to do is to create complicated or highly-performant functional capabilities deep within your GIS functions, then there are times when creating libraries with C++ to carry the load is the way to go. But this is really just for very low-level focused work when the ability to very closely manage memory and computing resources during these functional operations is most essential. 4) If you need to create web browser or native mobile client apps for bringing together map data and web services, then you could end up needing to get familiar enough with HTML, JavaScript, or ActionScript (Flex), or Objective-C (iOS), or Java (Android), as well as getting yourself very familiar with the RESTful way of architecting, creating, and consuming services and other resources across the web. Desktop Applications Databases Web Services Libraries GRASS, QGIS, ILWIS, POSTGIS UMN Mapserver, GDAL/OGR, PROJ.4, SAGA, uDIG, gvSIG, GeoServer, SharpMap, FDO, GEOS, JTS MapWindow, JUMP, MapBender, OSSIM OpenLayers Table 10.1 Popular FOSS4G softwares Free and Open Source softwares and web resources [2], [3] give a detailed account of the free and open source (FOSS) softwares available in the GIS domain. The FOSS movement is based on two main licensing terms: the GNU public license (GPL) and the lesser GPL (LGPL). “The earliest open source license, the GPL, was created in the mid 1980s to distribute the GNU project software. Most open source software to date has been distributed under the GPL, Linux being one high-profile example. The GPL subverts the traditional concept of restricted access through copyright by ensuring complete, unrestricted access to all open source software and any derivatives. These must also be licensed under the same terms, referred to as “copyleft—all rights reversed.” This latter guarantee of the same rights to subsequent users caused such licenses to be termed viral. The GPL is controversial, because it requires that all applications that contain GPL software are also released under a GPL license. A modified version, the Lesser GPL (LGPL) was created when this proved impractical. The LGPL differs from the GPL in two main ways. First, it is intended for use with software libraries (it was initially known as the Library GPL). Second, the software may be linked with proprietary code, which is precluded by the GPL.” [10] The FOSS for GIS (FOSS4G) is a relatively new term and is coined by the Open Source Geospatial (OSGEO) Foundation. The international FOSS4G organisation has been organizing annual conferences since 2006 in places around the world (Switzerland, Canada, South Africa, Sydney, Barcelona, Denver and Beijing till 2012). A “Live DVD” is released at these conference containing GIS/RS applications and related tutorials, and sample data sets. The DVD contains standard *inx based operating system, office applications and GIS /RS softwares (Figure 10.2). The FOSS4G softwares can be broadly categorised into desktop applications, databases, web services and libraries. Table 10.1 gives a summary of the most popular softwares in each of these four categories. Figure 10.2 General function–means tree of the GIS LiveDVD The most popular GIS libraries have been developed using C/C++ are GDAL/OGR, Proj4 and GEOS. GDAL/OGR is a GIS and image format access library in which GDAL is responsible for raster data and OGR is responsible for vector data access.