Geography 465 Overview Geoprocessing in Arc GIS Geoprocessing

  • Slides: 35
Download presentation
Geography 465 Overview Geoprocessing in Arc. GIS

Geography 465 Overview Geoprocessing in Arc. GIS

Geoprocessing as modeling MODELING

Geoprocessing as modeling MODELING

Types of Models in GIS (by function) • • • Descriptive models – database

Types of Models in GIS (by function) • • • Descriptive models – database Change models – before and after Impact models – what happens Explanatory models – process influence Predictive models – what will be like Prescriptive models – should be like

Example of Suitability Model

Example of Suitability Model

The core of Geoprocessing… building data processing chains in GIS: data -> operation ->

The core of Geoprocessing… building data processing chains in GIS: data -> operation -> output

Geoprocessing Framework in Arc. GIS 9. x Multiple ways to do geoprocessing in Arc.

Geoprocessing Framework in Arc. GIS 9. x Multiple ways to do geoprocessing in Arc. GIS

Developing Geoprocessing Procedures with Model Builder Why use Model Builder? • • • Automates

Developing Geoprocessing Procedures with Model Builder Why use Model Builder? • • • Automates geoprocessing workflow Portability Extensibility Reusability Documentation

Developing Geoprocessing Procedures (models) with Model Builder • • • Identify the components of

Developing Geoprocessing Procedures (models) with Model Builder • • • Identify the components of a model Build and test models Edit existing models Simplify complex models using submodels Set up a model to run from its dialog – model parameterization • Facilitate conditional processing (branching) with scripts • Calibrate and validate

Model Components • In Model. Builder, models are represented as flow charts with distinct

Model Components • In Model. Builder, models are represented as flow charts with distinct symbols for each type of component • Elements are connected together via connector lines that serve to create processes as well as show processing flow

Model Components (elements) • • • Data Tool Derived data Value Derived value

Model Components (elements) • • • Data Tool Derived data Value Derived value

Data Process Models typically contain several processes, and they can be chained together so

Data Process Models typically contain several processes, and they can be chained together so that the derived output from one process becomes the input for another process

Variables • Any element in a model that isn't a tool is a variable

Variables • Any element in a model that isn't a tool is a variable (project data, derived data, values, derived values) • Variables can be thought of as placeholders for datasets or tool parameters • Variable values can be easily changed, and they can be shared between processes in a model

Running a Model in Model. Builder • To run a model is to run

Running a Model in Model. Builder • To run a model is to run all of the processes that compose it. The readiness of a process to run depends on the state of its elements. • A process can be in one of three states: – not ready to run, – ready to run, or – has been run.

Sources of Simple Errors in Models A model's readiness to run can be affected

Sources of Simple Errors in Models A model's readiness to run can be affected by various factors. One factor is connectivity. A tool that is not connected to an input element will not be ready to run. In this example, there is no input to the Buffer tool operation; therefore, it is not ready to run.

Sources of Simple Errors in Models Another factor affecting to ability to execute a

Sources of Simple Errors in Models Another factor affecting to ability to execute a process in Model. Builder is specification. Although the input data element is ready to run, the parameters of the Add Field tool have not been defined; therefore, the process as a whole is not

Sources of Simple Errors in Models The third factor affecting the ability to run

Sources of Simple Errors in Models The third factor affecting the ability to run a process is data accessibility. In this example, the elements are connected and their parameters are fully specified. The problem is that Model. Builder cannot find the input data it needs.

How to start building a model? 1. Identify functional relationships between the phenomenon and

How to start building a model? 1. Identify functional relationships between the phenomenon and its variables 2. Identify the initial input variables 3. Identify the intermediate input variables. 4. Choose appropriate tools for implementing transformation functions as processes 5. Combine processes based on cause-effect relationships

Parametrizing Geoprocessing Models • Model variables can serve as model parameters. There are two

Parametrizing Geoprocessing Models • Model variables can serve as model parameters. There are two purposes for this: – first, to be able to run your model from a dialog, and second, – to be able to incorporate submodels.

Parametrizing Geoprocessing Models Declaring a model variable as a parameter is called exposing the

Parametrizing Geoprocessing Models Declaring a model variable as a parameter is called exposing the variable. Any variable in a model (in other words, datasets and tool values) may be exposed as a model parameter.

Running a model with parameters • Right-click a data element to make it a

Running a model with parameters • Right-click a data element to make it a parameter • Input or output data can be parameters

Setting model properties • Choose Properties on a model’s context menu

Setting model properties • Choose Properties on a model’s context menu

Setting model properties: General Modify the name, label, description, and style sheet

Setting model properties: General Modify the name, label, description, and style sheet

Setting model properties: Parameters Add, remove, or change the order of exposed parameters

Setting model properties: Parameters Add, remove, or change the order of exposed parameters

Setting model properties: Environments Set values for all environments; applied to entire model

Setting model properties: Environments Set values for all environments; applied to entire model

Models and Submodels • Using submodels allows you to divide parts of a larger

Models and Submodels • Using submodels allows you to divide parts of a larger model into smaller, more manageable pieces. • Before a submodel can be added to a primary model, the output variable of the submodel must be exposed as a model parameter. This will allow the output variable to be shared between models.

Models and Submodels

Models and Submodels

Creating the ESRI Geoprocessor object three ways - from Arc. GIS Desktop 9. 3

Creating the ESRI Geoprocessor object three ways - from Arc. GIS Desktop 9. 3 help

three way comparison - from Arc. GIS Desktop 9. 3 help

three way comparison - from Arc. GIS Desktop 9. 3 help

Turning a Script into a Tool • Another way of using a submodel in

Turning a Script into a Tool • Another way of using a submodel in a model is to: – 1) export the submodel into a script, – 2) turn script into a tool, and – 3) use a script tool in a model

Turning a Script into a Tool 1) export the submodel into a script

Turning a Script into a Tool 1) export the submodel into a script

Script from previous export

Script from previous export

Add a loop wrapper

Add a loop wrapper

Turning a Script into a Tool Steps: 1) expose inputs and the output as

Turning a Script into a Tool Steps: 1) expose inputs and the output as model parameters 2) export the model into a Python script 3) turn the script into a geoprocessing tool 4) use the script tool as a submodel in an extended site suitability model

Geoprocessing Models as Simulation Tools • Using a model as a simulation tool requires

Geoprocessing Models as Simulation Tools • Using a model as a simulation tool requires exposing the output data set as a model parameter • Dialogs provide a simplified view of a model and allow the user to easily change parameter values each time the model is run. • Once these model parameters are set, model users can simply use the dialog for execution. • Running a model from its dialog allows for easy testing of alternative scenarios.

Sequence Control and Conditional Processing in Model. Builder • You can control the sequence

Sequence Control and Conditional Processing in Model. Builder • You can control the sequence of processing in your model by applying a precondition (the output data from one tool must exist before the tool can be executed) • You can build conditional processing (branching) into your model with Python scripts • Python Exercise time!