01.02.2014 Views

Using the ModelBuilder of ArcGIS 9 for Landscape Modeling

Using the ModelBuilder of ArcGIS 9 for Landscape Modeling

Using the ModelBuilder of ArcGIS 9 for Landscape Modeling

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Using</strong> <strong>the</strong> <strong>ModelBuilder</strong> <strong>of</strong> <strong>ArcGIS</strong> 9 <strong>for</strong> <strong>Landscape</strong> <strong>Modeling</strong><br />

Jochen MANEGOLD, ESRI-Germany<br />

Geoprocessing in GIS<br />

A geographic in<strong>for</strong>mation system (GIS) provides a framework to support planning tasks<br />

and decisions, to help managing <strong>the</strong> natural and man-made environment and <strong>the</strong> resources<br />

<strong>of</strong> <strong>the</strong> earth. With providing tools <strong>for</strong> all kind <strong>of</strong> geoprocessing, <strong>the</strong> GIS framework allows<br />

<strong>the</strong> user to define, manage and analyze all <strong>the</strong> in<strong>for</strong>mation used to support planning or to<br />

make decisions.<br />

ESRI’s ARC/INFO was built upon such a framework, using coverages as an intelligent<br />

data model <strong>for</strong> storing geometry, topology and attributes, and <strong>of</strong>fering all tools to capture,<br />

store, and manage as well as to analyze and present landscape data. With Arc Marco<br />

Language (AML) a scripting language can be used to store geoprocessing workflows and<br />

dialogs.<br />

<strong>ArcGIS</strong> 8 marked a new milestone in ESRI’s GIS client and server architecture. On <strong>the</strong><br />

client side, completely new s<strong>of</strong>tware architecture, was released, built on modern GIS and<br />

application framework components, including new applications like ArcMap and<br />

ArcCatalog. On <strong>the</strong> server side, <strong>the</strong> Geodatabase <strong>of</strong>fers a new object-relational data model<br />

to store intelligent geo-objects with properties and behaviour in a Relational Database<br />

Management System (RDBMS) as well as “link” those objects and layers by flexible<br />

topological rules, thus extending <strong>the</strong> possibilities far beyond <strong>the</strong> coverage model.<br />

<strong>ArcGIS</strong> 9, a new geoprocessing framework which includes a model builder as a graphical<br />

environment to create diagrams <strong>of</strong> steps <strong>for</strong> complete geoprocessing tasks will be<br />

introduced to make geoprocessing much easier, more flexible and very user friendly.<br />

Geoprocessing Tools with <strong>ArcGIS</strong> 9<br />

The main concept <strong>of</strong> geoprocessing is based on a concept <strong>of</strong> data trans<strong>for</strong>mation. A typical<br />

geoprocessing operation takes an input dataset, per<strong>for</strong>ms an operation on that input dataset<br />

and returns <strong>the</strong> result <strong>of</strong> <strong>the</strong> operation as an output dataset. <strong>ArcGIS</strong> 9 will have hundreds <strong>of</strong><br />

<strong>the</strong>se single geoprocessing tools <strong>for</strong> processing all types <strong>of</strong> ESRI compatible spatial and<br />

non-spatial data <strong>for</strong>mats, namely coverages, shapefiles, personal and ArcSDE geodatabase<br />

featureclasses, with CAD and VPF files, as well as tables and text files. These tools can be<br />

grouped into different types <strong>of</strong> operations, such as data conversion, analysis or data<br />

management.<br />

For convenient search and retrieving, <strong>the</strong>se groups <strong>of</strong> similar tools are organized in<br />

ToolBoxes and Toolsets, which can be stored in system files or database tables. These<br />

ToolBoxes are presented to <strong>the</strong> user as a list <strong>of</strong> his favourites in <strong>the</strong> ArcToolbox window<br />

<strong>for</strong> easy access in <strong>the</strong> <strong>ArcGIS</strong> applications like ArcMap and ArcCatalog. The number <strong>of</strong><br />

potentially available tools varies, depending on <strong>the</strong> type <strong>of</strong> product license such as


2<br />

J. Manegold<br />

ArcView, ArcEditor or ArcInfo and <strong>the</strong> types <strong>of</strong> <strong>ArcGIS</strong> extensions like 3D Analyst or<br />

Spatial Analyst.<br />

