SUMMER SCHOOL ON ADVANCES IN GIS Six Workshops Overview The workshop sequence at the UMD Center for Geospatial Information Science is designed to provide a comprehensive overview of current state-of-the-art technologies in geospatial information science (GIS), through intensive training over a short time frame. The workshops provide fundamental training in key aspects of GIS, alongside hands-on lab-based exercises across a diversity of devices, software libraries, exercises, and data environments that emphasize learning by doing. Each workshop module in the sequence is three days long, and is taught by faculty in the School of Geographical Sciences and Center for Geospatial Information Science at the University of Maryland, with extensive experience in building and applying geographic information systems for use in research and commercial environments. WORKSHOPS Programming in a GIS environment Advanced GIS Big data analysis in a GIS environment Open source GIS GIS on the Web and in the Cloud Mobile GIS SCHEDULE Jun. 12 Jun. 14 (Fri. Sat. Sun.) Jun. 19 Jun. 21 (Fri. Sat. Sun.) Jun. 26 Jun. 28 (Fri. Sat. Sun.) Jul. 10 Jul. 12 (Fri. Sat. Sun.) Jul. 31 Aug. 02 (Fri. Sat. Sun.) Aug. 07 Aug. 09 (Fri. Sat. Sun.) 1
Programming in a GIS environment This course introduces conceptual and practical aspects of programming for geographic applications. The main focus of this course is on developing a solid understanding of basic programming techniques irrespective of the specific programming language including variables, looping, conditional statements, nesting, math, strings, and other concepts. Students in this course will develop a proficiency in applying these basic programming principles to manipulating spatial data sources within the Geographic Information Systems (GIS) environment. In addition, students will be introduced to the ArcPy component of the ArcGIS software and develop a proficiency in developing custom applications for spatial data processing in the ArcPy environment using Python programming language. Upon a successful completion of the course the students will be able to: Design a solution for a geographic program using pseudocode and available spatial analysis functions in ArcGIS. Automate geospatial data processing using Python programming language and existing ArcPy functions. Appropriately use common programming techniques and structures including variables, flow control, looping, Boolean expressions.. Implement automated grid-based analysis functions. Automate manipulation of Tabular data using ArcPy functions and text manipulation using Python. Develop automated data processing flows and map generation based on user input. The prerequisites for this course include an introductory course for Geographic Information Systems (GIS). Students taking the course must be familiar with geographic data structures, basic GIS concepts, and demonstrate basic understanding of geospatial analysis. Introduction to programming and programming tools Data structures, variables, operations, and functions Control of Flow: branching Logical expressions and String manipulation Queries, and SQL expressions Lists and Looping: counted and conditional ArcPy geometry classes and objects ArcPy cursor objects Input and output text files Functions and modules Custom tool creation in ArcGIS 2
Work with rasters Debugging and error handling Introduction to Python and ArcPy scripting environment Soft coding custom scripts If, elif, else structures Modifying attributes of geographic data Loops Building vector geometries in Arc Accessing data using cursors Extracting and outputting information Creating custom toolboxes 3
Advanced GIS Based on your understanding and knowledge of basic GIS, this course focuses on advanced GIS concepts, tools and operations including spatial analysis, spatial statistics, geostatistical analysis, and geoprocessing. Students will also be introduced to a range of methods that can be applied to the exploration, modeling and visualization of quantitative data. This course will help you develop advanced theoretical and practical knowledge in spatial analysis and GIS modeling and the application this knowledge to solve real world problems. This course assumes a basic knowledge of GIS concepts and capabilities as well cartography. You must also be familiar with the ArcGIS software. Raster GIS concepts and capabilities Raster data model, advantages/disadvantages and selecting properties Map algebra Raster/grid based GIS analysis Modeling and cartographic modeling Space borne imagery and applications Distance and cost distance modeling Advanced spatial database operations the geodatabase model Interpolation & density estimation Geostatistical analysis and spatial interpolation 3D analysis Spatial statictics Visualization Exploring raster datasets Resample example and georeferencing Cartographic modeling Multicriteria decision analysis (MCDA): boolean MCE exercise using weighted linear combination Utility and network analysis 3D analysis Spatial auto-correlation and regression 4
Big data analysis in a GIS environment This course is designed to provide an introduction to statistical analysis over big data sets (and tackling big data problems) in geography. Students will be introduced to a range of methods that can be applied to the exploration, modeling and visualization of quantitative data. The course will provide important fundamental knowledge for future studies in geographic information systems and advanced statistical analysis. The course will begin by exploring the differences between spatial and non- spatial data, and defining the main descriptive statistics for these. The course covers a range of topics including: graphing and data visualization, descriptive statistics, probability and sampling, hypothesis testing, and approaches for summarizing relationships between variables. Upon a successful completion of the course the students will be able to: Articulate basic concepts relating to descriptive and inferential statistics Solve problems in geography using statistics. Analyze and map different types of spatial data, from both human and physical geography, and in interpreting the results. Demonstrate basic technical proficiency in the use of the R-Language for Statistical Computing as a tool for geographical analysis. Demonstrate proficiency in spatial analysis using expertise GIS. This course assumes a basic knowledge of GIS concepts and capabilities. Data, Statistics and Geography Descriptive Statistics Data representation and Sampling Descriptive Spatial Statistics Relationships and explanations Spatial dependency and spatial relationships Introduction to R and R packages Descriptive statistics Understanding the GEO in Geostatistics Regression and spatial regression 5
Open Source GIS Based on your understanding and knowledge of basic GIS, this course focuses on introducing Open Source software for both desktop and internet GIS applications. Introduces the concepts of Open Source software, and the leading desktop and web mapping Open Source software packages. Upon successful completion of this course the student should be able to: Understand the Free Software and Open Source (FOSS) models Work with FOSS software Show competency using FOSS Desktop software, such as Quantum GIS (QGIS), SpatiaLite, GRASS GIS, GDAL/OGR Implement the client server architecture of a web application Implement a basic Google mashup Show competency using FOSS web mapping software The prerequisites for this course include an introductory course for Geographic Information Systems (GIS). Students taking the course must be familiar with geographic data structures, basic GIS concepts, and demonstrate basic understanding of geospatial analysis. Free and Open Source Software Quantum GIS (QGIS) SpatiaLIte & PostGIS GRASS GIS QGIS & GRASS GDAL/OGR OpenStreetMap Georeferencing Introduction to FOSS4G Web Internet & GoogleMaps Cartoweb MapServer and GeoServer Intro to Open Source GIS Web Resources Introduction to QGIS QGIS Analysis and Plugins Intro to GRASS OpenStreetMap and Georeferencing Google Maps API Intro to MapServer and GeoServer 6
GIS on the Web and in the Cloud This course is designed to study web-based GIS technologies, and to help students develop the knowledge and skills necessary to plan, design, develop and publish a webbased GIS solution. This course provides students with a comprehensive and up-to-date understanding of: 1) the concepts and theories of Web/Internet GIS and its impacts on GIS applications; 2) various technologies or techniques for creating, analyzing, and publishing GIS data and services via the Internet. Students will be equipped with the state-of-art technical skills and knowledge necessary to develop Web GIS applications and to manage Web GIS projects, and will be inspired with broad and real-world applications of Web GIS in various fields. The topics covered include the hardware/software structure of the Internet (e.g. serverclient model, TCP/IP protocol), the evolution of Web GIS, and most importantly, different technology options. Students will be required to practice almost all of the Web GIS tools including Google Map API, ArcGIS Server, JavaScript API, Flex API, and Silverlight. Students will also be exposed to the experience of working with the cloud environment such as AWS EC2 and ArcGIS Online. The prerequisites for this course include skills of advanced course for Geographic Information Systems (GIS) and Object-Oriented Programming language. Students taking the course must be familiar with geographic data structures, basic GIS concepts, and demonstrate basic understanding of object-oriented programming under GIS environment. Web GIS basics and evolution GIS in Cloud: AWS EC2, ArcGIS Online ArcGIS Server and Geospatial web services basics Geospatial mashup & web GIS design principles GIS analysis on the web ArcGIS API for JavaScript, HTML5 and its uses in Web GIS Flex APIs and Silverlight APIs for ArcGIS 3D web maps Real-time GIS Create a map tour application using ArcGIS Online Create a web app with custom symbols and popups using ArcGIS Online Publish a map service on ArcGIS Server and create a web app with it Create web apps using ArcGIS Web App Builder Create web apps using ArcGIS API for Flex, ArcGIS Viewer for Flex, and ArcGIS Viewer for Flex Application Builder 7
Create web apps using ArcGIS API for Silverlight and ArcGIS Viewer for Silverlight Mobile GIS This course is designed as an introduction to mobile GIS, to the programming concepts underlying mobile GIS development, and more importantly, to the design and implement of a mobile GIS application. This course covers how to develop, test, and publish mobile GIS native apps working across two mobile platforms: Android and ios. This course will also try to leverage the capabilities of Java, Swift, Google maps, ArcGIS Server and runtime SDK to developing and publishing mobile GIS apps. Upon a successful completion of the course the students will be able to: Evaluate the pros, cons, and major challenges of developing and working with mobile GIS applications. Understand the key differences and similarities between various mobile GIS devices. Understand mobile application development and deployment process. Build mobile native apps using Google Maps API. Understand ArcGIS Server and mapping services for mobile apps. Build mobile native apps using ArcGIS Runtime SDKs. The prerequisites for this course include skills of advanced course for Geographic Information Systems (GIS) and Object-Oriented Programming language. Students taking the course must be familiar with geographic data structures, basic GIS concepts, and demonstrate basic understanding of object-oriented programming under GIS environment. Overview of mobile app development Using Android Studio for android development Android navigation and interface design Maps and Location in Android Google Map API ArcGIS server and service publishing ArcGIS SDK for Android Access to hardware and sensors in Android Using Xcode for ios Development ios navigation and interface design Persistent data in ios Maps and location in ios Google Map API and ArcGIS SDK for Android Monetizing apps and publishing apps 8
Getting to know Java and Android Studio App interface design Exploring sensors on android Build an android app based on Google Map API Publish data and services on ArcGIS Server Build an android app based on ArcGIS SDK Build an IOS app based on Google Map API Build an IOS app based on ArcGIS SDK Publishing apps through market place 9