Unit 4.1

GIS Software.


Three key parts of GIS software systems:
- User Interface,
- Tools (Functions),
- Data Manager (Databases).

(Textbook: Ch 7, 8)


User Interface.

Command Lines

Command Mode: (ARC/INFO workstation)


Graphic User Interface (GUIs)

A Rich Neighbor Named Xerox:


(ArcGIS 9.1 ArcMap Example)



Innovative Mapping User Interfaces

Wii Virtual Globe Demo

A virtual Globe demo in Nintendo Wii by Dr. Ming-Hsiang Tsou.

YouTube: http://youtube.com/watch?v=nzRVcCLJOxc
Click here to download this video!




Wiimote Whiteboard project

This project/application was created by Johnny Chung Lee when he was a Ph.D. student in Carnegie Mellon University. 


whiteboard demo


How to create an IR Pen?


Revised whiteboard program for Vista 64 platform: Smoothboard:


(Excellent revision of the original program.  Perfect for Google Earth application)

A very good painting tool: ArtRage (free starter edition):  http://www.artrage.com/



Wii Fit and NASA Wolrd Wind

Wii fit - feet input

(using Wii FIT scale).http://www.youtube.com/user/SchoeningJohannes

XBox Kinect




Direct Manipulation User Interface.  (Touch table)



(Show the 2004 ESRI conference move and the 2005 3D Terrain Mapping Table movie)



UI from Minority Report?





Question: Have you ever used any computer software?  Please tell us your experiences in using these software.  (Microsoft Word?  Powerpoint?  Windows Live Messenger? Google Talk?)


Human Computer Interaction (HCI)  and

User Interface Design

horizontal rule


What is Human Computer Interaction (HCI)?

Human-computer interaction is a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them.

