Geo 118/318 – Introduction to GIS Programming

Slides:



Advertisements
Similar presentations
Foundations of Programming and Problem Solving Introduction.
Advertisements

Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
Computers in Principle & Practice I - V Deena Engel Computers in Principle and Practice I V , Sections 1 & 2 Fall, 2009 Deena Engel .
26-Jun-15 Getting Ready for CIT Labs Lab is scheduled for 3;00-4:30 Fridays in Moore 207 Lab is not in Towne 309 (Registrar has it wrong) Everyone.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
30-Jun-15 Getting Ready for CIT Labs Lab is scheduled for 1:30-3:00 Fridays in Moore 207 Lab is not in Towne 313 (Registrar has it wrong) Everyone.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
Arc: Programming Options Dr Andy Evans. Programming ArcGIS ArcGIS: Most popular commercial GIS. Out of the box functionality good, but occasionally: You.
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA Prof. Dr. Paulo Brasko Ferreira Fall 2014.
Enterprise ETL & the Home Again
Introduction to InVEST ArcGIS Tool Nasser Olwero GMP, Bangkok April
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
Lecture 4 MATLAB Windows Arithmetic Operators Maintenance Functions
CGS-2531 Problem Solving with Computer Software Course home page: Course.
CS 114 – Class 02 Topics  Computer programs  Using the compiler Assignments  Read pages for Thursday.  We will go to the lab on Thursday.
Programming for Geographical Information Analysis: Advanced Skills Lecture 1: Introduction Programming Arc Dr Andy Evans.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Introduction to Software Software. Types of software Click on each type of software to find out what it does.
JavaScript Defined JavaScript Basics Definitions JavaScript is an object-oriented programming language designed for the world wide web. JavaScript code.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
Jim Graham, Humboldt State University eographic nformation ystems Instructor: Jim Graham Introduction to Concepts.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
ECE297 TA GUIDE Project supervision. Agenda M0 feedback Project overview M1 overview Project supervision.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Programming vs. Packaged
Lecture 1b- Introduction
CST 1101 Problem Solving Using Computers
Water and people in a changing world
Introduction to InVEST ArcGIS Tool
Software Development.
Geo 318 – Introduction to GIS Programming
CSC207 Fall 2016.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
CSc 1302 Principles of Computer Science II
CSE 374 Programming Concepts & Tools
PYTHON: AN INTRODUCTION
A451 Theory – 7 Programming 7A, B - Algorithms.
Computer Science 102 Data Structures CSCI-UA
PHP / MySQL Introduction
Week 1 Gates Introduction to Information Technology cosc 010 Week 1 Gates
Assembler, Compiler, Interpreter
CS190/295 Programming in Python for Life Sciences: Lecture 1
Programming vs. Packaged
Introduction to Computers and Python
Course Overview - Database Systems
Programming for Geographical Information Analysis: Advanced Skills
Geospatial Research Methods
PROGRAMMING What is it?.
EECE 310 Software Engineering
Geo 318 – Introduction to GIS Programming
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA
Prof. Jason Eisner MWF 3-4pm (sometimes 3-4:15)
Programming for Geographical Information Analysis: Advanced Skills
Accelerated Introduction to Computer Science
Assembler, Compiler, Interpreter
Jim Graham Bachelor's in CS and Math from Chico State
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Macrosystems EDDIE: Getting Started + Troubleshooting Tips
Software Lesson 3.
CS Problem Solving and Object Oriented Programming Spring 2019
Jim Graham Bachelor's in CS and Math from Chico State
GSP 470/570 Advanced Geospatial Analysis and Modeling
Presentation transcript:

Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham

Class Goals Focus: Programming in GIS With Python Software development How computers work How to program & debug code How to tackle GIS programming tasks With Python By itself With ArcGIS With other packages Software development Documentation Management/Phases Making users “happy”

About This Class Moving from Toolbox to Python Programming in Python Putting Python and ArcGIS Together Other libraries GIS Software development Special topics: What would you like to see here?

