Register  |  Login   Search
ThinkGeo - GPS Tracking and Mapping Solutions  |  Home  |  Cygnus Track  |  Developer Community
 
LivePerson Chat

Discussion Forums

The online community for users of Map Suite GIS components

RSS Feed Available AddThis - Bookmarking and Sharing Button Printer Friendly

PrevPrev NextNext

The Technologies Behind GIS Development

Posted by ThinkGeo on 11-05-2008 03:41 PM

Tagged As: white papers, GIS

If you are new to geographic information systems (GIS) and neocartography, this article is a good primer. Providing a background on GIS and geographical information science, the article takes a view to software development with GIS and the disciplines and technologies used therein. The application of Microsoft's .NET Framework, spatial data formats, geomatics and other tech is covered in detail.

Background on GIS

GIS is an abbreviation for "geographical information system." GIS is an advanced computer technology or computer system that utilizes an analytic framework–a geographic information system–to solve problems, integrate and manage data, as well as understand past, present, or future situations. A GIS is capable of storing, integrating, managing, analyzing, and displaying information that is geographically referenced. The geographical information system enables users to create and manage spatial data and the attributes associated with that data. In a very broad sense, GIS is a map tool that allows users to create searches and analyze and edit spatial data. Further, GIS has many useful applications in the areas of academics, business, and government.

Geographical Information Science is the science behind GIS, which lays the foundation of principles and theories upon which a geographical information system is built. Geographic information systems can be used in many areas, such as the following: resource management (managing offices, stores, targets, and tracking carriers), asset tracking (vehicle tracking and fleet tracking), development (developing map controls, geocoders, reverse geocoders, and .NET Components), route planning (determining evacuation routes and emergency response times in the case of toxic spills or natural disasters), and cartography (the science of map making).

GIS and Geography

Geographical information systems all utilize the science and discipline of Geography. Moreover, GIS uses geographical data to link information or attributes to location data. For example, a geographic information system might link people (attributes) to addresses (location data) or buildings (attributes) to parcels or streets (location data). A geographical information system will take this information and create layers to show the relationships between the attributes and data and combine these layers to provide insight into a user's questions. Geographical data in GIS can be viewed three main ways: Database View, Map View, and the Model View.

GIS Views

The Database View of geographical data is based on a GIS's database, which is a geographic database of the world. This geographic database, also called a geo-database, is a very structured database that describes and defines the world in geographic terms. In a Database type view, users define how certain geographic objects will be represented and viewed. Objects that have a similar representation are stored in the geographical database as classes. Further, each dataset in the geographic database will represent a specific geographic representation of the world. These datasets include the following types: raster datasets (digital elevation models and imagery), networks, terrains, datasets of vector-based features (sets of points, polygons, and lines), cartographic datasets (maps), and address datasets.

The second type of GIS view is the Map View. This type of view involves viewing information on sets of maps to see geographical features and the relationships between these features. Another feature of the map view is that geographic information can be used as windows into a geographical information system's database in a process called geovisualization. This process allows information in the database to be searched, analyzed, and edited. The geovisualization process involves working with a GIS's maps, often referred to as "intelligent maps," and other GIS views, such as summary charts and tables, schematic views of network relationships, and time-based views. In addition to being used as windows into a geographical system's database, maps are the main interface through which a user interacts with a GIS and utilizes its applications. Further, the maps are capable of performing a number of valuable functions, such as data analysis, data queries, data compilations, and cartography.

The third and last view of a GIS is the Model View. The Model View utilizes a process called geoprocessing, which takes information from existing datasets and applies analytic functions to these existing datasets in order to derive new datasets. This geoprocessing results in the creation of a model, which was created for the purpose of answering a question posed by the user. Geoprocessing is utilized in almost all phases of GIS, including data compilation, data management, advanced cartography modeling, and analysis. The database, map, and model views are important parts of all geographical information systems and used at all levels of application in GIS.

GIS Information Sets

Geographical information systems analyze and display geographic information in a series of information sets. These information sets include geographic datasets, maps, workflow models, metadata documents, and data models.