Fig. 1:<br />

ArcCatalog and <strong>the</strong> ArcToolbox window<br />

Geoprocessing Methods in <strong>ArcGIS</strong> 9<br />

There are four different ways to per<strong>for</strong>m geoprocessing tasks in <strong>ArcGIS</strong> 9. Which method<br />

you choose depends on which method is best suited to <strong>the</strong> particular task and your personal<br />

preference. You can choose a dialog from <strong>the</strong> ToolBox window or use <strong>the</strong> command line<br />

<strong>for</strong> input typing to per<strong>for</strong>m a single geoprocessing task. With dialogs, <strong>the</strong> tools provide a<br />

<strong>for</strong>m, where you can specify <strong>the</strong> data and parameters <strong>for</strong> <strong>the</strong> geoprocessing operation.


<strong>Using</strong> <strong>the</strong> <strong>ModelBuilder</strong> <strong>of</strong> <strong>ArcGIS</strong> 9 <strong>for</strong> <strong>Landscape</strong> <strong>Modeling</strong> 3<br />

Fig. 2:<br />

The command line window in ArcMap<br />

The command line is similar to <strong>the</strong> Workstation ArcInfo command line, where you type in<br />

<strong>the</strong> command including all input data and parameters. The command line in <strong>ArcGIS</strong> 9<br />

prompts you with <strong>the</strong> usage <strong>of</strong> <strong>the</strong> specified command and helps you with intellisense and<br />

dropdown lists.<br />

For more complex tasks or workflows, involving multiple functions, choose a model tool or<br />

create a new model and link single processes toge<strong>the</strong>r. To per<strong>for</strong>m <strong>the</strong> same function many<br />

times on different datasets or with different parameters, you can use or create a tool derived<br />

from a script.<br />

Fig. 3:<br />

A geoprocessing script written in Python using <strong>the</strong> PythonWin IDE


4<br />

J. Manegold<br />

Scripting <strong>of</strong>fers an efficient and effective way <strong>of</strong> managing geoprocessing needs. They<br />

provide an environment, which makes it easy to process large volumes and quantities <strong>of</strong><br />

data. They are recyclable and easily modified. Any scripting language, which is COM<br />

compliant, interacts well in <strong>the</strong> <strong>ArcGIS</strong> environment such as VBScript, JScript or Python.<br />

<strong>Using</strong> <strong>ModelBuilder</strong> in <strong>ArcGIS</strong> 9<br />

The <strong>ModelBuilder</strong> in <strong>ArcGIS</strong> 9 provides a graphical environment to create a diagram <strong>of</strong><br />

multiple steps to complete a complex geoprocessing task. The diagram you build represents<br />

a model. Tools can be draggen from ToolBoxes in <strong>the</strong> ArcCatalog tree or from <strong>the</strong><br />

ArcToolbox window into <strong>the</strong> Model diagram to build <strong>the</strong> processes that make up <strong>the</strong><br />

model, <strong>the</strong>n filled in <strong>the</strong> necessary input data and parameters <strong>for</strong> each tool and connect <strong>the</strong><br />

processes toge<strong>the</strong>r. When <strong>the</strong> model is run, <strong>ModelBuilder</strong> processes <strong>the</strong> input data in <strong>the</strong><br />

order specified and creates output data. The model can be saved, modified and rerun.<br />

Geoprocessing functions can be tied toge<strong>the</strong>r in a model that keeps track <strong>of</strong> <strong>the</strong> datasets,<br />

processes, parameters and assumptions that are used. This makes it easy to redo <strong>the</strong> exact<br />

same procedure multiple times, or to alter data and parameters slightly.<br />

Fig. 4:<br />

The <strong>ModelBuilder</strong> window with a typical model


<strong>Using</strong> <strong>the</strong> <strong>ModelBuilder</strong> <strong>of</strong> <strong>ArcGIS</strong> 9 <strong>for</strong> <strong>Landscape</strong> <strong>Modeling</strong> 5<br />

A model contains in<strong>for</strong>mation about data, how to process <strong>the</strong> data, and <strong>the</strong> sequence <strong>of</strong><br />

processing. The model can be displayed as a process flow called a model diagram or as a<br />

tool in a toolbox. A tool exposes model parameters selected by <strong>the</strong> model author and is <strong>the</strong><br />

