VISUAL PROGRAMMING FOR GEOGRAPHIC INFORMATION SYSTEMS
- GEOG 4560/5560 -

 Instructor: Minhe Ji Lectures & Labs: W: 6:00–8:50 PM (ENV 336)
 Office: ENV 310G (565-2377) UNT WebCT: webct.courses.unt.edu
 Email jminhe@unt.edu Office hours: WR: 3:00 – 4:30 PM

Course Objectives: Introducing the modern concepts of component programming and object-oriented data structures and their applications in developing custom GIS solutions. Students will learn how to 1) define spatial problems in an object-oriented perspective, 2) decompose spatial processes into discrete computer program procedures, 3) implement the conceptual model of GIS operations in an object-oriented visual programming environment, and 4) evaluate and optimize procedure performance.

Course Description: GIS technology has gained a great deal of attention from many different disciplines. The diverse nature of GIS applications requires that the system be customized and extended to accommodate the needs of specific implementation environments. The open system architecture coupled with object-oriented visual programming techniques has become the norm of modern GIS, and the demand for it has been increasing in both public and private sectors. To prepare students to meet the challenge of today and tomorrow's dynamic GIS market, this course examines the linkage between GIS and visual object-oriented programming and how it can be used to customize and expand GIS functions for different GIS applications.

Textbooks and Supplementary Readings:
  1. Schneider, David I., 1999. An Introduction to Programming Using Visual Basic 6.0. 4th Edition, Prentice Hall: Upper Saddle River, NJ, 813 p. with CD (ISBN 1-01-936428-5)
  2. Hartman, Robert, 1997. Focus on GIS Component Technology: Featuring ESRI's Map Objects. (or Exploring GIS Component Technology: Featuring MapObjects) OnWord Press: Santa Fe, NM, 341 p. (ISBN 1-56690-136-7)
  3. ESRI, MapObjects 2 (downloadable from www.esri.com for a 90-day evaluation) - Online Help (Important source of technical information on MapObjects)
Grading Policies: Attendance is required and crucial to keeping up with the pace of the class. Although there is no grade penalty, the effect of skipping class will show immediately in your performance in the rest of the semester. Your performance is evaluated with two exams (20% each), four labs (10% each), and one group project (20%). Labs are usually due in two weeks from the handout date. Late labs will be marked down by 10% per day. There is no makeup exam. The course grade will strictly follow the 90-80-70-60 breakdowns.
Extra Requirements: Graduate students of this class are required to complete a system design for an additional GIS application of their choice. The work must be presented in the form of a written proposal and with a flowchart. A sample proposal will be distributed in class.
Disabled Student Assistance: Any student who, because of a disabling condition, requires special arrangements in order to meet the course requirements should contact the instructor before the 4th class period of this semester to make necessary accommodations.

  Course Outline: (Note: S - Schneider, H - Hartman, MO - MapObjects)

Class Date

Major Topics

Readings & Assignments

08/30

Basic concepts of the open GIS architecture, OO programming environment, GIS object models, VB basics: objects, events, data types, program input and output, built-in functions

S1-3, H1

09/06

Procedural programming: sub procedures, functions, and modular design

S3-4, H2

09/13

Logic of programming: decision and repetition statements

S5-6, HW1

09/20

Data organization through arrays: array creation, access, control, and searching

S6-7

09/27

Disk file access: sequential and random-access files

S8-9, HW2

10/04

More controls and objects in VB; database management through VB

S11-12

10/11

Object-oriented programming and communicating with other applications.

S13-14,
HW3

10/18

Understanding MapObjects basics (components, object model, diagram), Linking MapObjects to VB

H3, 5-6, MO Help

10/18

Midterm Examination (7:30 PM, CSAM)

 

10/25

Working with maps and layers: Layers collection (MapLayers, ImageLayers), DataConnection GeoDatasets, TrackingLayer, map extent and scale, map zooming, panning, and resizing

H7, MO Help,
HW4

11/01

Cartographic rendering of map features: Symbol, TextSymbol, String collection, Renderers (ValueMapRenderer, ClassBreaksRenderer, DotDensityRenderer, LabelRenderer), MoPlus (LabelPlacer, ChartRenderer, GroupRenderer)

H8, MO Help

11/08

Spatial and attribute data queries: Recordset, Statistics, Query tools (SearchByShape, SearchByDistance, SearchExpression), relate and query external tables

H9, MO Help,
Group Project

11/15

Creating and editing feature geometry and attribute data

Handout, MO Help

11/22

Projection and coordinate transformation

Handout, MO Help

November 23-26: Happy Thanksgiving Holidays!

11/29

Matching addresses and locating places (AddressMatcher, AddressLocation, Address, PlaceLocator)

Handout, MO Help

12/06

Group project presentation and evaluation

12/13

Final Examination (6:00 PM, CSAM)

All Assignments Due