Geographical datasets are databases of geographical information that include networks, topologies, terrains, attributes, and surveys. Maps provide interactive views of geographical data and support advanced GIS applications when interacting with geographical data. Workflow models are collections of geoprocessing procedures that enable users to automate tasks and analyze information. Metadata documents are documents that describe other elements and allow users to access shared geographic knowledge. Finally, data models define the behavior, schema, and integrity rules of geographic datasets and play a vital role in geographic information systems.

GIS Development

GIS development utilizes a geographical information system, GIS technology, the Microsoft .NET framework, and the Global Positioning System (GPS) to build software applications, such as .NET map controls; .NET components; vehicle, fleet, and asset tracking applications; and geocoding and reverse geocoding applications. Many different technologies and file formats are used in GIS development. Some of these technologies and common file formats are as follows: Geomatics, Spatial Analysis, Geospatial Analysis, Cartography, NET Framework, .NET languages (C# and VB.NET), Map SDK (Software Development Kit), GIS SDK (Software Development Kit), Shapefiles, JPEG 2000 format, ECW format, GeoTIFF format, and MrSID format. Software engineers use some or all of the above tools and file formats to develop their GIS applications that can be deployed over the web, on a desktop PC, or even on a mobile or portable device such as a PDA or Pocket PC.

Overview of the Disciplines and Technologies behind GIS Development

This section of the article will discuss the disciplines, tools, techniques, and file formats that are commonly used by software engineers in GIS development. The common technologies and tools that a GIS developer uses come from a wide range of disciplines, such as Geomatics, Spatial and Geospatial Analysis, Geography, Geographical Information Science, Cartography, Computer Science, and Software Development. Each of these disciplines and their technologies will be discussed in greater detail in the next few sections.

Geomatics

Geomatics is the science that studies the mathematics of the earth and focuses on measuring, managing, and analyzing Earth-based data that is spatially referenced. Spatially referenced data is data that is identified according to its location. In addition to this, Geomatics also involves the practice of modeling spatial geometry, making observations about spatial positions, and estimating spatial positions. Geomatics has applications across many disciplines and professions and uses data acquired from many sources, such as air and sea-borne sensors, satellites, and ground instruments. Some of the disciplines which rely on Geomatics are Computer Science, Remote Sensing and Photogrammetry, Cartography, Surveying, Geographic Information Systems, geodesy, navigation, and the Global Positioning System (GPS).

Another view of Geomatics is that it is a branch of the Geographic Information System and specializes in the areas of measuring and surveying Earth-based data. In a broader sense, the science of Geomatics specialized in the tools and techniques that enable and support remote sensing, land surveying, Cartography, and Geographic Information Systems. Finally, in the United States, the application of Geomatics is often called Geospatial Technology.

Spatial Analysis

Spatial Analysis is the term for the process of analyzing spatial model results and geographical data. In order to understand geographical information, spatial analysis is often required. Spatial Analysis enables Geospatial Engineers to estimate, evaluate, predict, and interpret geographical information and data. One of the main methods of spatial analysis is raster analysis. Raster analysis involves the analysis of raster cells, which are grid cells in a matrix. A raster is a data structure that is composed of rows and columns that are used to store images. In a raster data type, data consists of rows and columns of cells in which a single value is stored in each cell. Many satellites transmit raster images of the earth's surface.

The other types of spatial analysis methods are topological overlay and contiguity analysis, surface analysis, and linear analysis. Spatial analysis plays an important role in population analysis and natural disaster analysis. Interestingly, the history of spatial analysis can be traced back to 1854 when John Snow used it to find the source of a cholera outbreak in London.

Geography

The discipline of Geography is closely tied to Geographic Information Systems and has a history that dates back some 4,300 years ago to ancient Mesopotamia where the first city maps were created. Geography studies the location and spatial variation of both natural and human phenomenon on Earth. The study of geography contributes to, as well as draws from, many other disciplines, such as geology, climatology, oceanography, geodesy, cartography, and GIS. The study of geography can roughly be divided into the areas of human geography and physical geography, both of which contain many subfields of study.

With the emergence of geographic information systems and advanced computer technology, geography is becoming increasingly more quantitative, and geographers can now use this technology to better investigate their theories of spatial phenomenon. Modern geography now combines cartography (map making) with geographic information systems to better understand spatial relationships.

Geographic Information Systems

Geographical Information Systems (GIS) is a computer system that creates and manages spatial data and the attributes associated with the spatial data. The roots of GIS run very deep with a history that can be traced back to almost 35,000 years ago when prehistoric people left cave paintings that depicted hunting scenes complete with track lines and tallies that showed the migration patterns of the animals they hunted. These early paintings follow the two-element structure that is the trademark of all modern geographic information systems, which is a graphic file linked to an attribute database.

A good GIS is capable of relating information from many different sources. Further, a good GIS can analyze sources of information that are in different forms. In order for this to work, a geographic information system must know the locations of the variables in the source data by marking the variables with x, y, z designations, which represent longitude, latitude, and elevation, respectively. Any variable that can be located spatially can be entered into a GIS and many types of data in map form can be entered into a GIS. In addition to spatial and map data, satellite images that are developed through remote sensing can also be analyzed to produce map-like layers of digital information.

Data representation is an important aspect of a geographic information system. In a geographic information system, data represents objects in the real world. Data for real world objects can be divided into two abstractions–discrete objects, a building for example–and continuous fields, the elevation of an object for example. In addition, there are two main methods for storing these abstractions–raster and vector.

Raster data stores data in cells that are organized in a series of rows and columns. Each of these cells holds a single value. Most raster data consists of images, however, there is also a value stored for each cell which can be discrete, continuous, or null. A null value is stored if there is no data available.

Vector data uses lines, geometries, and polygons to represent objects. An example of this would be polygons used to represent an in area, out area, or spatial fence in vehicle tracking applications. Vector data models can also apply topography rules when representing objects, such as not allowing polygons to overlap when displaying spatial fences.

Geographic Information System users spend much of their time feeding data into the GIS. This activity is known as data capture, and the data that is captured is stored in a digital format. There are several methods used in data capturing. One method evolves taking existing data that is printed on paper maps and scanning it to produce digital data. This method of data capture produces raster data that can be processed to produce vector data. The next method involves entering survey data from a survey instrument or global positioning system directly into a GIS. Another method of data capture uses satellite remote sensing to collect raster data that can be processed to identify objects.

Geocoding and reverse geocoding are other common techniques used in geographic information systems. Geocoding calculates spatial locations from street addresses and requires a reference theme to Geocode individual addresses. A reference theme can be a road centerline file that contains address ranges. Geocoding uses this reference theme to estimate individual addresses by examining the address ranges that are derived from a database. A geographic information system will then place a dot to approximate the location of the address on the road centerline.

Reverse geocoding returns an estimated street address number for a given coordinate. This process requires a user to take a set of coordinates or click a road centerline theme, and the geographic information system will return an estimated street address for the coordinates. A GIS does this by estimating the street address from a predetermined range that is assigned to the road segment where the coordinates are located.

A GIS is also commonly used in cartography to display graphics that help make relationships between map elements more visible. GIS cartographic work enables users to graphically see the results of analysis in order to better understand them. Also, other information stored in the GIS database, such as a list of addresses, can also be used in analysis.

Cartography

Cartography is the study and practice of map making. Traditionally, maps were created by hand using pens and paper, but today computers have revolutionized cartography. Now maps are created using mapping software, usually CAD or GIS software. Cartography is important in GIS development because maps serve as the visual representation of spatial data. Cartography utilizes special map symbols to represent geographic phenomenon and to visualize the world in an abstract form.

There are two main map types in cartography: general and thematic. General maps are those that are designed for general users. General maps contain a wide variety of features and are usually produced in a series. A topographic map, a map showing a surface and its elevation points, is an example of a general map. Thematic maps, on the other hand, are targeted towards specific users and focus on specific geographic themes. For example, a thematic map might be designed to show social data or represent the distribution of languages throughout a continent.

Computer Science

Computer science is the study of information and computations and their applications in computer systems. One important area of computer science that is used in GIS development is computer programming. Computer programming uses computer programming languages to create a program to solve a computational problem. Software engineering is an aspect of computer science with a focus on designing and developing software applications to achieve practical goals.

Software engineering involves the use of computer programming and high-level programming languages that are object oriented, such as C# and VB.NET. The previous two examples, C# and VB.NET are referred to as .NET languages and are supported by the Microsoft .NET Framework, which is discussed in detail in the next section. Computer programs written in these .NET languages were developed to be executed by the Common Language Runtime or CLR. This CLR is a multiple language execution environment that is part of the .NET Framework.

Object-oriented languages are commonly used to write the code for software applications in GIS development and are used in conjunction with various Software Development Kits, or SDKs. The two most common SDKs used in GIS development are Map SDK and GIS SDK. An SDK is essentially a GIS toolkit or a Map toolkit that includes many tools, sample code, libs, and documentation to help software developers write and develop to Microsoft technologies and products when creating their GIS applications.

.NET Framework

Microsoft's .NET Framework is a platform created by Microsoft that supports software development. The benefit of .NET is that it allows cross-language development, meaning that applications can be developed using a variety of languages. In addition to this, .NET provides a large standard library of structures types and data types.

The .NET Framework was created for several key reasons. The first reason is that the .NET Framework provides interoperability between old code and new code. This enables new libraries to use code from old libraries. The Common Runtime Language (CLR) is another important key feature of .Net. Programming languages on .NET compile into an intermediate language or IL. This IL allows all .NET languages to be run on any computer that supports Common Language Runtime. Another key feature of the .NET Framework is the Common Type System or CTS, which defines a library of data types and programming constructs that are supported by CLR. The CTS defines how these data types and constructs may or may not interact with each other. This feature of .NET allows development in multiple programming languages. Another important key feature of .NET is the Base Class Library (BCL). The BCL provides a library of class types to all languages that use the .NET Framework.

Finally, there is a scaled-down version of the .Net Framework that can be used on small portable devices, such as Pocket PCs and PDAs. This is called the .NET Compact Framework. In addition to the .NET Framework, GIS developers use the Microsoft Visual Studio .NET integrated development environment to write and compile their programs.

GIS File Formats

GIS development utilizes many different file formats, such as Shapefiles, JPEG 2000, ECW, GeoTIFF, and MrSID. A GIS file format is the standard by which geographical information is encoded into a file, and these file formats are created by both government agencies and GIS software developers.

Shapefiles are data types that are commonly used in GIS software products. A Shapefile stores geometric locations and its associated attributes in a vector storage format. Although a Shapefile can store geometric locations, it is not capable of storing topological information. Shapefiles are both a powerful and useful file format because they store the geometrical data types of lines, points, and polygons, as well as the attributes that these data types or shapes represent. Shapes and their corresponding attributes can represent an infinite variety of geographical data.

JPEG 2000 is an image compression file format that can operate at higher compression ratios than a JPEG file without producing blurry artifacts. In addition to this feature, the JPEG 2000 format allows for more progressive and sophisticated downloads.

ECW (enhanced –compression wavelet) file format is a wavelet compression image file format that is optimal for satellite and aerial imagery. Also, ECW is an efficient format for compressing very large images.

GeoTIFF is a format that allows geo-referenced information to be embedded within a TIFF file. Additional information, such as coordinate systems, ellipsoids, and projections are also included to help establish the exact spatial reference for the file.

MrSid is an acronym that stands for Multi-resolution Seamless Image Database and is a file format developed specifically for GIS. MrSID allows massive amounts of image data to be displayed as satellite imagery in map software. MrSid files are easy to steam over the internet because of their quality levels. A software package, GeoExpress, allows GIS developers to read and write MrSID files. Finally, the technology behind MrSID uses lossless wavelet compression to create images.

The Future of GIS Development

In the future, geographical information systems will be used more widely in government, business, science, and industry. With the emergence of Google Maps, vehicle and fleet tracking, asset tracking, satellite tracking, and the need to plot and study geographical data in order to better understand natural disasters and phenomenon, GIS development will likely continue to expand by adding new disciplines, tools, and technologies. GIS technologies are being used throughout the world to help people find places, navigate trips, and plan events. As the planet becomes increasingly interconnected, GIS development will play a major role in this event and, as a result, grow in importance.

0 Comments

Active Forums 4.1