(source: Curricula for Human-Computer Interaction (ACM SIG CHI) http://www.acm.org/sigchi/cdg/cdg2.html#2_1 )




Tools (functions).

ArcGIS 10 Desktop Toolbox: Data Analysis, Data Conversion, Data Interoperability, Data Management, Editing, Geocoding, Geostatistical Analysis, 3D Analysis, Linear Referencing, Multidimension, Network Analysis, Parcel Fabric, Schematics, Spatial Analysis, Spatial Statistics, and Tracking Analysis.





The Data Manager (Databases).

(ArcGIS 9.1-- ArcCatalog).





Major functions of GIS software:

collecting, storing, managing, querying, analyzing and presenting geographic information (textbook p.158).


Collecting data: Digitizing, scanning, and editing Data.


(Image source:  ESRI lecture notes).


Editing in ArcGIS 10 http://www.youtube.com/watch?v=g8WqYpJUG2k&feature=related 

Example of Softcopy

OpenStreetMap is built by GPS tracing and Softwcopy.

Geospatial Revolution Episode 1 & Chapter 4: http://www.youtube.com/watch?v=gxCEb5Cv4Nk&feature=player_embedded



Storing data: create a data file or a database (e.g. Shapefile, Geodatabase, ArcSDE)

e.g., ESRI Shapfiles: http://en.wikipedia.org/wiki/Shapefile


Shapefile (!!!!) is comprised of  .dbf, .prj, .sbn. .sbx .shp .shx



Personal Geodatabase:   Microsoft Access
(MDB file -- One database --> one file  --> multiple data sets)

Database: an integrated set of data on a particular subject

Geographic (Spatial) Database: Database containing geographic data of a particular subject for a particular area (geospatial features)





ArcSDE: Middleware to link between GIS software and Traditional Database Management Systems (MS SQL server, IBM DB2, Oracle Database, etc.)

Database Management System (DBMS): Software applicatoin designed to create, maintain and access databases (efficient storage and access).

Oracle Commercial: http://www.youtube.com/watch?v=4qzFFBff34g




Managing spatial data: update, convert, merge data

Merge Polygons ArcGIS: http://www.youtube.com/watch?v=kymtYPNv2gU


Clip: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#

Clip illustration


Merge: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//001700000055000000

Merge Illustration


Split: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//000800000006000000.htm


Split illustration




Union: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00080000000s000000.htm


Union illustration



Query data:

Spatial query and Attribute query

Querying Data in ArcGIS Desktop: http://www.youtube.com/watch?v=xiR7bn9KfrE

SQL (Structured Query Language): a programming language designe for managing data (http://en.wikipedia.org/wiki/Sql)



Attribute Query:





Spatial Query:

Spatiql Query

  • Which hospital is located in suburban areas of the San Diego County?
  • Which elementary school is located in La Mesa?
  • Which coffee shops are located within 1 mile from SDSU campus?





Analyze data and Presenting data: maps or graphics.

Analysis in ArcGIS 10 http://www.youtube.com/watch?v=Hd13H0XO0LU&feature=related






GIS Software distribution types:

  • COTS: Commercial-off-the-shelf software.
  • Shareware: Intended for sale after a trial period.
  • Liteware: shareware with some capabilites disabled
  • Freeware: Free software but with copyright restiriction
  • Public domain software: Free with no restrictions
  • Open source software: the source code is provided and users agree not to limit the distribution of improvements



Commercial products


Shareware (http://en.wikipedia.org/wiki/Shareware)




Open source software




History of GIS

Geospatial Revolution Episode 1 Ch. 3: http://geospatialrevolution.psu.edu/episode1/chapter3

SYMAP: https://www.youtube.com/watch?v=5oJIBEvut38&t=262s

Roger Tomlinson: http://www.esri.com/esri-news/arcnews/spring14articles/roger-tomlinson-geographer  (The Father of GIS).







The 1960s

Operational GIS with loosely coupled computer routines

The Canadian Geographic Information System (CGIS) (Roger Tomlinson)

The Harvard Laboratory for Computer Graphics and Spatial Analysis, 1965. SYMAP (Synagraphic Mapping System 1966),

The establishment of ESRI by Jack Dangermond, 1969

The 1970s

GIS with standard user interface and the development of commercial products


POLYVRT and ODYSSEY implemented (computer mapping and analysis packages)

The 1980s

Development of commercial GIS software; Command line user interactions

The release of Arc/Info, 1981

MapInfo, founded in 1986

The 1990s

Growing GIS markets with several dominating vendors; Graphic User Interfaces; GIS software for specific applications; Customizable software development based on object-oriented programming; Spatial database

A series of ESRI products (ArcSDE), MapInfo, Intergraph MGE

The 2000s

Internet GIS with distributed Web Services; GIServices; Interoperability issue; Open source GIS

Geography network by ESRI; Open GIS Consortium standards widely adopted


Making Maps with a Typewriter





The Architecture of GIS:

Three Tier Architecture

  • Presentation (user interface),
  • Logic (tools - middleware)
  • Data server (data management)

 ( http://en.wikipedia.org/wiki/Image:Overview_of_a_three-tier_application.png  )


(Image from Peng and Tsou, 2003, Internet GIS).




Main Frame GIS: 1970s, 1980s

Desktop GIS: 1990s.

Internet GIS: 2000s

Mobile GIS: 2000s


Why 2000s?





GIS Software Customization.


Standard programming languages are adopted (Java, C++, Visual Basic, and python).


ArcGIS Model Builder  (Visual Programming / Modeling Tool)

ModelBuilder is an application you use to create, edit, and manage models (workflows).






ArcGIS (VBA: Visual Basic for Applications)



Java: Integrated Development Environments (IDEs)



API: Application Programming Interfaces. --> ArcGIS Server API and Google API


ArcGIS API for Javascript ( http://help.arcgis.com/en/webapi/javascript/arcgis/)





Python !!!!!!!

ArcGIS  Python http://www.esri.com/news/arcuser/0405/files/python.pdf

 ArcPy: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//000v00000001000000

Python Intro







Strategies of Building GISystems

Commercial products  vs. open source tools .


Geotools: http://geotools.codehaus.org/    http://en.wikipedia.org/wiki/GeoTools

GeoTools is an open source Java code library which provides standards compliant methods for the manipulation of geospatial data.


PostGIS http://postgis.refractions.net/



Quantum GIS: http://www.qgis.org/  

Video for Introduction to QGIS: http://www.youtube.com/watch?v=K2iJFeyHnvA



More OpenSource GIS tools:  http://opensourcegis.org/



Which types of GIS platforms you prefer? Discuss with costs, training, administration, reliability, scalability, robustness and availability between commercial GIS vs. opensource GIS.




GIS Software Types:

  • Desktop GIS (ArcView, ArcInfo)
  • Server GIS (ArcGIS Server, ArcIMS -- Internet Map Server)
  • Developer GIS (GeoTools, ArcObjects, MapObjects, ArcGIS Engine)
  • Hand-held GIS (ArcPAD)
  • GIS Database Middleware and Extensions (ArcSDE, PostGIS)





Unit 4.2

Geographic Data Modeling


Data model:

"A data model is a set of constructs for describing and representing parts of the real world in a digital computer system."  (textbook, p. 177).

Why data model is important?  Different data model --> different spatial analysis capabilities.


Example of Data model:  SDSU Student Information.

Object-Oriented Model:





UML and the design of diagrams.





Four Levels of Data Model Abstraction : 

Reality – Conceptual model – Logical model – Physical model.


Data Model Abstraction


Conceptual Model: Define objects, types of objects. Discrete object vs. Continuous fields?

Logical Model: Create Diagrams and list desribing the properties of objects, their behavior, the type of relationships.

Physical Model: Define database schema


data modeling

(Zeiler, 1999, Modeling Our World, p.17)




data modeling




Example: Modeling Terrain

Real World:


Conceptual Model: Continuous Field 

Digital Elevation Model (DEM)


Logical Model:




Physical Model: Data Schema.





The Comparison between CAD, Graphical, and GIS Data Models:


Traditional CAD

(Computerized Aided Design or Computer Assisted Drafting) Data Model.  

  • No Topological relationship.
  • Fast drawing.
  • Good 3D functions

GIS and CAD overlap in highly accurate mapping tasks like surveying and civil engineering



Graphic Design Tools

(Freehand, Canvas, Painter).  (No Databases or Attributes for graphic elements (points, lines, polygons).  Purely presentation purpose.  No query functions.



GIS Data Model 

Connecting Attributes and Graphic elements, include topology relationships.  Very large size of data and very complicated drawing procedures (multiple map layers).




Discussion: Why CAD (Computer-aided Design) is not suited for describing geographic information ?

(Coordinates, identification, no topology, Spatial Analysis Function)




[E-Business with GIS] Movie



GIS Data Format More Concepts:

Review: What are two types of GIS Data Formats?





A. Raster Data Model

File Compression






Encoding Method:

 Use compression technologies; wavelet compression techniques (MrSID, ECW)

http://en.wikipedia.org/wiki/Wavelet_compression .




Size of Images

How many bands (Layers)?  What's the storage size for each pixel? (2 bits?, 8 bits (One byte)?  24 bits (3 bytes)?


(Four Bands -- First-Blue,  Second-Green, Three (not used), Four-RED). 



The size of each pixel


Images size: 24MB



Image size: 8MB


Image size: 4MB


Image size: 1MB


Discussions: What are the advantages and disadvantages of raster data models?






B. Vector Data Model




Vector model = simple features + topological relations.

Features are vector objects of type point, polyline, or polygon. (p. 184),

Topology is the science and mathematics of relationships used to validate the geometry of vector entities, and for operations such as network tracing and tests of polygon adjacency. (p. 184)



Discussion: Why do we need topology? 



Topology: Science and mathmatics of geometric relationships


(Image from ESRI lecture notes)




Vertex: any point on the polygon where two sides (line segments) meet or connect.






###.AAT (Arc Attribute Table)










Examples of Vector Data Models:

Arc/INFO Coverage Data Model






TIN Data Model

Triangulated Irregular Networks (TINs)

  • TIN is used to create, store, analyze and display surface information. 
  • Points are connected with their two nearest neighbor points
  • Comprised of points with x,y,z values
  • Series of edges that join the points to form triangles.







Images from ESRI ARC/INFO help file.


TIN Data Model Advantages:

  • Compact Data format (save disk space).
  • Consisting of irregular nodes and lines;
  • Accurately describing the relief;
  • Topological vector structure;
  • Flexible and efficient in terms of storage space;


More information about TINs:








Object Oriented Data Model (!!!!):

Shapefile vs. Coverage (Topology) vs. Geodatabase (OODM)


Try to mimic and simiplify the real world

  • Define a class
  • Define attributes of a class
  • Define behaviors(also called as methods and functions) of a class
  • Define Relationships
  • Create Instances


Important concepts of OODM

  • Classification & Hierarchy
  • Inheritance
  • Encapsulation (Information hiding)
  • Polymorphism


Class: A template to create "Instance" of itself.

Instance: A copy of a class (also called as an Object).

Creating an object is also known as instantiation.


cookie cutter vs. cookies







e.g. Water Distribution System



source: textbook


More resource:

!!! Youtube Video: http://www.youtube.com/watch?v=hX1Q9wQ5QMk !!!




UML:  Unified Modeling Language.



Source: http://edndoc.esri.com/arcobjects/9.1/ExtendingArcObjects/Appendices/UMLAndCASE.htm



Give ONE examples of objects and their attributes.

What are the advantages of object model?

What is a “class” and what is a “rule”?

(Attribute rules, connectivity rules, relationship rules and geographic rules)



Relational Database?

Object-Oriented GIS data model ? (Not really.  Most of current GIS databases are still [Relational Database]. Shapefile vs. Geodatabase

Hybrid GIS Data Model (Relational + OO)



Unit 4:  In-Class Discussion



Please create and define THREE "related" Data Objects by following the rules of Object-Oriented Modeling and explain the three Objects' attributes, behaviors, and their relationships.  (All three objects must be related to each other).  Draw a diagram of the three objects by following the [Object Model Notation]. Use the following file: OODM_2012.pptx