![]() |
|||||||||||||||||
| The first course will cover essentials of HTML, JavaScript, ColdFusion, and PHP ...followed by a second course on Web GIS using four different systems! |
Site & Course Structure The material on this site is organized around two college-level courses: Web Programming and Web GIS Development. The Web Programming is presented in five modules. The first part is an overview of Web Basics and Client/Server Processing with a lab that lets the students (i.e. you) get your feet wet with an Ice breaker coding exercise. In the second module, you will dabble with HTML coding, particularly with forms & frames, using a text editor (no fancy HTML editors here!). You will then learn some basic JavaScript programming to add dynamic elements to your web pages in module three. After the mid semester break, we switch to server-side programming, first with ColdFusion for setting up web pages that interact with relational databases, after which you will learn how to use PHP (see www.php.net) for the same type of web-based processing. What do all these technologies have to do with Web GIS? Well, they are the tools you need to build an actual site, even with the sophisticated Web GIS software available today. In the first half of the Web GIS Development course, you will learn about Web GIS technology and complete a "Web GIS Sampler" lab for each of the most popular systems: Autodesk MapGuide, ESRI ArcIMS, Intergraph GeoMedia WebMap, and Open Source MapServer. During the same period, you will also build on the project work completed in the Web Programming course to create your first fully functional municipal web GIS site with MapGuide. In the second half of the summer course, you will learn about Cartographic Design and Web Services, two important topics for those building web GIS sites, while re-creating the municipal site using MapServer. You can immediately jump to the site map which provides links to all lectures, labs, quizzes, and projects in all modules of both courses or, for more information on the entire course, you can view the complete course
outline, or jump to any of the first three modules using the following links...
...or you can read on and get an overview of each course stream (lectures, labs, assignments, quizzes, and the project)... although the rest of this page has not been updated for a while!. |
||||||||||||||||
|
Lectures (...the sometimes boring, but necessary, stuff) We will cover the various types of Web GIS applications, and the concepts and technology behind them, along with introductions to all of the practical topics mentioned above. By the time we finish, you will know what is meant by: Client/Server Computing, Thin/Thick Client, Light/Heavy Server, Dynamic Web Browser, Remote Map Generators, and a whole bunch of other neat terms you can use to impress your friends! The lectures will be delivered using PowerPoint presentations and HTML pages for the most part. Copies of the slides will be provided as handouts at the beginning of each lecture and the presentations will be posted here. Nevertheless, make sure you're in class every week (Tuesdays, 10:00 - 12:00, in room 250)! Week 1: Getting Started - learn about the fundamental principles and advantages behind Web GIS and get introduced to Internet concepts and practices including topics like Client/Server architecture, Internet and Web protocols, URLs, Domain Names, and the difference between static and dynamic web pages. The lecture is presented in two parts: Web GIS Overview & Demo and Web Basics. Week 2: Client/Server Strategies - this lecture covers more technical aspects related to Client/Server architecture introduced in lecture 1. The material is organized in two parts: Client/Server Processing and Programming. Week 3: HTML Basics & Tables - this presentation first introduces the most fundamental HTML codes in a very concise way in the HTML Basics lecture, followed by an introduction to HTML Tables which come in very handy for formatting web pages for all kinds of things, like output results of database queries, or organizing user input forms. Week 4: HTML Frames & Forms - this lecture will teach you what need to know about HTML Frames to divide the browser window into two or more "panes" to make your site more effective and user friendly, and HTML Forms to create custom web pages to solicit input from the user with text fields, pull-down menus, push buttons, checkboxes, and radio buttons. In the next lecture on JavaScript programming, you will learn how to add functionality to each of these form elements. Week 5: JavaScript Programming - here we will look at the basics of adding programming functionality to your web pages in an straightforward Getting Started lecture. Specifically, you will see where JavaScript can go in a web page and what it looks like. A couple of pages on syntax (namely, operators and statements) together with two working examples, are also included. Week 6: JavaScript Programming - the key to really understanding JavaScript is the Document Object Model, and this lecture provides a reference for all objects and their methods and properties, which in many cases, include working examples. Week 7: JavaScript Programming - the final piece of the JavaScript language is Events. In this lecture, entitled Events (and Exercises), you will be introduced to events and event handlers and be given a complete reference of all events. To help tie everything together, a series of 12 exercises is also provided. Week 8: - Reading Week - get caught up or take a well-deserved break! Week 9: Introduction to ColdFusion - a brief presentation on ColdFusion history, positioning, and advantages is presented before we get right into some of the more common tags for working with data, controlling program flow, passing parameters, and accessing databases over the web. Week
10: Querying Databases and Displaying Data - ColdFusion has great tools for retrieving data from a database and displaying them in dynamic Week 12, 13: Autodesk MapGuide - these lectures start with an overview of MapGuide system architecture and then cover the features of each of the main components: the Viewer, the Author, and the Server. Information on Map Window Files and the SDF loader is also included. Week 14, 15: Web GIS Services - these final lectures deal with technical topics related to Web GIS in general and focus on seven services that can be built into web sites to deliver GIS data and functionality over the Internet. |
|||||||||||||||||
|
Lab Exercises (...the fun, but sometimes frustrating, stuff!!) These labs should be completed during your scheduled lab time on the Geomatics intranet. However, you may need to finish them on your own time outside of class. Lab 1: MapGuide Viewer and Author - use the Autodesk MapGuide Viewer to manipulate mapping data over the internet (or in our case, over our "intranet"). And then use the Author to put together your own web-ready map files, complete with point, polyline, polygon, text, and raster layers, an SQL data source, thematic mapping, and cartographic styles. Lab 2: Getting Started with HTML - check out the first 10 tutorials on creating web pages that are part of an excellent series developed by Alan Levine at the Maricopa Community College in Arizona. Lab 3a: The Triangle Page - build your first web application using HTML and JavaScript. This simple program receives three integer numbers from the user that represent the lengths of the sides of a triangle; the program analyzes them and outputs the type of triangle. This is a good opportunity to break the ice with JavaScript. Lab 3b: Web Calculator - get into something a little more challenging and versatile in this lab when you build your own web-based numeric calculator that can be used to perform simple arithmetic operations. Lab 4a: Building a Web-Database Application (part 1) - In this lab exercise, you will develop a ColdFusion-powered web application to retrieve and display data from an Alumni database. You will implement several ColdFusion tags into your templates along with plenty of HTML and some SQL (JavaScript is not required... whew!). Most of the code will be based on this week's lecture notes. Lab 4b: Building a Web-Database Application (part 2) - Now that you can query a database and display the data in HTML pages, you will develop the other half of this application with ColdFusion Forms and templates to populate and update the database. |
|||||||||||||||||
|
Assignments You must complete these assignments on the Internet so that you can follow links to external sites and submit your work for evaluation via email. Assign 1: Web GIS Sites - visit a selection of sites that go all out by incorporating spatial data for display and analysis. Assign 2: More HTML - complete another 10 tutorials in Alan Levine's series as you become expert in writing HTML. Assign 3a: JavaScript and Forms - learn how to create dynamic web pages using JavaScript and how to solicit user input with HTML forms, using the last two tutorials from the series prepared by Aline Levine. Assign 3b: Dynamic Web Pages - learn and see the difference between static and dynamic web pages. These sites sit between ancient (i.e. early 1990's) web technology and emerging web technology (e.g. as seen on the sites visited in assignment 1). |
|||||||||||||||||
|
Quizzes At the end of each module, you get to complete a quiz with questions based on the material covered in the lectures and lab exercises (although questions specific to the assignment will not be included, it's still a good idea to get each assignment done before the quiz if possible since it will reinforce the lecture and lab topics). These little open book multiple-choice tests will be completed and evaluated electronically using a custom "WebQuiz" system I put together using ColdFusion. To access the quizzes, you must have an account on the Geomatics intranet (sorry) as well as a login name and password for the WebQuiz system. To complete a quiz (once I enable it for access!), type the following URL into the address field of your browser (or just click on the link) to display a page of handy links, including one for the quizzes: WebQuiz: http://moten/tony/index.htm |
|||||||||||||||||
|
Projects For this project, you will create a "Parcel Locator" web site to locate city parcels by address. The address number and street name will be specified by the user, and the Parcel Locator will display the corresponding map image and database attributes. Project 0: analyze the problem at hand, design a possible solution in the form of a web GIS site, plan the implementation, and prepare the necessary map images and attribute data. Project 1: put together your first (low-tech) Web GIS site using HTML forms and frames and a tiny bit of JavaScript to display map image files and web page reports on parcels based on the street address specified by the user. Project 2: add a couple of buttons and a few JavaScript functions to your original version of the Parcel Locator to make it more versatile and functional. Project 3: build on the earlier versions of your Parcel Locator to add dynamic database functionality using ColdFusion to populate the Select pull-down field with attributes from the STREET table and to generate a dynamic report for the specified parcel. Project 4: develop the final version of the Parcel Locator, incorporating the MapGuide plug-in for displaying and manipulating spatial data delivered over the Internet, and add other enhancements to the interface and more GIS functionality. |
|||||||||||||||||
|
Thanks!
|
Acknowledgements Some of the material presented on this website has been adapted from other sites and from books and individuals. Proper credit has been included wherever possible. I'd also like to especially thank the following people:
|
||||||||||||||||
|
Comments?
|
Feedback Your comments and suggestions on any part of this site or course are always welcome! Please contact me by email, phone, in person, or whatever (see below). |
||||||||||||||||
|
Anthony Bonnici Professor, GIS Cartographic
Specialist Program
Email: tony@webGISdev.com
College Phone: 705-324-9144 (office: room 219, ext 3708 /lab: room 339, ext 3360) |
|||||||||||||||||
|
|
Home | Email Tony | Site Map | Partially Updated: | 9 Dec 2006 | ||||||||||||