COMPUTING FOR GIS
Written by Ross Miller
British Columbia Institute of Technology
Context
The diffusion of GIS technology into society has occurred rapidly in recent
years. Today GIS is visible in our everyday lives - from travel maps on
the World Wide Web to countertop workstations in City Halls. The reasons
for this are many - more readily available data, better dissemination of
data through telecommunications, easy to use point and click interfaces
and readily available data format translators are but a few. These advances
suggest that GIS is becoming less technical in nature, which is partially
true for many end users. But, there nevertheless remains a need in the
industry for graduates of college and university programs to be well grounded
in various aspects of computer technology. An excellent article in the
Spring 98 ARCNews by Duane Marble argues that this is necessary if GI science
and technology to continue to advance.(URL http://www.esri.com/news/arcnews/spring98articles/01-rebuilding.html
)
Overview of this Unit
This unit is designed to assist the technical GIS educator in identifying
the computer skills required for GIS tasks. Basic computer literacy skills
are presented as a foundation for technical GIS computing skills. The latter
are organized into several categories (e.g. 'Systems', 'Programming', 'Databases'),
with lists of skills at different levels of achievement (Awareness, Competency,
Mastery). The computing skills are hyperlinked to the Follow-up
Units section.
The Example Applications sections presents 3 common implementation models
of GIS programs or courses in Community Colleges, based on the amount of
GIS and computer courses included in the curriculum.
Basic Computer Literacy Skills
An assumption of this unit is that the student possesses the following
basic computer literacy skills prior to entering a GIS course or program;
-
Keyboarding skills
-
Basic operation of a standalone PC
-
Identification, understanding and use of common external hardware components
(floppy drives, CD-ROM drives, printers etc.)
-
Use of application software such as word processors, text
editors, and spreadsheets.
-
Navigation of hierarchical directory structures
-
Basic Management of files and directories (copy, move, delete, rename etc.)
-
Internet navigation skills
GIS Computing Skills
Technical GIS computing skills can be organized into several categories;
-
Programming This category covers a wide
range of programming skills, from menu and toolbar customization to component
software programming for GIS.
-
File Handling and Databases Covers file types,
database models, architecture of GIS and databases.
-
Application Software Focuses primarily
on the use of GIS and CAD software.
-
Computer Systems and NetworkingCovers a wide
range of topics, from basic knowledge of computers systems concepts (e.g.
numbering systems) to system administration tasks.
Example Application
The implementation of GIS courses and programs in community colleges can
be roughly categorized into three groups;
Group 1 - Community Colleges which have 1 or
2 courses in GIS within a traditional course of geographic studies. The
focus is on providing the student with exposure to basic principles of
GIS, applications examples and elementary use of GIS software. There may
be little or no flexibility in the curriculum for the student to take additional
computer courses. Generally speaking, the student will possess good awareness
and some competencies in the various categories of GIS computer skills
after completing the course of studies.
Group 2 - Community Colleges with an AAS or similar degree or certificate
program in GIS, which have a component of computer skills required for
graduation. For example, there may be a required programming course for
GIS customization, or a course in Relational Databases or CAD. Students
gain some computer competencies and mastery.
Group 3 - Institutions which offers a highly specialized diploma/certificate
program in GIS, and which are characterized by significantly more emphasis
on programming, systems, databases etc. Such programs might require a university
or college degree as prerequisite, and the course of studies centers on
GIS and related subjects. Students gain competency and mastery in many
areas of computing.
Learning Outcomes
The following list describes the expected skills which students should
master for each level of training, i.e. Awareness/Competency/Mastery.
Awareness is demonstrated by being able to define each concept,
for example, 'What is a computer program ?'
Competency is demonstrated by being able to to apply knowledge
in a practical fashion. For example, students would be able to write computer
programs in a high level langauge.
Mastery is demonstrated by being able to apply knowledge in a
practical fashion, in an area of advanced computing technology. For example,
students would be able to develop a GIS application using component software
technology.
Programming
Awareness:
Learning Outcomes
The student should be able to
-
describe what programming languages are
-
give examples of modern computer languages
-
describe basic processes of programs e.g. input, output
-
outline the program development cycle
-
describe 'generations' of languages
-
distinguish between interpreted and compiled programs
-
describe basic data types used in programs
-
understand the role of programming in GIS technical work
Vocabulary
-
computer program
-
low level language
-
high level language
-
interpreter
-
compiler
-
design time
-
syntax
-
run-time
-
algorithm
-
source code
-
object code
-
executable code
-
procedural languages
-
declarative languages
Competency:
Learning Outcomes
The student should be able to
-
customize GIS software interfaces (e.g. menus, tool bars) using built-in
tools
-
write programs using scripting languages (e.g. AWK, PERL) and apply these
to data handling tasks
-
customize GIS software using proprietary langauges such as MAPBASIC, AML,
Avenue
-
write programs using a high level language such as Visual Basic, using
-
data types and declarations
-
language elements
-
decision making
-
flow of control
-
file input and output
-
sub-programs and functions
-
data structures
-
user-defined data types
-
setting properties and methods for objects
-
develop well structured and documented computer programs
-
use flowcharts and/or pseudocode for program development
-
test and debug programs
-
implement well designed forms for a user interface
-
define event driven and object oriented programming
-
design and implement algorithms for geo-data handling and problem solving
Vocabulary
-
variable
-
constant
-
operators
-
precedence
-
character
-
string
-
real
-
float
-
Boolean logic
-
truth tables
-
structured programming
-
subroutines
-
functions
-
flowchart
-
pseudcode
-
event driven programming
-
object oriented programming
-
properties
-
methods
-
classes
-
inheritance
-
encapsulation
-
polymorphism
Mastery:
Learning Outcomes
The student should be able to
-
code advanced data structures such as linked lists, trees
-
develop applications which integrate/link 2 or more application softwares/languages
(e.g. AML calls to C language programs)
-
develop GIS applications using component software programming (e.g. MapObjects,
MapX)
-
develop object oriented programs using C++, Java, Magik
-
develop web pages using HTML, Javascript, VB script
-
deliver GIS data to a web browser, using dynamic HTML pages
Vocabulary
-
binary trees
-
linked lists
-
queues
-
interprocess communication
-
interapplication communication
-
dynamic link libraries
-
object linking and embedding
-
applications programming interface
-
dynamic data exchange
-
common gateway interface
-
Active Server pages
-
dynamic HTML
-
Active X
-
Common Object Model
Files and Databases
Awareness:
Learning Outcomes
The student should be able to
-
differentiate between program and data files
-
describe the organization of data files (records and fields)
-
distinguish between fixed and variable length records
-
describe common methods of data file access
-
distinguish between binary and text (ASCII) files
-
describe the file processing environment
-
define a database
-
describe common database models
-
compare a file processing environment with a database environment for GIS
Vocabulary
-
records
-
fixed length records
-
variable length records
-
fields
-
delimiter
-
CDF - comma delimited format
-
SDF - space (standard delimited format)
-
DBF
-
header records
-
trailer records
-
sequential access
-
random access
-
ISAM - indexed sequential access method
-
index
-
database
-
DBMS
-
data definition language
-
data manipulation language
-
SQL
-
QBE
Competency:
Learning Outcomes
The student should be able to
Vocabulary
-
table structure
-
data types
-
field size
-
normalization
-
relational algebra
-
distributed databases
-
entities
-
relation
-
relation table
-
indexing
-
data modelling
-
entity relationship modelling
-
primary key
-
foreign key
Mastery:
Learning Outcomes
The student should be able to
Vocabulary
-
SDE
-
CASE
-
extended relational databases
-
binary large objects
-
rollback
-
referential integrity
-
active data objects
-
open database connectivity
GIS Application Software
Awareness:
Learning Outcomes
The student should be able to
-
list current commercial GIS applications software
-
compare the functionality of CAD-based GIS, desktop GIS, and workstation
GIS
-
describe the role different GIS software play in the industry
-
name third-party and extension products for GIS, CAD and desktop software
Vocabulary
-
GIS software
-
CAD
-
(names of industry CAD/GIS software, e.g. Autocad MAP, Microstation Geographics,
Intergraph)
-
(names of Arcview extension products, MAPINFO third party products, or
similar products for other GIS software)
-
desktop mapping/GIS
-
third party
-
extension
Competency:
Learning Outcomes
The student should be able to
-
operate GUI and command line GIS/CAD software
-
perform feature/attribute linking
-
perform basic operation of GIS applications software;
-
describe the many different file types and formats used in GIS
Vocabulary
-
menus
-
toolbars
-
graphical user interface
-
command line
-
views, windows
-
layout
-
image file
Mastery:
Learning Outcomes
The student should be able to
-
use GIS and CAD software for advanced analyses, such as
-
demonstrate adequate cartographic skills using GIS
-
perform advanced data handling tasks, such as
-
conversion from other formats requiring the use of translation tables
-
data input
-
develop applications using internet map server technology
Vocabulary
-
routing
-
allocation
-
cartographic modelling
-
client side
-
server side
-
spatial database engine
-
libraries
Computer Systems and Networking
Awareness:
Learning Outcomes
The student should be able to
-
describe the basic components and functions of all computer systems
-
explain the basic functions of operating systems
-
name common operating systems used in GIS
-
describe different types of computer systems
-
describe different types of computer networks
-
describe client server architecture
-
describe common hardware used in GIS
-
describe how numeric and character data is represented in digital form
Vocabulary
-
mainframe
-
minicomputer
-
microcomputer
-
electronic data processing
-
on-line transaction processing
-
decision support system
-
centralized system
-
distributed system
-
peripherals
-
storage devices
-
random access memory
-
read only memory
-
bit
-
byte
-
octal
-
hexadecimal
-
server
-
client
-
network
-
LAN
-
WAN
-
intranet
-
scanner
-
plotter
-
digitizer
-
workstation
Competency:
Learning Outcomes
The student should be able to
Vocabulary
-
file system
-
slot
-
port
-
serial communication
-
parallel communication
-
IDE
-
SCSI
-
ZIP
-
FTP
Mastery:
Learning Outcomes
The student should be able to
-
setup and administer user accounts on a computer network
-
set appropriate permissions for data access
-
set proper security
-
establish and administer backup procedures for GIS data
-
perform hard disk management
-
perform spatial data management tasks (e.g. file and directory configuration
for libraries)
-
describe different protocols used in computer systems
Vocabulary
-
applications
-
processes
-
services
-
domain name server
-
registry
-
incremental backup
-
partition
-
protocol
-
ethernet
-
ATM
-
TCP/IP
Follow-up Units
The units which utilize some of these computing skills are indicated below.
Basic Computer Literacy Skills
Unit
20 covers the use of text editors.
Unit
21 covers the use of spreadsheets.
Programming
Unit
9 demonstrates why students need to know scripting languages and have
an understanding of the internal representation of data and files.
File Handling and Databases
Unit
19 covers planning a tabular database, and Unit
22 covers merging spatial and tabular data.
Unit
30 covers validation of database, and
Unit 31 general management of database files.
Unit
32 deals with managing digital libraries of GIS data.
Application Software
Unit
13 on digitizing gives examples of data entry and how data management
skills, such as edge matching, are used.
Unit
16 covers planning a scanning project and emphasizes the importance
of understanding image characteristics for data acquisition. See also Unit
18 on airphotos.
Unit
23 covers in depth the use of CAD software and its role and relationship
to GIS.
Unit
24 covers GPS data acquisition; Unit
25 covers COGO input.
Units 26,
27
and 28
are concerned with feature editing
Units 33
to 46
cover basic GIS analysis. See Unit
42(map algebra), Unit
45 (location/allocation ), Unit
46 (address matching), for advanced analysis topics.
Computer Systems and Networking
Unit
1 requires the student to have a good understanding of files, transfer
protocols and compression methods. Unit
6 also gives examples of how to use the Internet to acquire data.
Units 49
and 50
cover operation of peripherals.
Resources
See the CCTP Resource section for examples
of GIS Community College curriculum and courses.
Back To Core Curriculum for Technical Programs Welcome
Page
Currently maintained by Steve Palladino
Created: May 14, 1997. Last updated: December 21,
1998.
Content comments to Ross
Miller
Formatting comments to Steve
Palladino