Programming for GIS
Programming for GIS
The ESRI world
ArcObjects is an API allowing you to extend ESRI software and to create new applications that use the same classes.
Model Builder is a framework for handling Geoprocessing tasks.
Everywhere else
There is a rich set of tools outside the ESRI domain that can interoperate, or can be used completely separately.
Lately I have been using Geo::Shapelib with perl on both Windows and Linux platforms. I was able to whip up a geoprocessing tool quickly because of my perl past.
Proposal for a programming class
What classes are there out there? What do I think people should learn? Pre-requisite: any computer programming class, any GIS class
A bit beyond the basics
- How data are stored (not just raster or vector! I've heard that already)
Things common to most programming languages
- values and references
- assignments and expressions
- decisions and branches
- loops and iterations
- functions
- modules
- objects
- linear, event-driven and mvc
Geometry for Geographers-- Calculations based on spatial features
- extents and bounding boxes
- length, perimeter, area, volume
- midpoint, center, centroid
- fuzziness
- error
Working data from other sources
- The nature of GPS data
- Tabular data
- Scanned paper maps and photos
- Autocad drawings
- Legacy data (Coverages, elevation data, other sources)
Working with very large data sets
ArcMap
- Building Definition Queries
- Building expressions for labelling.
- Special symbologies?
- Maplex?
ArcGIS Extensions
- Spatial and 3D analyst
- Network analyst
VB + ArcObjects
- What does it take to get set up for VB programming in ArcGIS? Visual Studio?
The many faces of Microsoft, what can we safely ignore?
VBscript Jscript Java VBA VB C/C++/C# OLE COM DOM ActiveX .net
Python
- Model Builder
- ArcMap
- ArcCatalog
SQL
- Database design
- Using access
- Building reports with Crystal
Beyond ArcGIS
- ArcIMS
- GRASS
- Mapserver
- Exploring FWtools
- SAS
Resources
- Coping with change :-)
Projects
- Creating a data entry page for attributing.
- Finding the highest values in a field and displaying them; sub-selecting on type.
- Working with ArcPad Application Builder
- Spatial statistics
- Image classification
- Write a script to clean data
- Write a script to convert data from one format to another
- Write a script to extract data from a set of layers using the same extent
- Write a script to put all data into the same projection