We are not learning… Everything about Python It’s a huge language that is growing all the time! You only need a fraction of what is out there The challenge is to find that fraction and get good at it! Everything about programming ArcGIS You will learn how to find anything available in programming ArcGIS Everything about programming GIS More on this later…

We are learning… Everything you need to figure out how to solve any programming problem in GIS that can be solved! Programming Debugging Finding answers Getting help Intro to the larger world of software development

Resources for Help ArcGIS help – best for Arc libraries The web – search for answers ListServs – ? Other students – make friends in this class Me and the TA Others? Anyone you can find who might have dealt with the same problem!

Other Stuff… The website: Office hours: See Moodle Will be updated before class Please send corrections and suggestions! Office hours: When is best?

Last Semester 20% did not pass! If you fall behind in this class you will not pass! Each week we learn concepts that are used the next week We move together as a whole group Attendance is mandatory If you miss a class, make sure you catch up and getting assignments in Assignments must be in on time If you fall behind you’ll be working on the wrong assignment

Keep Up with the Pack! This class moves! Turn in labs each week This is a skills class, not everything you need to know is online – you’ll need to attend class and lab Turn in labs each week Better to turn in partial work than completed work late Get help when you need it! If you get stuck for 20 minutes, get help!

Final Projects GIS Programming Problem Must include some code you have written Must apply to a GIS application Class is 15 weeks – don’t build a biomass model for the earth! Start getting the data now!

Examples Harvest tree ring data to create a map in GoogleEarth with growth charts Program to compute likely camping sites in wilderness areas Program to mosaic LandSat scenes for anywhere in US

About Me Programming for over 30 years! Developer, Manager, CEO, Research Scientist, Professor Operating systems: CPM, Apple, DOS, Mac, Windows, and others Languages: Machine code, assembly, Pascal, Fortran, C/C++, VBA, Visual Basic, Forth… Most recently: PHP, JavaScript, Java, SQL, Python

Me and ArcGIS Worked on ArcGIS 8 beta Helped improve performance of raster transforms 10x Visual Basic Lots of VBA, some C/C++, now Python And I teach classes on using ArcGIS and applying it to natural resource problems

About You! Name Department & Degree Programming Experience GIS Experience What you want to get out of the class Other comments, questions, concerns?

Why Program? Automate tasks Speed up tasks Repeated over and over again Speed up tasks Computers can run 24/7 Allows for “exact” replication of processes Except that the libraries you call will change! “Encapsulate” functionality and expertise You and everyone else can use it

Ready to become a NERD? Learn a bunch of new terms (mostly TLAs) Think like a computer Amaze (and confuse) your friends! Get a whole new wardrobe!

Definitions Code – Instructions for a computer Programming/Coding – writing, documenting, and testing code Program – A file with instructions for a computer to execute to complete a task Application – A program with a graphic user interface (as opposed to a command line interface) Library – A file with code for a computer to be used by other programs

GIS Library/Package A library with code to complete GIS tasks Options Spatially referenced data Tasks specific to GIS Union, intersect, mosaic, project, and lots more! Options ArcGIS – arcpy, etc. GeoTools – Open source GDAL, ORG, Proj – Open source BlueSpray – SchoonerTurtles

Big Picture ArcGIS Desktop Wing IDE Other Programs Model Builder Python Scripts ArcGIS Libraries Other Libraries Data Daa includes GIS (spaially referenced) and non-spatially reference

Why Python? ESRI’s primary scripting language (for now) Very popular in GIS (Arc and OpenSource) Very flexible (can solve lots of problems) Well supported (with Wing IDE) Easy to learn (relative to complied languages) Portable But it is not the fastest language Compiled (C/C++, Java, C#) are faster

“Results” in ArcGIS 10 New window in ArcGIS 10 Records each time you use a tool Right click to “Copy to Python…” Paste into another window to see how to use the tool Warning: The function calls do not always match exactly! (more on this later)

First Assignment Do at least two operations with tools that you would normally do Copy the Python code into Wing IDE Make sure it works! Use data in files, not loaded into ArcGIS Document what the Python code is doing in your own words (comments)