common way <strong>of</strong> executing a model. In <strong>the</strong> model diagram, <strong>the</strong>re are symbols, called model<br />

elements, which represent data and tools that operate on data. The model elements are<br />

connected toge<strong>the</strong>r into processes. A process is a set <strong>of</strong> input data, <strong>the</strong> tool that operates on<br />

<strong>the</strong> input data, and <strong>the</strong> resulting output data. Connector arrows indicate <strong>the</strong> sequence <strong>of</strong><br />

processing. There will usually be several processes in a model, and <strong>the</strong>y can be chained<br />

toge<strong>the</strong>r so that <strong>the</strong> derived data from one process may become <strong>the</strong> input data <strong>for</strong> ano<strong>the</strong>r<br />

process.<br />

The model diagram provides a graphical way to present models to decision-makers and <strong>the</strong><br />

public. So <strong>the</strong> <strong>ModelBuilder</strong> can be used <strong>for</strong> cartographic modeling and analysis, such as<br />

environmental or land use modeling.<br />

Fig. 5:<br />

A conceptual model with different processes<br />

Figure 5 is a conceptual overview <strong>of</strong> a model built from three processes. The processes are<br />

built by connecting model elements representing data and functions. Each process has one<br />

or more input datasets, a tool, and output data. Connecting <strong>the</strong> output from one process to<br />

<strong>the</strong> input <strong>of</strong> ano<strong>the</strong>r process chains <strong>the</strong> processes toge<strong>the</strong>r.<br />

In addition to <strong>the</strong> basic model elements such as input and output data, tools, and<br />

connectors, <strong>the</strong>re are text labels, which are graphical elements used to place explanatory


6<br />

J. Manegold<br />

text in a model. A label is not part <strong>of</strong> <strong>the</strong> processing sequence. Labels can be attached to<br />

connectors or <strong>the</strong>y can float freely in <strong>the</strong> model diagram.<br />

Model elements have properties and connection rules that define how <strong>the</strong>y behave. Data<br />

elements have a property that describes <strong>the</strong> location <strong>of</strong> <strong>the</strong> data. Function elements have<br />

properties that describe how to process data. For example, <strong>the</strong> Buffer function has a buffer<br />

width property. Properties are editable through dialogs, wizards, and property sheets.<br />

Connection rules describe what type <strong>of</strong> input each model element will accept and what type<br />

<strong>of</strong> output it produces.<br />

Sharing a model is as simple as sending <strong>the</strong> model file via email or publishing a ToolBox<br />

on a server or with a web service. The receiving party simply saves <strong>the</strong> file anywhere on<br />

<strong>the</strong>ir system. A user can <strong>the</strong>n add <strong>the</strong> file to <strong>the</strong> ArcToolbox window <strong>for</strong> easy access. The<br />

concept behind model sharing, or any ToolBox tool <strong>for</strong> that matter, is to maximize<br />

resources and productivity by avoiding duplication <strong>of</strong> ef<strong>for</strong>t, and because it simply makes<br />

more sense, o<strong>the</strong>r than from just a cost-effective point <strong>of</strong> view.<br />

Summary<br />

The evolution <strong>of</strong> geoprocessing has shown that <strong>the</strong>re is no single user experience that<br />

satisfies all user requirements and preferences. Early packages exposed geoprocessing<br />

operations as a set <strong>of</strong> commands while more contemporary systems have a graphical user<br />

interface (GUI) in which <strong>the</strong> user interacts and composes <strong>the</strong> operation to be executed. A<br />

third method exposes <strong>the</strong> systems core functions in an application programmer interface<br />

(API) that allows a s<strong>of</strong>tware developer to invoke geoprocessing operations outside <strong>of</strong> <strong>the</strong><br />

GIS systems GUI. Each method has its advantages and disadvantages, but when all three<br />

are supported in a GIS package, <strong>the</strong> user gets to choose which best suits his or her needs,<br />

<strong>the</strong>reby <strong>of</strong>fering <strong>the</strong> best possible user experience <strong>for</strong> <strong>the</strong> task at hand.<br />

References<br />

ESRI Inc. (2002): Geoprocessing in <strong>ArcGIS</strong> 9.0, White Paper<br />

ESRI Inc. (2002): Creating a Model in <strong>ArcGIS</strong> 9.0, White Paper

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!