Escolar Documentos
Profissional Documentos
Cultura Documentos
@esri.com, 3D Analyst, ACORN, Address Coder, ADF, AML, ArcAtlas, ArcCAD, ArcCatalog, ArcCOGO, ArcData, ArcDoc, ArcEdit,
ArcEditor, ArcEurope, ArcExplorer, ArcExpress, ArcGIS, ArcGlobe, ArcGrid, ArcIMS, ARC/INFO, ArcInfo, ArcInfo Librarian, ArcLessons,
ArcLocation, ArcLogistics, ArcMap, ArcNetwork, ArcNews, ArcObjects, ArcOpen, ArcPad, ArcPlot, ArcPress, ArcReader, ArcScan,
ArcScene, ArcSchool, ArcScripts, ArcSDE, ArcSdl, ArcSketch, ArcStorm, ArcSurvey, ArcTIN, ArcToolbox, ArcTools, ArcUSA, ArcUser,
ArcView, ArcVoyager, ArcWatch, ArcWeb, ArcWorld, ArcXML, Atlas GIS, AtlasWare, Avenue, BAO, Business Analyst, Business Analyst
Online, BusinessMAP, CommunityInfo, Database Integrator, DBI Kit, EDN, Esri, EsriTeam GIS, EsriThe GIS Company, EsriThe GIS
People, EsriThe GIS Software Leader, FormEdit, GeoCollector, Geographic Design System, Geography Matters, Geography Network, GIS
by Esri, GIS Day, GIS for Everyone, GISData Server, JTX, MapIt, Maplex, MapObjects, MapStudio, ModelBuilder, MOLE, MPSAtlas,
PLTS, Rent-a-Tech, SDE, SML, SourcebookAmerica, Spatial Database Engine, StreetMap, Tapestry, the ARC/INFO logo, the ArcGIS logo,
the ArcGIS Explorer logo, the ArcPad logo, the Esri globe logo, the Esri Press logo, the GIS Day logo, the MapIt logo, The Geographic
Advantage, The Geographic Approach, The World's Leading Desktop GIS, Water Writes, www.esri.com, www.geographynetwork.com,
www.gis.com, www.gisday.com, and Your Personal Geographic Information System are trademarks, registered trademarks, or service marks
of Esri in the United States, the European Community, or certain other jurisdictions.
Other companies and products mentioned herein may be trademarks or registered trademarks of their respective trademark owners.
Introduction
Introduction............................................................................................................ vii
Course goals ......................................................................................................... vii
Using the course workbook ................................................................................... vii
Additional resources ............................................................................................. viii
Installing the course data ..................................................................................... viii
What is a geodatabase?
Lesson introduction ............................................................................................. 1-1
Key terms ............................................................................................................ 1-2
Top reasons to use a geodatabase ..................................................................... 1-3
Geodatabase elements ....................................................................................... 1-4
Exercise 1: Work with geodatabase elements .................................................... 1-6
Explore geodatabase structure ..................................................................... 1-6
Examine geodatabase elements................................................................... 1-8
Explore feature classes in ArcMap ............................................................. 1-12
Explore a topology ...................................................................................... 1-17
Explore a geometric network ...................................................................... 1-20
Lesson review ................................................................................................... 1-23
Answers to Lesson 1 questions .................................................................. 1-24
Types of geodatabases
Lesson introduction ............................................................................................. 2-1
Key terms ............................................................................................................ 2-2
Single-user geodatabases................................................................................... 2-2
Multiuser geodatabases ...................................................................................... 2-3
ArcGIS Desktop licensing.................................................................................... 2-3
Lesson review ..................................................................................................... 2-4
Answers to Lesson 2 questions .................................................................... 2-6
ii
Geodatabase annotation
Lesson introduction ............................................................................................. 8-1
Key terms ............................................................................................................ 8-2
Geodatabase annotation ..................................................................................... 8-3
Feature-linked annotation.................................................................................... 8-4
Labels and annotation ......................................................................................... 8-5
iii
Geodatabase topology
Lesson introduction ............................................................................................ 9-1
Key terms ........................................................................................................... 9-2
Identifying spatial relationships .......................................................................... 9-3
Why create a topology?...................................................................................... 9-4
Topology workflow.............................................................................................. 9-5
Dirty areas .......................................................................................................... 9-5
Validation symbology in ArcMap ........................................................................ 9-6
Create a topology ............................................................................................... 9-7
Exercise 9: Work with geodatabase topology .................................................... 9-8
Explore coincident geometry........................................................................ 9-8
Create a geodatabase topology................................................................. 9-11
Use a topology in ArcMap.......................................................................... 9-16
Step............................................................................................................ 9-20
Lesson review .................................................................................................. 9-21
Answers to Lesson 9 questions ................................................................. 9-22
10
iv
11
Geometric networks
Lesson introduction ........................................................................................... 11-1
Key terms .......................................................................................................... 11-2
Real world network examples ........................................................................... 11-3
Real-world network: Natural Gas ...................................................................... 11-4
What is a geometric network? ........................................................................... 11-6
Two views of a network ..................................................................................... 11-7
Components of a geometric network................................................................. 11-8
Advantages of a geometric network .................................................................. 11-9
Exercise 11: Work with geometric networks.................................................... 11-10
Explore a network ..................................................................................... 11-10
Edit network features ................................................................................ 11-14
Use network tracing operations ................................................................ 11-21
Lesson review ................................................................................................. 11-26
Answers to Lesson 11 questions .............................................................. 11-28
12
Geodatabase workflow
Lesson introduction ........................................................................................... 12-1
Geodatabase workflow ...................................................................................... 12-3
Exercise 12A: Project: Work with attribute behavior ......................................... 12-5
Add fields .................................................................................................... 12-5
Update fields using ArcMap ........................................................................ 12-6
Create subtypes.......................................................................................... 12-7
Create and apply domains for trail width..................................................... 12-8
Create coded value domains ...................................................................... 12-9
Create relationship classes....................................................................... 12-10
Edit in ArcMap........................................................................................... 12-12
Exercise 12B: Project: Work with geometric networks .................................... 12-16
Import data into the geodatabase ............................................................. 12-16
Prepare data for subtypes......................................................................... 12-17
Create subtypes........................................................................................ 12-21
Create domains......................................................................................... 12-22
Create a geometric network...................................................................... 12-25
Appendixes
Appendix A: Esri data license agreement ......................................................... A-1
Appendix B: Additional geodatabase elements ................................................. B-1
vi
Introduction
Welcome to Building Geodatabases. This course provides an overview of the structure and
capabilities of the geodatabase. You'll learn how to create a geodatabase, migrate existing GIS
data to a geodatabase, and edit and maintain data stored in a geodatabase with a focus on the
file geodatabase.
This course is designed to work with ArcGIS 10 at the ArcInfo license level.
Course goals
In this course, you will learn how to:
vii
Lessons: Objectives and key tasks and functions at the beginning of each lesson to help
Additional resources
Refer to the following resources to learn more about building geodatabases:
viii
Note: If for some reason you need to install the course data to a different location,
browse to that location. Select the folder where you want to store the course data,
then click OK. Be sure to note the location of the folder you've selected so that
you can easily access the data in the upcoming exercises.
Click Next.
Click Finish when the data installation is complete.
Remove the training data CD from your CD drive and return it to its sleeve in your
workbook.
ix
What is a geodatabase?
Introduction
In this lesson, you will learn what the geodatabase is and become familiar with its structure and
the elements stored within it. Recognizing these elements will help provide a foundation for
learning about and effectively using geodatabases within your GIS workflows.
Topics covered
What is a geodatabase?
Reasons to use a geodatabase
Geodatabase elements
Learning objectives
After completing this lesson, you will be able to:
1-1
What is a geodatabase?
Key terms
Term
Definition
Feature class A collection of geographic features with the same geometry type (such
as point, line, or polygon), the same attributes, and the same spatial
reference.
Feature
dataset
Table
1-2
Geometric
network
Raster
dataset
Relationship
class
Topology
Lesson 1
Performance
1-3
What is a geodatabase?
Geodatabase elements
Feature class
A collection of geographic features with the same geometry typepoint, line,
or polygonthe same attributes, and the same spatial reference. Can also
store annotation and dimensions.
Feature dataset
A collection of feature classes stored together that share the same spatial
reference and their features fall within a common geographic area. Used to
help model spatial relationships between feature classes.
Raster
A data model that represents geographic features by dividing the world into
discrete square or rectangular cells laid out in a grid. Each cell has a value that
is used to represent some characteristic of that location. Commonly used for
representing and managing imagery, digital elevation models, and numerous
other phenomena.
See Lesson 4.
Raster Catalog
A collection of raster datasets in a table format in which each record defines an
individual raster dataset in the catalog.
See Lesson 4.
Mosaic dataset
A data model that is a hybrid of a raster catalog and raster dataset. Represents
an on-the-fly mosaic view of a raster catalog. Allows you to store, manage,
view, and query small to vast collections of raster and image data. Has
advanced raster querying capabilities and processing functions and can also
be used as a source for serving image services.
See Lesson 4.
1-4
Lesson 1
Table
A set of data elements arranged in rows and columns. Each row represents a
single record. Each column represents a field of the record. Rows and columns
intersect to form cells, which contain a specific value for one field in a record.
Typically stores stand-alone attribute information or information associated with
a spatial location such as addresses.
See Lessons 5 and 6.
Relationship class
Manages the associations between objects in one class (e.g., table or feature
class) and objects in another. Objects at either end of the relationship can be
features with geometry or records in a table. See Lesson 6.
Geometric network
Edge and junction features that represent a directed-flow system network, such
as a utility or hydrologic system, in which the connectivity of features is based
on their geometric coincidence. Does not contain information about the
connectivity of features; this information is stored within a logical network. See
Lesson 11.
Topology
Describes how features share geometry within a geodatabase. For example,
street centerlines and census blocks share geometry, and adjacent soil
polygons share geometry. Defines and enforces data integrity rules, topological
relationship queries and navigation, and sophisticated editing tools. It also
allows feature construction from unstructured geometry.
See Lessons 9 and 10.
Annotation
A specialized feature class that stores text or graphics that provide information
about features or general areas of a map. An annotation feature class can be
linked to another feature class so that edits to the features are reflected in the
corresponding annotation (i.e., feature-linked annotation).
See Lesson 8.
1-5
What is a geodatabase?
1-6
Lesson 1
Click OK.
Note: The Catalog tree is a window that you can set to auto hide by toggling the Auto
Hide push pin
in the title bar. When the push pin is pointing down, the
window stays open and you have the option to dock the window to another
location.
Click the plus sign next to the ..\Student\BLDG\Database folder connection to expand
it, then expand Manhattan.gdb and view its contents.
A plus sign next to an element indicates that there are additional elements stored within.
1-7
What is a geodatabase?
This file geodatabase contains many of the elements discussed earlier. Notice that each feature
dataset contains multiple feature classes as well as geodatabase behaviors. CityData also
contains relationship classes and a topology. SewerSystem contains a geometric network.
In the next step, you will explore some of the more common geodatabase elements.
1-8
Lesson 1
1-9
What is a geodatabase?
This image is an aerial photo of a potential store location at the south end of Manhattan,
Kansas.
Open the properties for the raster dataset.
The Raster Dataset Properties dialog box displays information about the raster's data
composition, spatial extent, compression format, and spatial reference. You can edit these
attributes in this dialog box, allowing ArcCatalog to manage raster data in the geodatabase.
Close the Raster Dataset Properties dialog box.
You can add new elements to a geodatabase by using the tools on the Geoprocessing menu.
Many of these tools are also available by right-clicking on the geodatabase.
Right-click the Manhattan.gdb file geodatabase, then click New.
1-10
Lesson 1
Choosing New opens a menu with options to create elements such as feature classes, feature
datasets, or raster catalogs. Wizards guide you through the process of entering basic properties
for these new elements. You can set additional properties after you finish creating the element.
The types of elements you can create depend on your license level for ArcGIS Desktop and the
extensions you have installed. For example, you must have an ArcEditor or ArcInfo license to
create new relationship classes.
Press the Esc key on your keyboard to close the menu.
Geodatabases can also store toolboxes.
Expand the PlanningTools toolbox and its Analysis toolset.
Toolboxes are containers for toolsets, which are groupings of tools with similar functionality,
and for geoprocessing tools. There are three different types of geoprocessing tools in
ArcToolbox: system tools, models, and scripts. In the Analysis toolset, there are three system
tools, Buffer, Near, and Union. The Planning Tools toolbox also contains one model. Models
are a great way to chain geoprocessing tools together and create a visual reference for a
workflow. Models are stored in toolboxes, which can be stored in geodatabases.
Next, you will look at two special elements in the geodatabase: a topology and a geometric
network.
Expand the CityData feature dataset, right-click CityData_Topology, and choose
Properties.
Click the Feature Classes tab.
1-11
What is a geodatabase?
The four feature classes listed here all participate in this topology. Notice that each of these
feature classes is stored in the CityData feature dataset. Feature classes can participate in a
topology only if they are stored in the same feature dataset. In addition, feature classes can
participate in only one topology at a time.
Click Cancel on the Topology Properties dialog box.
In the Sewer System feature dataset, open the properties for SewerSystem_Net.
Click the General tab.
The three feature classes listed here all participate in this geometric network. Like a topology, all
feature classes that participate in a geometric network must be stored in the same feature
dataset.
Click Cancel to close the Geometric Network Properties dialog box.
Next, you will explore how geodatabase elements behave in ArcMap.
1-12
Lesson 1
Best practice: Increase space for your map display by setting windows,
like the table of contents and the Catalog window, to auto hide. Windows
set to auto hide collapse and display as tabs when not in use. Hover your
mouse cursor over a tab to open the window.
Hover your mouse cursor over the table of contents tab to expand it.
The table of contents lists several data frames with names like Step 3 - Feature classes. These
group the various layers you will use in a certain step. You will be changing the active data
frame several times throughout the remainder of the exercise.
1-13
What is a geodatabase?
Feature classes from a geodatabase display as layers in ArcMap and have the same general
properties as a shapefile.
Next, you will take a look at annotation feature classes. Annotation feature classes contain
annotation, or specialized labels used for cartographic display.
Turn off all layers except Zoning and ZoningAnno.
Best practice: To turn all layers on or off at the same time, hold down the
Ctrl key and click the box next to one layer.
Notice that the ZoningAnno check box is grayed out, which indicates that this layer has a scale
range applied to it and that, at the current scale, this layer does not draw. To see the scale range
for this layer, you will open the layer properties.
Open the layer properties for ZoningAnno.
Click the General tab.
3. What is the minimum scale range?
______________________________________________________________________________
Click OK.
4. What is the current map scale?
______________________________________________________________________________
This layer will not draw unless the display scale is 1:5,000 or larger. A bookmark has been
created in the map for viewing annotation.
From the Bookmarks menu, choose Labels vs. Annotation.
Note: Depending on the size and settings of your monitor, the bookmark may not zoom
in far enough. If your display scale is smaller than 1:5,000, click the scale box and
type 5000, then press Enter on your keyboard.
1-14
Lesson 1
The annotation features become visible, displaying the zoning codes for each polygon. Next,
you will turn on labels for the Zoning layer to compare behaviors between labels and
annotation. The labels will be for the zoning code as well.
Right-click the Zoning layer and choose Label Features.
Note: The labels are black and the annotation features are blue.
For Identify from, click the drop-down arrow and choose ZoningAnno.
In the map, click a C-5 annotation feature.
In the Identify window, expand each level in the tree.
Click the number for the Zoning polygon you clicked.
The text for the Zoning polygons comes from the ZONING attribute. If a polygon's ZONING
attribute were changed, its annotation text would change as well.
Close the Identify window.
Hover your mouse cursor over the Catalog window tab to expand it.
1-15
What is a geodatabase?
By default, the Catalog window and Search window are docked to the right and set to auto hide.
In the Catalog window, expand the ...\Database\Manhattan.gdb\CityData feature
dataset and open the properties for the Anno_6_16 relationship class.
7. What is the origin table/feature class?
______________________________________________________________________________
8. What is the destination table/feature class?
______________________________________________________________________________
9. Which type of relationship class is it?
______________________________________________________________________________
A composite relationship class exists between the Zoning and ZoningAnno feature classes,
which means that if a Zoning polygon is moved or deleted, the annotation will also be moved or
deleted.
Close the Relationship Class Properties dialog box.
Turn off the labels for the Zoning layer.
On the Standard toolbar, click the Editor toolbar button
From the Editor menu, choose Start Editing to start an edit session.
Click the Edit tool
1-16
Lesson 1
1-17
What is a geodatabase?
Notice the areas in red; these represent the errors for this topology. These errors are violations in
the data that contradict the topology rules. It is up to you to correct each error or mark it as an
exception to the rule.
Open the properties for the CityData_Topology layer.
Click the Feature Classes tab.
You see a list of the various feature classes that participate in this topology.
Click the Rules tab.
There are four rules in this topology. To gain a better understanding of these rules, you will view
the rule descriptions.
12. Are these rules enforcing the spatial relationships between features in the same feature class
or across feature classes?
______________________________________________________________________________
1-18
Lesson 1
The description states that all features in the Zoning feature class must be covered by features in
the Parcels feature class.
Click OK on both dialog boxes.
Turn on the Topology toolbar, if necessary.
Note: To turn the toolbar on, from the Customize menu, choose Toolbars > Topology.
On the map, click any of the red polygon errors to select itonce selected, it changes to
black.
Hover your mouse cursor above the selected error, right-click, and choose Show Rule
Description.
Notice that the same rule description, Must Be Covered By Feature Class Of, displays. In this
example, all of the topology errors shown violate this one rule. Several polygons in the Zoning
layer are not covered by features in the Parcels layer. Next, you will verify this visually.
Click OK to close the Rule Description dialog box.
1-19
What is a geodatabase?
1-20
Lesson 1
If a different tool icon is displayed, click the drop-down arrow next to the tool being displayed.
Using the following graphic as a guide, click the edge near the location marked 1 to add a
flag.
The red line represents the computed path between the two flags.
1-21
What is a geodatabase?
On the Utility Network Analyst toolbar, from the Analysis menu, choose Clear Results.
From the Analysis menu, choose Clear Flags.
Close ArcMap without saving.
1-22
Lesson 1
Lesson review
1. List several advantages of using a geodatabase that might apply to your job.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
2. What did you learn about the geodatabase that you didn't know before?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
1-23
What is a geodatabase?
1-24
Lesson 1
Lesson review
1. List several advantages of using a geodatabase that might apply to your job.
Examples of advantages include:
2. What did you learn about the geodatabase that you didn't know before?
Answers may vary, but some common items may be:
1-25
Types of geodatabases
Introduction
In this lesson, you will learn about the different types of geodatabases. Although we will be
using a file geodatabase in this course, the skills and techniques you will learn can also be used
with workgroup and enterprise geodatabases.
Topics covered
Learning objectives
After completing this lesson, you will be able to:
2-1
Types of geodatabases
Key terms
Term
Definition
Single-user When only one user is permitted to edit data in a geodatabase at any given
time.
Multi-user
Single-user geodatabases
Personal (Access)
Functionality
Original desktop
File
format
Storage mechanism
and limits
Microsoft Access
Support platform
Windows
Any platform
Number of users
Single editor
Multiple readers
Single editor*
Multiple readers
database (.mdb)
2GB limit
* Can have more than one concurrent editor, provided they are editing in different tables,
feature classes, or feature datasets.
2-2
Lesson 2
Multiuser geodatabases
Desktop
Functionality
Workgroup
Multiuser
Intranet/Internet
Intranet/Internet
multiuser editing
multiuser editing
editing
option
Storage
mechanism
and limits
SQL
Support
platform
Windows
Number of
users
Three
Server
Express
4GB per
database
Enterprise
SQL Server
Express
10GB limit
Windows
IBM, DB2,
Informix, Oracle,
SQL Server
No size limit
Windows, Linux,
Solaris
Ten concurrent
users and
one editor
Unlimited users,
For detailed information about the functionality for the different geodatabase types, visit
www.esri.com/geodatabase
resources.esri.com/geodatabase
2-3
Types of geodatabases
Lesson review
1. List and describe when you would want to use a multiuser geodatabase over a file
geodatabase.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
2-4
Types of geodatabases
2-6
Introduction
In this lesson, you'll learn how to create the basic structure that will organize data in your
geodatabase.
Topics covered
What is a schema?
Building geodatabase schema
Schema creation scenarios
Editing schema
Learning objectives
After completing this lesson, you will be able to:
3-1
Key terms
Term
Definition
3-2
Lesson 3
Schema scenarios
Here are the scenarios your instructor will go over with the class to determine the best way to
create schema:
1. Scenario #1: You are building a geodatabase for emergency management at the local
government level.
______________________________________________________________________________
2. Scenario #2: You have tons of schemas to create that are very repetitive.
______________________________________________________________________________
3. Scenario #3: You have to share schema with other offices in your organization.
______________________________________________________________________________
4. Scenario #4: You are building a forestry geodatabase. You have a feature class representing
forest stands. You want to use the schema from this feature class, but not the data.
______________________________________________________________________________
5. Scenario #5: You want to create a single feature class from scratch.
______________________________________________________________________________
3-3
Pick a geometry type (also known as the feature class type) such as point, line, polygon,
or annotation.
Validate a dataset before you import and use it in your system (for example, to ensure
the dataset adheres to a series of spatial integrity rules).
3-4
Lesson 3
Task 3: Add geodatabase elements to facilitate data editing and to manage data
integrity.
The geodatabase includes some optional data modeling capabilities that add integrity rules and
editing behavior to your GIS. These capabilities help you automate much of your data
management work and integrity checks.
tables.
Model spatial relationships between features within a feature class or with other feature
classes.
Task 4: Add capabilities for advanced data uses, analytical models (such as
network analysis and geocoding), and advanced cartography.
With each dataset, you may want to consider adding additional geodatabase capabilities that
help you to further leverage each dataset.
See Geodatabase design steps in the ArcGIS help system.
3-5
Name
Specific Range,
Size
Applications
Length, or Format (bytes)
Short integer
-32,768 to 32,767
Long integer
-2,147,483,648 to
2,147,483,647
Double-precision
floating point number
(Double)
Approx. -2.2E308 to 8
1.8E308
Text
Approximately 2.14
billion characters
Varies
Date
mm/dd/yyyy
hh:mm:ss
AM/PM
BLOB
Varies
Varies
Raster
Varies
Varies
Images or pictures
GUID
36 characters
enclosed in curly
brackets
16 or
38
Customized applications
requiring global identifiers
3-6
Lesson 3
3-7
Accept the default value for XY Tolerance and uncheck the Accept default resolution and
domain extent check box, then click Next.
The XY tolerance is the minimum distance between coordinates before they are considered
coincident and is used when evaluating relationships between coordinates. The default XY
tolerance is the equivalent of 1 millimeter in the linear unit of the data's XY coordinate system.
In the case of the coordinate system you assigned (i.e., feet), the default value is .003281 feet, or
.03937 inches. In general, accepting the default tolerance is recommended.
In this panel, you can adjust the XY resolution and domain extents. XY resolution is the size of
the grid cell that coordinates are snapped to. All coordinates snap to an underlying grid. The
default resolution is 1/10 of the XY tolerance. Domain extents should only be modified if you
are creating a pre-9.2 geodatabase element, or if you have assigned an unknown coordinate
system. Otherwise, you should accept the default domain extents.
Click Finish.
You have just created a new feature dataset. Next, you will add a feature class to it.
3-8
Lesson 3
Notice that several fields have been added to the schema for your new Parcels feature class.
These fields came directly from NEParcels.shp.
Click Finish.
1. Why do you think you didn't have to enter coordinate system information for the Parcels
feature class?
______________________________________________________________________________
You just added fields from another table into the schema for your new feature class. What if the
table schema you imported didn't have all of the fields you needed? You can always add fields
manually in ArcCatalog or ArcMap.
Expand the Landbase feature dataset, then open the properties for the Parcels feature class
and click the Fields tab.
Click the first empty row, under SHAPE_Area, and type Owner.
3-9
For Data Type, click the empty row and choose Text.
Click Apply to create the new field without closing the dialog box.
You can also delete any fields that you don't need. For example, there is no need for the AREA
field when the geodatabase adds its own SHAPE_Area field.
Click the gray box next to the AREA field, then press the Delete key on your keyboard.
Click Apply to commit the change to the table and verify that AREA has been deleted.
Click OK.
Importing tabular schema is a fast way to get many fields added to your tables or feature classes,
but you can always modify them as needed. If a field is defined incorrectly, you would have to
delete the field and create a new one with the correct data type.
Preview the table for Parcels.
2. How many features exist in the Parcels feature class?
______________________________________________________________________________
Preview the table for ..Student\BLDG\Exercise04\NEParcels.shp.
Notice this shapefile contains the same fields as the new Parcels feature class. You used this
shapefile as a schema template for your new feature class' table. In a later exercise, you will load
the features from this shapefile, and several others, into your new Parcels feature class.
So far you have created a geodatabase, feature dataset, and a feature class with ArcCatalog's
wizards. You can also create schema by importing an Extensible Markup Language (XML)
workspace document. Exporting geodatabase schema or features to an XML document is a fast
and efficient way of sharing geodatabase elements and behaviors.
In the Exercise03 folder, right-click Riverside.gdb and choose Import, then click XML
Workspace Document.
For What do you want to import, click Schema Only.
For Specify the XML source to import, click the Browse button.
3-10
Lesson 3
Navigate to the Exercise03 folder and click Streets.xml, then click Open.
Note: Notice there is also a Streets.shp.xml file. This is the metadata file for the Streets
shapefile located in the same folder. It contains information different from the
Streets.xml file you are using, so be sure to choose the correct file.
Notice that the schema you imported from XML contains subtypes. Using XML to import and
export geodatabase features or schema is very efficient. For example, if you had a geodatabase
that contained many feature classes, you could export one feature class, features and schema, or
just schema to an XML document, then send that to another user. They could then load it into a
geodatabase, as you just did, and have a single feature class and any schema (e.g., subtypes,
domains, relationship classes) added to the geodatabase.
You will load data into this imported schema in the next exercise.
Click Cancel to close the Feature Class Properties dialog box.
In this step, you created schema for feature classes. You will populate these elements with data
in the next exercise. For now, you will create some additional schemas.
3-11
3-12
Lesson 3
Expand ArcMarine.mdb.
3-13
Table fields are part of geodatabase schema and are included in data models.
Right-click ArcMarine.mdb and choose Properties.
Click the Domains tab.
Many domains were also included in this schema. Once you load data into the feature classes,
you could apply them to fields or subtypes.
Click each of the domain names to view their properties and coded values. You'll learn
more about these in an upcoming lesson.
Click OK.
Aside from feature datasets, feature classes, tables, fields, and domains, the data model also
created schema for relationship classes.
3-14
Lesson 3
3-15
Go back to the previously downloaded ArcMarine.mdb and open the properties for the
MarineFeatures feature dataset.
Click the Domain tab.
Notice the difference in coordinate domains. You can see that there is a lot more storage space
in 10.
Close the Feature Dataset Properties dialog box.
Drag and drop MarineFeatures into Marine.gdb.
Click OK on the Data Transfer dialog box.
3-16
Lesson 3
Click and drag the MeshFeatures feature dataset into Marine.gdb (without upgrading its
spatial reference).
When the transfer is complete, open the properties for the
..\Student\BLDG\Exercise03\Marine.gdb\MeshFeatures feature dataset.
Click the Domain tab.
5. Does this feature dataset have legacy or ArcGIS 10 coordinate domains?
______________________________________________________________________________
Close the Feature Dataset Properties dialog box.
A nice shortcut to running the upgrade spatial reference tool is to simply transfer the data to the
file geodatabase. ArcCatalog will automatically upgrade it for you. The only time you will see
the Upgrade Spatial Reference option enabled in a context menu is if you are in a personal
geodatabase for Access that is from an earlier version of the software. Updating the geodatabase
does not upgrade the spatial reference, so you must do these tasks separately.
Transferring these two feature datasets brings most of the geodatabase elements into the file
geodatabase. For now, you will not transfer anything else. If you were working on a project in
your office, you would want to make sure that you transferred all of the necessary elements.
3-17
3-18
Lesson 3
Lesson review
1. List and describe the methods that can be used to build a geodatabase schema.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
3-19
3-20
Lesson 3
Lesson review
1. List and describe the methods that can be used to build a geodatabase schema.
Answer should include the following: ArcCatalog wizards, importing data and schema,
Importing XML document, geoprocessing tools, and using an Esri published data model.
3-21
Introduction
There are several ways to add datasets to a geodatabase. ArcGIS contain tools that import data
from a wide variety of formats into the geodatabase. In this lesson, you'll learn how to load the
most commonly imported data types into the geodatabase.
Topics covered
Learning objectives
After completing this lesson, you will be able to:
4-1
4-2
Lesson 4
Common icons
CAD
coverage
raster
shapefiles
XML recordset
4-3
4-4
Lesson 4
Scenario
Method
___________________
______________
_______________
___________________________
___
_______
____________
4-5
4-6
Lesson 4
4-7
The second panel is where you input the source data you are going to load. You can load
multiple data sources if their schemas match. For now, you will load just one to see the result of
loading.
For Input Data, click the Browse button and navigate to ..\Student\BLDG\Exercise04.
Click NEParcels.shp then click Open.
Click Add to add the shapefile to the list of source data to load.
Click Next.
The next panel of the Simple Data Loader shows you what the target geodatabase and feature
class are and gives you the option to load data into a subtype if the input data has a subtype field
assigned. There are no subtypes in this feature class, so that choice is grayed out. If there were
subtypes, you could choose which subtype to load features into.
Click Next.
This wizard panel is for field mapping. Having the same schema is important, otherwise you
could lose attribute data if fields don't match. You want to make sure that the target fields
(feature class you are loading into) are mapped to the correct source fields (data you are
loading).
4-8
Lesson 4
1. Why does the Owner field in the target not have a match in the source?
______________________________________________________________________________
You can still load this source into the target. The Owner field will be left blank.
Click Next, then click Next again to load all of the source data.
Note: To apply a query filter at this point, load only those features that meet a query and
then build an attribute query in the next panel of the wizard.
Click Finish.
Preview the geography for Parcels.
There are now features in the Parcels feature class.
Preview the table for Parcels.
Notice that the attributes have been loaded as well. The fields were matched properly and each
feature has the correct values assigned for each field. The owner field, which was not present in
the source data, is left blank; you could enter your own values in an edit session. The loading
operation loaded 1129 parcels into the empty table you created earlier. One benefit of using the
Simple Data Loader is the ability to load data into an existing feature class that already has data
in it. Next, you will load three more parcel shapefiles into the Parcels feature class.
4-9
In the Exercise04 folder, preview each of the following shapefiles to get an idea of the
features they contain.
NWParcels.shp
SEParcels.shp
SWParcels.shp
Right-click Parcels and choose Load > Load Data.
Load the following shapefiles from the Exercise04 folder. Browse to each file individually,
and click Add for each file.
NWParcels.shp
SEParcels.shp
SWParcels.shp
Click Next on each panel to accept the defaults until you get to the Summary.
Verify that your summary matches the following graphic.
4-10
Lesson 4
Preview Parcels.
4-11
Notice that the streets display with different symbology. That's because both the XML
workspace document that the feature class was created from and the XML recordset document
that the street features were loaded from each contain subtypes. You are going to learn how to
create subtypes in the next lesson.
You can import one feature class at a time with the single option or choose multiple, and
convert many feature classes at one time. The Feature Class options refer to CAD, coverage,
geodatabase, and shapefile feature classes.
Click Feature Class (multiple).
For Input Features, click the Browse button and navigate to the Exercise04 folder.
Double-click ElectricalSystem.dwg and click Point, then hold down the Ctrl key on your
keyboard and click Polyline to select both.
Click Add.
4-12
Lesson 4
You are about to create four new geodatabase feature classes by converting data from many
sources in one operation.
Click OK.
On the progress window, click the check box next to Close this dialog box when
completed successfully.
4-13
The Buildings shapefile you converted is named Buildings, but the other ones have longer
names with multiple parts because they were originally stored within a coverage or a CAD
drawing. In these cases, the output naming convention will be <feature dataset name>_<feature
class name>.
Change the names of the new feature classes according to the following table.
Old Name
New Name
ElectricalSystem_dwg_Point
Electric_Points
ElectricalSystem_dwg_Polylines Electric_Lines
riverside_polygon
City_Limits
Preview each of the feature classes to verify the data was converted correctly.
You just performed an import operation. Next, you will export data to Riverside.gdb. This
operation technically uses the same tool, but you access it differently.
Right-click CityPlanningZones.shp and choose Export > To Geodatabase (single).
In this case, the tool knows the input features, but not the output location.
For Output Location, navigate to and click ..\Student\BLDG\Exercise04\Riverside.gdb.
For Output Feature Class, type PlanningZones and click OK.
Preview PlanningZones and verify that the features were exported successfully.
For the final conversion, you will convert an Excel spreadsheet to a geodatabase table.
Expand 2003CensusData.xls.
4-14
Lesson 4
Right-click the Database worksheet and choose Export > To Geodatabase (single).
Choose ..\Student\BLDG\Exercise04\Riverside.gdb as the Output Location, name the
Output Table Census, and click OK.
Preview the new Census table.
You have successfully converted data from many sources into Riverside.gdb. The conversion
tools you can also be accessed as geoprocessing tools.
4-15
t0901
t0902
t0903
t0904
There are two ways to mosaic. You can simply load multiple rasters into one raster dataset, or
you can use the Mosaic geoprocessing tool. Either method will open the same geoprocessing
tool.
Right-click ..\Student\BLDG\Exercise04\Riverside.gdb\SubdivisionSW and choose
Load > Load Data.
For Input Rasters, browse to ..\Student\BLDG\Exercise04\RasterSources\Aerial and
select all of the images that start with t0 (901, 902, 903, 904), then click Add.
Accept the remaining defaults and click OK to run the tool.
Preview SubdivisionSW.
All four images are now combined as one mosaic within the SubdivisionSW raster dataset.
4-16
Lesson 4
Close ArcCatalog.
In this step, you loaded multiple rasters into one raster dataset. Next, you will use the raster data
type in a feature class table.
4-17
For the value for Image field, click <NULL>, then click Load.
Navigate to ..\Student\BLDG\Exercise04, select house.jpg, then click Add.
A picture of the house displays in the Attributes window.
Close the Attributes window.
Open the attribute table for Parcels.
Click the Show selected records button
4-18
Lesson 4
In the Identify window, click the picture icon on the right to view the image.
4-19
Click OK.
You have just created a new mosaic dataset which is simply an empty container in the
geodatabase with some default properties. Next, you will add six raster datasets.
In the Catalog window, right-click the new mosaic dataset and choose Add Rasters.
Verify that the Raster Type is set to Raster Dataset.
Click the Input drop-down arrow and click Workspace.
Click the browse button, navigate to your ..\Student\BLDG\Exercise04\RasterSources
folder and choose the DEM folder.
Click Add.
4-20
Lesson 4
Expand Advanced Options and check Calculate Statistics and Build Thumbnails.
Click OK.
This adds all three IMG files (RiversideE, RiversideW, and CoronaN) to the mosaic dataset.
Click the Full Extent button
4-21
.
Examine your table of contents.
The mosaic dataset appears as a group layer containing Boundary, Footprint, and Image layers.
Turn off the Footprint and Image layers.
The Boundary layer of the mosaic dataset shows the extent of all of the raster datasets as defined
by their footprints. By default, the boundary is displayed as a hollow pink polygon.
Turn off the Boundary layer and turn on the Footprints layer
The Footprint layer displays the footprints for each raster within the mosaic dataset. By default,
the footprints are displayed as hollow green polygons.
4-22
Lesson 4
From the group layer, you can apply functions that apply to the entire mosaic dataset. For
example, for a DEM you might want to use functions for creating slope aspect, or hillshade.
Now you'll add the Shaded relief function to the mosaic dataset.
In the Catalog window, right-click DEM and choose Properties.
Click the Functions tab.
Right-click Mosaic Function, choose Insert and click Shaded Relief Function.
Click OK to close the Raster Functions Properties dialog box.
4-23
You now have an on-the-fly shaded relief mosaic view of a raster catalog.
Close ArcMap without saving.
4-24
Lesson 4
Lesson review
1. Describe four ways to load data into the geodatabase.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
4-25
Scenario
Method
Import/Export
XML workspace
Mosaic
4-26
Lesson 4
Lesson review
1. Describe four ways to load data into the geodatabase.
Possible answers:
4-27
Introduction
In this lesson, you will learn techniques for creating domains and subtypes. Domains make it
easy for you to validate the attributes of your features and subtypes help you preserve the
integrity of your data.
Topics covered
Geodatabase behavior
Domains
Applying domains
Domain examples and advantages
Subtypes
Subtype examples and advantages
Is your data subtype ready?
Learning objectives
After completing this lesson, you will be able to:
5-1
Key terms
Term
Definition
Behavior
Domain
Subtype
5-2
Lesson 5
Applying domains
In this activity, you will use domains and subtypes in the context of building a geodatabase to
support customer pizza orders. While this is not a typical application for a geodatabase, this
activity provides practice and application of the concepts in this lesson.
Part 1
In ArcCatalog, open the PizzaTable.csv table from the ..\Student\BLDG\Exercise05 folder.
Refer to the Pizza Order table along with the menu and order form to answer the following
question:
1. List and describe some of the inefficiencies that currently exist in the PizzaTable.
______________________________________________________________________________
______________________________________________________________________________
5-3
Part 2
2. Using the pizza menu and order form, list and describe up to four domains that could be
created to help validate data entry.
Domain name
_________
Description
__________________
_______
Field type
Domain type
______________
______
Valid values
__________
__
______
______________
_____
____________
__________
______
______________
_____
____________
__________
______
__________
___________
_____
____________
__________
____________
Thinking about your current role or industry, how can domains help you?
5-4
Lesson 5
Domain examples
Here are a few examples of range and coded value domains, as seen in the presentation.
5-5
Subtype examples
Here are some examples of subtypes, as seen in the presentation.
5-6
Lesson 5
Creating subtypes
Subtypes require an integer field in the table in order to categorize or group various features
based on an attribute. it is possible that you may need to add an integer field and calculate it
prior to creating and using subtypes.
5-7
5-8
Lesson 5
5-9
5-10
Lesson 5
To further explore the field types for this table, click the Fields tab.
Notice that Elev_Class is a short integer field. Using a short integer field for subtypes is more
efficient than using a long integer field, because of the amount of bytes each data type takes up.
A short integer uses up to 2 bytes; a long integer uses up to 4 bytes. You probably will not need
a long integer to store codes.
Click the Subtypes tab.
For Subtype Field, click the drop-down arrow to see a list of the possible subtype fields.
Note: Subtypes must be created from either a long or short integer field, so only fields of
these types will display in the Subtype Field list.
5-11
In the first empty cell under Description, highlight New Subtype and type High Elevation
(8,800-12,000 ft).
Finish creating subtypes for the R2Trails feature class using the following table as a guide.
Code Description
2
Click Apply to create the three subtypes without closing the dialog box.
Notice that the Default Subtype was set to the first subtype you entered, but you can change it to
any subtype. The default subtype is used for editing and will be discussed in subsequent lessons.
An important benefit of using subtypes is the ability to assign default attribute values to each
group of features. For example, the high elevation trails can consist of dirt and loose rock. Once
this default value is assigned to the subtype, it will streamline the process of attribute editing. If
you digitize a new high elevation trail in ArcMap, the TR_Condition field will automatically be
set to Dirt, loose rock.
Click the small, gray box next to the first subtype to select High Elevation.
In the Default Values and Domains section at the bottom of the dialog box, scroll down
until you locate the TR_Condition field.
In the Default Value column for the TR_Condition field, type Dirt, loose rock, then click
Apply.
Set the default value for the remaining subtypes using the following table as a guide:
Subtype
Default Value
Click Apply to assign these default values and to keep the Feature Class Properties dialog
box open for the next step.
Next, you will create several domains and then bring the R2Trails feature class into ArcMap to
see subtypes and domains in action.
5-12
Lesson 5
5-13
5-14
Lesson 5
Click Apply.
The range domain you just created can be used on all elevation trails. An advantage of using
subtypes in the geodatabase is that you can apply different domains to different subtypes. For
example, higher elevation trails could have a mileage constraint that is different from the lower
elevation trails.
Create a second range domain and name it HighElevationMileage. Set its field type to
match the MileageRange domain you created earlier, but set its range to 10-25.
Click Apply.
You will apply these domains to subtypes later in this exercise.
Keep the Database Properties dialog box open for the next step.
5-15
In the next empty cell for Code, type N and, for its description, type No.
Click OK on the Database Properties dialog box.
This is a fairly simple yes or no domain. Now you will create a more complex coded values
domain. To do this, you will use a geoprocessing tool that converts a table into a coded values
domain.
Navigate to ..\Student\BLDG\Exercise05\OldGrowthSource.xls and expand it.
Preview the SourceInfo worksheet.
You will convert these codes and descriptions into a domain using the Table To Domain
geoprocessing tool.
From the Geoprocessing menu, choose Search For Tools.
If necessary, in the Search window, click Tools.
In the input box, type Table To Domain, then click the Search button
Click the Table To Domain (Data Management) tool to open the it.
Enter the parameters using the following graphic as a guide:
Click OK.
5-16
Lesson 5
Open the properties for Forestry.gdb and verify that R2Veg_Oldgrowth_Source has been
added as a domain.
Close the Database Properties dialog box.
You just created two coded value domains, one by typing and another through geoprocessing.
Next, you will apply these domains and the range domain you created in the previous step to
attribute fields and subtypes.
5-17
5-18
Lesson 5
Scroll down and click R2Veg_Oldgrowth_Source to apply this domain to the selected
field.
5-19
For Domain, click the empty cell to view the available domains.
Note: Remember, the Mileage field is a Float field, so only domains of that type will
display in the list.
5-20
Lesson 5
From Forestry.gdb, drag and drop the following feature classes to the map display area:
\R2VegFD\R2VEG
R2Trails
The trails are symbolized based on their subtypes, but the vegetation polygons all draw in the
same color.
Open the properties for the R2Trails layer and click the Symbology tab.
Click Import.
Make sure the first option to import symbology definition from another layer or a layer file
is selected.
Click the Browse button and navigate to the ..\Student\BLDG\Exercise05 folder.
Click the R2Trails.lyr file, then click Add.
Click OK on the Import Symbology dialog box.
Click OK on the Import Symbology Matching dialog box to verify that you do want to use
the Elev_Class field, which is the subtype field.
The symbology for the layer file has been applied to the R2Trails layer.
5-21
Each subtype now displays with a different color. Next, you will see how subtypes and domains
can be useful in an edit session.
If necessary, turn on the Editor toolbar.
Start an edit session.
Remember, you can click the Auto Hide push pin on the Create Features window to set it to
auto hide.
First you will explore the domains you created for the R2VEG layer's related tables. To make
this process easier, you will turn off the display of the R2Trails layer.
Turn off the R2Trails layer.
With the Edit tool, select a single vegetation polygon.
On the Editor toolbar, click the Attributes button
In the Attributes window, expand the feature listed under R2VEG to view the related
tables.
Once you expand the feature, the relationship classes for this feature class display. Relationship
classes will be discussed in more detail later. For now, you can use the two domains you created
by navigating to the ToSpec and ToPolyLocal relationships. ToSpec is a relationship class label
that represents an association between the R2VEG feature class and the R2VEG_SPECIES
table. ToPolyLocal is a relationship class label that represents an association between the
R2VEG feature class and the R2VEG_POLY_LOCAL table.
5-22
Lesson 5
Notice that the only options are Yes and No, the same values you entered for the domain.
Remember, you gave Yes a code of Y and No a code of N. When using coded value domains in
ArcMap, the user will always see the meaningful description rather than the code.
Note: You can set the tables to show the codes rather than the descriptions. From the
Customize menu, click ArcMap Options, then click the Tables tab and uncheck
Display coded value domain and subtype descriptions. Click OK.
In this domain list, you see all the values you entered for the R2Veg_Oldgrowth_Source
domain. Even though domains restrict the list of valid values, it is still up to the you to choose
the correct value.
Close the Attributes window.
Next, you will look at the subtypes and range domain you applied to the R2Trails feature class.
Turn off the R2VEG layer and turn on the R2Trails layer.
Select the westernmost High Elevation trail in the display.
5-23
Notice the value for the Mileage field falls outside the high elevation range of 10 - 25.
Range domains do not have built-in validation like coded value domains. Therefore, you have
to manually validate in ArcMap using the Validate Features command on the Editor menu.
This command will only be enabled when you make a selection. It will leave any invalid
features selected and unselect all valid features.
For now, you will leave it as is. Later in this course, you will edit and validate range domain
values.
Close the Attributes window.
Notice that the Create Features window contains all the subtypes within the R2Trails layer. You
will do more subtype editing in a later exercise. At this point, you have seen some of their
immediate display benefits.
From the Editor menu, choose Stop Editing, then click Yes if prompted to save your edits.
Close ArcMap without saving.
5-24
Lesson 5
Lesson review
1. Explain when it is appropriate to use coded value domains and when it is appropriate to use
subtypes.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
5-25
Domain
name
Description
Field
type
Domain
type
Valid values
Quantity
Number of pizzas
ordered
Short
integer
Range
Minimum 1, Maximum 5
Crust
Type of crust
Text
Coded
value
Sauce
Type of sauce
Text
Coded
value
Text
Coded
value
10-Small, 12-Medium,
14-Large, 16-Xlarge
5-26
Lesson 5
Lesson review
1. Explain when it is appropriate to use coded value domains and when it is appropriate to use
subtypes.
Use domains when:
5-27
Introduction
This lesson shows you how to use relationship classes to help make your geodatabase more
accurately reflect the real world and facilitate data maintenance.
Topics covered
Learning objectives
After completing this lesson, you will be able to:
6-1
6-2
Lesson 6
Relationship classes
Relationship classes are a geodatabase element that allow you to create a persistent connection
between tables or feature classes. They are similar to ArcMap relates, only, they are stored in
the geodatabase, not a map document. Additionally, there are other advantages to them that
you will discuss shortly.
6-3
Read-write access: You can edit the attributes in the related class.
All cardinalities: One-to-one, one-to-many, and many-to-many cardinalities are
6-4
supported, and may have attributes about the relationship itself (an attributed
relationship).
Relationship rules: You can create rules to refine the cardinality between classes based
on subtypes. That is, Parcels and Buildings have a one-to-many relationship, but rules
can state that a commercial property may only be related to warehouse or office
buildings.
Simple or composite: Relationships can be simple (peer-to-peer) or composite (parent-tochild), where the parent class controls the lifetime of the related child class objects. If two
feature classes are related with a composite relationship, the child features follow the
parent feature when it is moved or rotated.
Referential integrity: The relationship class manages the key fields that link the classes
and, in a composite relationship, performs a cascade delete to delete all the child class
objects when the related parent class object is deleted.
Lesson 6
6-5
Relationship rules
Relationship rules are used to maintain data integrity within the geodatabase when objects are
created, modified, or deleted. They control which origin class subtypes can be related to
destination class subtypes, and set specific cardinality to the subtype relationships. Like all rules,
relationship rules are tested by the ArcMap Validate command.
Use relationship rules to:
6-6
Lesson 6
\R2VegFD\R2VEG
R2VEG_GIS_CALCS
R2VEG_SPECIES
Open the attribute table for the R2VEG layer.
1. How many records are in this feature class?
______________________________________________________________________________
Open the R2VEG_GIS_CALCS table.
2. How many records are in this table?
______________________________________________________________________________
6-7
Note: To view both tables at once, click the R2Veg tab and drag it onto the Table
window. Use the docking guide
to choose a location.
6-8
Lesson 6
6-9
Click Next.
The next panel offers two choices for the relationship type: simple and composite. Because you
want to ensure that no species of vegetation exists without a polygon, you will create a
composite relationship.
Choose Composite relationship, then click Next.
The next panel of the wizard allows you to create labels for the new relationship class. Labels
express the navigational relationship between destination and origin tables participating in a
relationship class. Forward labels navigate from origin to destination; backward labels navigate
from destination to origin. Labels will display in the Attributes and Identify windows in
ArcMap, so you will want to make your label naming conventions meaningful.
In the first text box, type R2Veg To GisCalcs as the label for origin to destination.
In the second text box, type GISCalcs To R2Veg as the label for destination to origin.
6-10
Lesson 6
Make sure Forward is chosen for message direction, then click Next.
Note: Forward messaging is the default for composite relationships and allows for
feature following and cascade deletes. When the parent (origin) is deleted, related
child records are also deleted.
If the properties of your relationship class match the graphic, then click Finish. Otherwise,
go back and change any incorrect properties, then click Finish when you are done.
Your new relationship class is now added to the geodatabase. Next, you will explore the
properties.
In the Catalog window, right-click the new ToGISCalc relationship class and choose
Properties.
Click the General tab.
All the properties listed are the ones you just entered when you created the relationship class.
You will work with the Rules tab in exercise 6B.
Click OK to close the Relationship Class Properties dialog box.
Now that you've created the relationship class, you realize that you should have prefaced the
relationship class name with the origin table name.
6-11
Note: Once you create the relationship class, you can only change the name.
Relationship property
Your input
Relationship name
R2Veg_ToSpecies
R2Veg To Species
Species To R2Veg
Messaging
Cardinality
Add attributes to this relationship? No
Primary key
Foreign key
Right-click the Relationships geodatabase and choose New > Relationship Class.
For the inputs, refer to the table you just completed.
6-12
Lesson 6
When finished, verify that your summary matches the following graphic.
Click Finish.
Notice all of these relationship classes were created as composite. This means that there is a
dependent relationship between the vegetation polygons and the species records or records in
any other table. A species cannot exist without a vegetation polygon, just as in the real world.
Relationship classes are mainly used in ArcMap for editing operations, but you can also access
the related data by using the Identify tool.
Click the Identify tool, then click a feature.
In the Identify window, expand the feature to view the relationship classes available for
this feature class.
Expand the R2Veg To Species label to reveal the related records.
Spend a moment exploring the related records, then close the Identify window when you
are finished.
6-13
Using the Identify tool, click the polygon indicated in the following graphic.
The attributes that display are the ones stored in the R2VEG layer. Relationship classes provide
you with access to additional attributes when using the Identify tool.
6-14
Lesson 6
Note: These are the forward labels because you are navigating from the origin feature
class (R2VEG) to the destination tables.
Notice that this represents the two relationship classes you just created. An advantage of
relationship classes is that they can be accessed in a variety of ways, such as using the Identify
tool.
Expand each of the related tables in the Identify window.
6-15
The bottom section of the Identify window now displays the attributes for the related record in
the R2VEG_GIS_CALCS table.
Click several of the related species records to view their attributes.
When finished, close the Identify window.
Next, you will access the relationship classes through the attribute tables.
With the Select by rectangle tool
Identify tool.
6-16
to view the
Lesson 6
The related table opens with the related record selected. Because this is a one-to-one relationship
class, there will only be one related record selected.
Notice the VEG_LINK value is the same for both records. This is the primary and foreign key
in the relationship class that connects the two tables.
Refer to the two open tables to answer the following questions.
5. When was this polygon entered into the geodatabase?
______________________________________________________________________________
6. How many acres are in this watershed?
______________________________________________________________________________
The information you acquire from both tables pertains to the same polygon.
Close the R2VEG_GIS_CALCS attribute table.
6-17
Next, you will explore the other relationship class you created.
Click the Selected records in a related table button and choose R2Veg_ToSpecies : R2Veg
To Species.
Click the Show selected records button to view the related records.
7. How many selected records are in the R2VEG_SPECIES table?
______________________________________________________________________________
8. With the answer to the previous question in mind, what is the cardinality of the relationship
class between the R2VEG layer and the R2VEG_SPECIES table?
______________________________________________________________________________
In this case, there are nine selected records in the R2VEG_SPECIES table for the DEVLXX
1086 polygon. With a relationship class, you can easily access the various species of vegetation
within this particular area of the forest.
Take a moment to examine the various species listed for these nine records.
Next, you will explore how relationship classes will assist you during editing.
Close both attribute tables by closing the Table window.
Start an edit session.
Click the Attributes button
Expand the selected polygon (DEVLXX 1086) to reveal the relationship classes.
The same two relationship classes that were available in the Identify window are available here
as well. The benefit is that you can edit the related records from the Attributes window. The
next lesson will focus on editing geodatabase behaviors.
Expand the R2VEG_SPECIES relationship class.
Click the first related record to view its attributes.
Click the current value for COVER_PCT.
6-18
Lesson 6
6-19
6-20
Lesson 6
Select Office to enable the Cardinality panels on the right side of the dialog box.
Check the box for Specify the range of associated destination objects.
Leave Min set to 0 and type 2 for Max.
Note: The order in which you enter the min and max values is important. The value for
Min cannot be higher than the value for Max, so you must always set the Max
value first.
The first rule states that each parcel zoned Commercial can have between zero and two office
buildings associated with it.
6-21
Click OK.
Using the skills you just learned, create the remaining relationship rules using the
following table as a guide. Be sure to click Apply after each rule has been entered. Do not
uncheck any previously created relationship rules.
6-22
Parcel subtype
Commercial
Commercial
0..4
Miscellaneous
Park
0..1
Residence
0..2
0..5
Office
Public Facility
0..1
Office
Commercial
0..3
Lesson 6
6-23
Next, you will test the number of associated records. In the relationship rules, you set a
maximum value of two residences for single-family parcels. There are several single-family
parcels that contain more than two buildings.
Locate and select the parcel and the three buildings inside it shown in the following
graphic.
From the Editor menu, choose Validate Features and read the Validate Features message.
The message clearly states that there is an association between these subtypes, but you set a
maximum of two buildings and there are three on this parcel. Perhaps this is an actual case
where there are more than two residences on a parcel. You can keep the invalid association, or
make the necessary edits to correct the problem. Relationship rules don't stop you from creating
invalid associations, they only locate such associations after they have already been made.
Click OK to close the message.
6-24
Lesson 6
6-25
Click OK.
6-26
Lesson 6
This feature is not a child yet, because it does not have a foreign key value. You can copy the
key value from the selected parcel in the Attributes window.
Right-click Parcel and choose Add Selected.
Now the new park is a child of the commercial parcel it falls within.
6-27
Expand Parcel, then right-click the feature under it and choose Unselect.
6-28
Lesson 6
6-29
Lesson review
1. Explain the benefits of using relationship rules.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
2. What is the cardinality for each relationship?
Relationship
6-30
Cardinality
____________
___________
A given property may have many owners and a given owner may
own many properties:
_____________
____________
_____________
6-32
Lesson 6
10. Why do relationship classes have to be created between tables or feature classes that are in
the same geodatabase?
Because relationship classes are read/write and ArcMap can only edit within one
geodatabase at a time. Therefore, you cannot build relationship classes in multiple
geodatabases, because you would not be able to edit the data.
Lesson review
1. Explain the benefits of using relationship rules.
Relationship
Cardinality
One-to-many
One-to-one
A given property may have many owners and a given owner may own
many properties:
Many-to-many
Many-to-one
Many-to-many
6-33
Introduction
In this lesson, you will apply the concepts covered in lessons 5 and 6 to a variety of editing
scenarios.
Topics covered
Using range domains, coded value domains, and relationship classes in the editing
process
Learning objectives
After completing this lesson, you will be able to:
Use domains, subtypes, and relationship classes to streamline your editing workflow.
7-1
The height of a utility pole co-location must be at least 30 feet in height, and cannot be
In preparation for updating the power pole and transformer feature classes, you want to
implement some attribute validation rules to make editing efficient and prevent errors. Describe
how subtypes, domains, and a relationship class can help you accomplish this task.
Specific information about the Power pole and transformers feature classes are provided in the
following tables.
Notes
PoleID
Unique identifier
PoleType
PrimaryDistribution
SecondaryDistribution
Material
Height
7-2
Values
Wood
Concrete
Steel
30
35
40
45
50
concrete or steel
Lesson 7
Values
TransformerID
Unique identifier
PoleID
Unique identifier
TransformerClass
OverheadDistribution
PadMountedDistribution
kVA
15
25
37.5
50
75
Notes
Overhead distribution
7-3
..\Student\BLDG\Database\Editing.gdb\R2VegFD\R2VEG
..\Student\BLDG\Database\Editing.gdb\R2VEG_GIS_CALCS
..\Student\BLDG\Exercise07\R2Trails.lyr
Open the R2VEG attribute table.
In the Table window, click the Select By Attributes button
In the Select by Attributes dialog box, for Method, make sure Create a new selection is
selected.
Double-click "VEG_LINK" to add it to the expression window.
Click the equal button
7-4
Lesson 7
1086'.
to view
From the Table window, click Related Table, then choose the R2VEG_CovToCalc :
ToGISCalc relationship class.
This will open the R2VEG_GIS_CALCS table. You will use this table to answer the following
questions.
1. What is the value for PARTITION_TYPE?
______________________________________________________________________________
2. What is the ASPECT_CLASS value for the selected record?
______________________________________________________________________________
Close the Table window.
Now that you have explored the attributes for the selected polygon, you will edit some of these
attributes using coded value domains. For the purpose of this exercise, you will assume that the
GIS analyst who originally edited this polygon data entered several incorrect values.
Start an edit session.
7-5
In the table of contents, right-click R2VEG and choose Selection > Zoom To Selected
Features.
This is the same polygon you worked with in the previous exercise, DEVLXX 1086.
Open the Attributes window.
Expand DEVLXX 1086 to view the available relationship class labels.
Expand R2VEG_GIS_CALCS relationship class to view the related record.
Click the record for DEVLXX 1086 to view its attributes.
For the PARTITION_TYPE, click the current value of Watershed to view the domain list.
The PARTITION_TYPE field has a coded value domain applied to it. You will only be able to
choose from values that are in the domain list.
Note: Coded value domains ensure that the user chooses from a list that contains only
valid values, but it is still up to the user to choose the correct value.
7-6
Lesson 7
7-7
7-8
Lesson 7
Imagine that a new trail has been added to the R2Trails feature class, but its mileage is not yet
known. You could give it a mileage value of -99 to flag it as an unknown value. When the
mileage is known, you could select and validate all trails to easily locate the trail with an
unknown mileage and make the necessary revisions. Think of range domains as a method for
locating attribute errors, but not for preventing them.
Open the Attributes window.
Change the mileage value back to 10.65086 and press Enter.
Close the Attributes window.
Validate the features again.
All features are now valid.
Click OK on the Validate Features message and save your edits.
In the Catalog window, expand the Editing geodatabase and open the feature class
properties for the R2Trails feature class.
Click the Subtypes tab.
Select the High Elevation subtype.
In the Default Values and Domains section, scroll down to the TR_Condition field.
7-9
7-10
Lesson 7
If necessary, dock and auto hide the Attributes window so you can see the feature on the
map.
Click the Edit Tool
The new trail is now the color of the high elevation subtype.
With the Edit tool, select the new trail again.
In the Attributes window, locate the ELEV_CLASS field and click the value High
Elevation (8,800-12,000 ft).
The values that appear are not coded value domains. Although they look very similar, they are
actually subtypes.
7-11
, choose Appearance.
Uncheck Display coded value domain and subtype descriptions, and click Apply.
7-12
Lesson 7
7-13
7-14
Lesson 7
, end
, and vertex
buttons to enable
7-15
Digitize a new polygon similar to the one in the following graphic, snapping to the edge of
an existing polygon anywhere in the zoomed area.
Notice that there are no plus signs next to the relationship class labels. At this point, there are no
related records, only the new polygon you just added to the R2VEG layer. When you add new
7-16
Lesson 7
features to a feature class that participates in a relationship class, you have to manually add
records to the related tables.
Remember, the relationship classes in the Editing geodatabase are all composite and are
one-to-one except ToSpec, which is one-to-many.
Right-click the R2VEG_GIS_CALCS label and choose Add New.
An error should appear.
9. Why do you think an error occurred and what is the solution?
______________________________________________________________________________
______________________________________________________________________________
Click OK on the error message.
Before adding records to a relationship, there has to be a valid primary key value in the parent
table. Next, you will update the VEG_LINK field with a generic value so you can add related
records.
Change the VEG_LINK value for the new polygon to 99999 and press Enter.
Try to add a new record to the R2VEG_GIS_CALCS relationship class again.
This time the operation is successful.
After you add a new record, you can begin editing its values using the Attributes window or the
table. You also have access to the coded value and range domains of the new records.
7-17
Click the new record in the R2VEG_GIS_CALCS relationship to view the attributes.
Notice that every value is set to <Null> except ObjectID and VEG_LINK, which is set to the
same value you entered for the new polygon.
Update several of the attributes according to the following table.
Field
Value
PARTITION_TYPE Watershed
PARTITION
PASPXX
ENTERED_BY
ENTERED_DATE
ASPECT_CLASS
South West
SLOPE_PERCENT 43
7-18
Lesson 7
As you edited the value of the related record, you used coded value domains, range domains,
and typed into fields that had no domains. Remember, you can perform the same edits in the
attribute table.
Close the Attributes window.
With your new polygon still selected, open the attribute table for the R2VEG layer and
view only the selected record.
Open the ToPolyLocal relationship class label.
Because you have not added any records to this relationship, there should be no related (i.e.,
selected) records in this table. You can still create a new related record.
Scroll to the bottom of the table.
In the first empty row, for VEG_LINK, type 99999.
The ObjectID automatically updates because it is managed by the software.
Close the Attributes of R2VEG_POLY_LOCAL table.
Open the ToPolyLocal relationship class again.
This time, the R2VEG_POLY_LOCAL table opens with one record selected. This record is the
new one you just added.
Update several fields for your new record using the following table as a guide.
Field
Value
CHANGE_COVER_TYPE
Aspen
OLD_GROWTH
No
7-19
Open the Attributes window and navigate to the ToSpec relationship class label.
Expand ToSpec to view the related records.
Notice that there are nine related records in the R2VEG_SPECIES table.
10. Is the relationship class between R2VEG and the R2VEG_SPECIES table simple or
composite?
______________________________________________________________________________
11. What is one of the main characteristics of this kind of relationship?
______________________________________________________________________________
Can a species of tree exist where there is no vegetation polygon? Not in the real world and, with
the help of relationship classes, not in your geodatabase either.
Close the Attributes window.
Open the R2VEG layer's attribute table and open the ToSpec relationship label.
12. How many total records are in the R2VEG_SPECIES table?
______________________________________________________________________________
Close the attribute tables.
7-20
Lesson 7
The polygon has been deleted from the map display, and behind the scenes, the relationship
class was at work maintaining referential integrity between your records.
Open the attribute table for R2VEG.
From the Table Options menu, choose Related Tables, then click R2VegCOVToSpecies :
ToSpec.
13. How many records are now in the R2VEG_SPECIES table?
______________________________________________________________________________
The R2VEG_SPECIES table now contains nine fewer records than before, because of the
cascade delete operation initiated by the relationship class. This functionality can help to
preserve the integrity of your data.
If this were a simple relationship and you deleted the polygon, all the related records would
remain in their respective tables, which would not be an efficient way to manage the data. On
the other hand, if there were parcels and a table of owners involved in a relationship class, a
simple relationship would work better. For example, when a single parcel gets deleted, the
owner remains in the table because the owner could own several other parcels. In such a case, a
composite relationship would not be beneficial because you would actually lose data.
The relationship with the R2VEG_SPECIES table is a one-to-many relationship. The other
relationship classes in the Editing geodatabase are all one-to-one.
14. Do you think deleting the polygon affected those tables as well?
______________________________________________________________________________
Relationship classes are very efficient editing tools that can help keep your database tables clean.
By deleting the parent record, all associated child records are also removed. Without the
composite relationship class, you would have had to manually delete all the records.
Close all attribute tables.
From the Editor menu, choose Stop Editing, then click Yes to save your edits.
Close ArcMap without saving the map.
7-21
Lesson review
1. How would you use attribute validation rules within your own data and workflows?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
7-22
7-24
Lesson 7
10. Is the relationship class between R2VEG and the R2VEG_SPECIES table simple or
composite?
Composite
11. What is one of the main characteristics of this kind of relationship?
In a composite relationship, if the parent records are moved or deleted, the related child
records are also deleted.
12. How many total records are in the R2VEG_SPECIES table?
36977
13. How many records are now in the R2VEG_SPECIES table?
36968
14. Do you think deleting the polygon affected those tables as well?
Yes, one record from each was deleted.
Lesson review
1. How would you use attribute validation rules within your own data and workflows?
Answers will vary, but here are a few options:
7-25
Geodatabase annotation
Introduction
In this lesson, you will learn how to create and edit annotation feature classes.
Topics covered
Geodatabase annotation
Labels and annotation
Converting labels to annotation
When to use labels or annotation
Learning objectives
After completing this lesson, you will be able to:
8-1
Geodatabase annotation
Key terms
Term
Definition
Labels
Annotation
Standard
annotation
8-2
Lesson 8
Geodatabase annotation
What is geodatabase annotation?
A feature class that contains specialized text properties that is stored in the geodatabase
as opposed to in the map document, like labels.
Geodatabase annotation:
8-3
Geodatabase annotation
Feature-linked annotation
Feature-linked annotation is associated with features in another feature class.
A feature-linked annotation feature class is updated every time the linked feature class is
updated.
8-4
Lesson 8
Labels
Annotation
Dynamically placed
Managed as a group
Managed individually
Scale dependent
8-5
Geodatabase annotation
Labels or annotation?
Below are some tips on when to use each option for placing text on a map.
8-6
Lesson 8
8-7
Geodatabase annotation
8-8
Lesson 8
You can only control label placement from the Layer Properties or the Label Manager. You
cannot click and drag individual labels on the map. After converting these labels to annotation,
you will be able to edit each piece of text individually.
Notice the size of the label text relative to the current map display. You want your annotation
features to draw at this size when drawn at the current map scale so, before you convert these
labels to annotation, you will set the reference scale. The reference scale is the scale at which
symbols will appear on the page at their true size, specified in page units. It also controls the size
of the text when you zoom in and out of the map. As the extent changes, the text and symbols
change scale along with the display. Without a reference scale, the symbols remain the same
size at all map scales.
Right-click the Layers data frame and choose Properties.
Click the General tab.
For Reference Scale, click the drop-down arrow.
Notice that there are many pre-set scales you can choose from. In this exercise, you will choose
to use the current map scale as the reference scale.
From the drop-down list, click <Use Current Scale>, then click Apply.
The current map scale is entered in the Reference Scale input box.
Note: Your current scale may differ from the example shown in the following graphic.
8-9
Geodatabase annotation
Notice that the RiversideAnno.gdb geodatabase is where the new annotation feature class will
be stored (i.e., destination). When creating feature-linked annotation, the annotation feature
class must be stored in the same geodatabase as the features. If you were creating standard
annotation, you could choose to store it in any geodatabase.
8-10
Lesson 8
Verify that your dialog box matches the following graphic (however, the reference scale
may be different).
Click Convert.
The labels have been converted to annotation and the RoadsAnno layer has been added to the
table of contents. The conversion process automatically turns off the labels in the Roads layer,
so the text you see on the map comes from the RoadsAnno layer. Notice that the RoadsAnno
layer has four annotation classes listed under it. These are the label classes you explored earlier
in this step.
8-11
Geodatabase annotation
You will edit the annotation later in this exercise, but for now, you are going to explore the
RoadsAnno annotation feature class.
Notice that the structure of the annotation classes within RoadsAnno is similar to the R2Trails
subtypes you created earlier. There is a subtype field, AnnotationClassID, which is the integer
field used to categorize the features within RoadsAnno. The Subtypes section lists integer codes
8-12
Lesson 8
and descriptions, which are the names of the label classes that existed prior to converting the
labels to annotation. All label classes become annotation subtypes when you convert the labels
to annotation. Further, you can enter default values and apply domains for fields in each
annotation class subtype. The concept is very similar to what you have already done. In this
case, ArcCatalog created the subtypes for you.
Click OK to close the Feature Class Properties dialog box.
Next, you will look at the relationship class created automatically when you created
feature-linked annotation.
Open the properties for Anno_9_#.
Note: The name of your relationship class may differ slightly from the one in the
following graphic.
8-13
Geodatabase annotation
3. The type of relationship is listed as composite. How does this affect the features involved in
this relationship class?
______________________________________________________________________________
______________________________________________________________________________
Notice the name of the relationship class has been entered by the software as Anno_9_#. All
relationship classes for annotation will be prefaced with Anno and followed by a series of two
numbers. The first number, 9 in this case, is the internal ID of the feature class Roads. The
second number is the internal ID for the annotation feature class, RoadsAnno. If you were to
continue to create and delete this relationship class, the name would always contain a 9, but the
second number would increment by one each time. This is the default naming convention for all
8-14
Lesson 8
composite relationship classes created through feature-linked annotation. You can change this
name without affecting the behavior or the relationship class.
Click OK to close the Relationship Class Properties dialog box.
Right-click Anno_9_# (your numeric value may differ) and choose Rename.
Type RoadsToRoadsAnno and press Enter.
Now the relationship class has a more meaningful name. Next, you will edit annotation features
in ArcMap.
8-15
Geodatabase annotation
The Construction Tools pane allows you to choose the shape or direction your annotation text
will take. In this case, you are labeling a minor road that is horizontal on the map, so you chose
Horizontal.
Move your mouse cursor onto the display.
Note that the cursor contains the text string Pearl St.
Click anywhere near the small street that runs perpendicular to Iowa Av to add the text.
You have just added an annotation feature. Next, you will add annotation using Follow Feature
construction.
In the Construction Tools pane, set the construction to Follow Feature.
The Follow Feature option allows you to create geodatabase annotation while constraining its
placement relative to the feature for which it is being created. You can still move the annotation,
but you can only move it along the feature.
Zoom to the Follow Feature bookmark.
8-16
Lesson 8
When you click the street, it flashes momentarily. This tells ArcMap that you want to use the
value in the annotation fields to create annotation for this feature. Also, Pearl St still displays
because this is typed into the Text box on the Annotation toolbar. You don't want to use Pearl
St; you want the name of the street you clicked on to be placed as annotation.
Hover your mouse cursor over the street and press W on the keyboard.
This pulls the attributes from the annotation fields for that feature and displays them near the
cursor. Notice the annotation follows the direct path of the feature you clicked. This is a
property of follow-feature annotation.
Click anywhere along Colgate Way to add the new annotation.
Using the skills you just learned, add annotation for a few more streets that currently have
no annotation.
After adding new annotation, you can always modify it. You will start by modifying the Pearl St
annotation you created earlier.
Zoom to the Create Annotation bookmark.
From the Editor toolbar, click the Edit Annotation tool
8-17
Geodatabase annotation
Notice there are three shapes within the selected piece of annotation. The triangle in the top
center allows you to resize the annotation by clicking and dragging in or out. The two angles at
each lower corner allow you to rotate the annotation.
Using the Edit Annotation tool, click the triangle and drag it out and in to see the change
in font size.
Release the mouse cursor when you reach a desirable annotation size.
Experiment with rotating the annotation by clicking the angles at the lower corners of the
selected annotation.
Next, you will edit the annotation in the Attributes window.
On the Editor toolbar, click the Attributes button
The window contains two tabs: Annotation and Attributes. The Annotation tab is where you
edit the properties of the annotation, such as font, color, and size. The Attributes tab allows you
to edit the attribute table for the annotation feature class.
If necessary, click the Annotation tab.
Change the color to red and the font style to bold Comic Sans MS, then click Apply.
If necessary, move or dock the Attributes window so you can see Pearl St in the map with
the new font displayed.
8-18
Lesson 8
For now, you will not change any of the attributes, but you will explore some of the options.
Click the value for the HorizontalAlignment field.
These are domains. You learned about domains earlier in this course. The software created
domains for you when you created the annotation.
4. Is this a coded value or a range domain?
______________________________________________________________________________
Click off of the domain list to close it, then close the Attributes window.
There are many ways to add new annotation in ArcMap. You can enter new attributes in the
attribute table or Attributes window, or you can use the operations on the Annotation toolbar.
Another way to add annotation is through the Unplaced Annotation window. Unplaced
annotation could not be added to the map when the annotation was created because of the label
placement rules. You can always go back and add annotation that was not placed using the
Unplaced Annotation window.
Zoom to the Freeway Intersection bookmark.
From the Editor menu, choose Editing Windows > Unplaced Annotation.
In the Unplaced Annotation window, for Show, choose RoadsAnno.
Click Search Now.
ArcMap will search within the visible extent for unplaced annotation in the RoadsAnno feature
class.
In the Unplaced Annotation window, click the first piece of unplaced annotation. It will
flash in the map.
Right-click the first piece of unplaced annotation and choose click Zoom to Feature.
8-19
Geodatabase annotation
8-20
Lesson 8
Check the check box for Link the annotation to the following feature class.
When you click this check box, an additional drop-down list displays. This list contains all the
feature classes in the LandBase feature dataset. By clicking this check box, you are creating
feature-linked annotation. Next, you have to tell Catalog which feature class you want to link
the annotation to.
From the drop-down list, choose Parks, then click Next.
Click Next.
For Reference Scale, type 12,000.
Notice that in the Editing behavior section, new annotation will be created when a new feature
is added and that annotation will be updated when a feature's shape is modified.
Click Next.
The next wizard panel allows you to create annotation classes and set symbology. For now, you
will not create annotation classes, but you will set default symbology.
Change the font to size 10 and the style to bold.
8-21
Geodatabase annotation
Parks
ParksAnno
In the table of contents, right-click Parks and choose Zoom to Layer.
8-22
Lesson 8
In the Create Features window, select the Default template under ParksAnno.
In the Construction Tools pane, change the construction to Horizontal.
Hover your mouse cursor over the park in the upper-left corner of the map display and
press the W key on the keyboard.
5. What does pressing the W key on your keyboard do when you are adding annotation?
______________________________________________________________________________
______________________________________________________________________________
Click the feature to add Nichols Park annotation to the map.
Hover the Sketch tool over the park to the right of Nichols Park and press the W key on
your keyboard.
Click to add Mt. View Park annotation.
Continue in this manner until annotation for all parks has been created.
If necessary, use the Edit Annotation tool to adjust the placement of the text you added.
You just added annotation to an empty annotation feature class you created.
Stop Editing, then click Yes to save your edits.
Close ArcMap without saving the map document.
8-23
Geodatabase annotation
Lesson review
1. Explain the benefits of using feature-linked annotation and why you would choose this over
standard annotation. Also, list some real-world examples of feature-linked annotation.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
8-24
Geodatabase annotation
Lesson review
1. Explain the benefits of using feature-linked annotation and why you would choose this over
standard annotation. Also, list some real-world examples of feature-linked annotation.
8-26
Geodatabase topology
Introduction
In this lesson, you will create a topology. This process consists of adding a topology object to a
feature dataset, setting its properties, choosing the feature classes that will participate in the
topology, and identifying the appropriate rules.
Topics covered
Learning objectives
After completing this lesson, you will be able to:
Create a topology.
Choose the appropriate topology rules.
Apply a topology.
9-1
Geodatabase topology
Key terms
Term
Definition
Topology
9-2
Cluster
tolerance
Dirty
areas
Lesson 9
Using the map of New York City above, list some examples for each of the following spatial
relationships.
1.
Adjacency
Coincidence
_________________________________
____________________________________________________
____
Connectivity
_____________________________________
Containment
___________________________________________________
9-3
Geodatabase topology
9-4
Lesson 9
Topology workflow
This is a commonly used workflow when working with a geodatabase topology.
Dirty areas
Dirty areas are parts of the topology that have yet to be validated. These are important because
there may be features within these dirty areas that are breaking a topology rule. Once you
validate, the dirty area will go away and either the data will be clean or there will be errors.
Anytime you make an edit in a topology, you create a dirty area.
9-5
Geodatabase topology
Not Validated
You edit any of the features that participate in a topology, or change
the properties of the topology by adding or deleting feature classes or
rules. Again dirty errors are symbolized with hatched rectangles.
Validated No Errors
When you validate a topology and discover none of the participating
features violate any of the topology rules. The preview of an error-free
topology is blank. In other words, nothing is symbolized.
9-6
Lesson 9
Create a topology
Here is a numbered list of the steps used to create a topology. You can use this to follow along
during the demo and take notes on the right if you want to.
9-7
Geodatabase topology
This is a portion of an assessor's database that contains some simple, built-in topology errors.
The three feature classes displayed in the Catalog tree represent lot lines, lots, and survey
monuments. All of these feature classes are within the Assessor feature dataset to ensure they all
have the same spatial reference.
Next, you will create a topology that contains these three feature classes. For now, you will
examine their coincident geometry.
9-8
Lesson 9
9-9
Geodatabase topology
Select the polygon in the lower-left corner of the map as shown in the following graphic.
Notice that each feature is a complete feature. The two lots do not share lines, as would be the
case in the coverage data format. The lot you moved has a boundary on its right side and the lot
9-10
Lesson 9
adjacent to it has its own boundary on the left side. This is an example of coincident geometry.
Topologies in the geodatabase are based on coincidence between features, not sharing. Next,
you will create a topology between these three feature classes.
From the Editor menu, choose Stop Editing without saving your edits.
The cluster tolerance controls how coordinates are moved during topology validation. Cluster
tolerance is not a limit on how far coordinates can move. It simply guarantees that, after
validation, no two coordinates will be closer than the specified tolerance without being
coincident.
Click Next to accept the default cluster tolerance.
In this panel of the wizard, you can choose which feature classes will participate in the topology
you are creating. A topology can only be created within a feature dataset, so only feature classes
that are within a feature dataset will be available for use in a topology.
9-11
Geodatabase topology
2. Why are LotLines, SurveyMonuments, and Lots the only three feature classes in the list?
______________________________________________________________________________
You want all three of these feature classes to be in this new topology.
Click Select All, then click Next.
The next panel has three settings for relative importance, or rank, of the feature classes. The
coordinates of features in a lower-ranked feature class are moved to the coordinates of features
in higher-ranked feature classes. You can specify up to 50 ranks (somewhat unusual), then
assign a rank for each of the feature classes.
For Enter the number of ranks (1-50), type 3.
Next to LotLines, click the rank value of 1 to expand the list of ranks.
Notice the rank values range from 1 to 3. If you were to enter 5 ranks, then you would see
values ranging from 1-5 in this drop-down list.
Click 2 for LotLines, then change the rank for Lots to 3.
The ranks should be as follows:
9-12
Lesson 9
These ranks imply that features in SurveyMonuments have data of the highest accuracy,
followed by LotLines, then Lots.
Click Next.
This panel of the New Topology wizard allows you to choose topology rules. There are 25 rules
you can choose from to define spatial relationships between the feature classes in your topology.
Setting topology rules will make it easier to locate errors, or violations of the rules, within your
data.
The first rule you will set states that a survey monument must be spatially coincident with the
end point of a lot line of the subtype Subdivision boundary.
Click Add Rule.
From the Features of feature class drop-down list, choose SurveyMonuments.
From the Rule drop-down list, click Must Be Covered By Endpoint Of.
From the Feature class drop-down list, expand LotLines, then click Subdivision boundary.
This illustrates that you can set topology rules between subtypes of feature classes.
9-13
Geodatabase topology
Click OK.
Using the skills you just learned, add the following two rules:
9-14
Lesson 9
In the Catalog window, in the Topology.gdb, expand Assessor to view the new topology.
9-15
Geodatabase topology
There are currently no exceptions in this topology so you don't need to display them. You will,
however, choose to display dirty areas.
9-16
Lesson 9
Check the check box for Dirty Areas and click OK.
Dirty areas now display in the table of contents with their default blue-hatched rectangle.
Next, you will make an edit to create a dirty area.
Zoom in to the lower-left corner of the map.
Start an edit session.
From the Editor menu, choose More Editing Tools > Topology.
The Topology toolbar contains topology-specific editing tools. You will use some of the
validation tools in this exercise and then use the remaining tools later in this course.
From the Editor toolbar, click the Edit tool
of the map to select it.
9-17
Geodatabase topology
Once you make an edit, ArcMap creates a dirty area to show you areas that have yet to be
validated. Validating dirty areas will clear the dirty areas, but may reveal topology errors.
From the Topology toolbar, click Validate Topology In Current Extent
9-18
Lesson 9
Click and drag a box that covers only half of the dirty area.
4. What is the result of this operation?
______________________________________________________________________________
From the Topology toolbar, click the Validate Topology In Current Extent button
You will use this tool later in this course to fix topology errors, but for now, you will use it to
mark an error as an exception.
Click the external boundary of the data to select it.
Note: Errors turn black when selected.
9-19
Geodatabase topology
It is good to know where the exceptions are in the map. In the Topology Properties dialog box,
you can choose to display the exceptions.
In the table of contents, right-click Assessor_Topology and click Properties.
Click the Symbology tab.
Check the check box for Line Exceptions.
Click Line Exceptions to select it and view its symbology on the right.
Click the large symbol button beneath Single Symbol.
In the Symbol Selector dialog box, click the Major Road line symbol.
Click OK on each dialog box.
In the map, notice the black line on the external boundary of the data, which represents the
exception. Also, in the table of contents, notice that Line Exceptions has been added.
Stop editing and close ArcMap without saving any changes.
Step 4: Step
9-20
Lesson 9
Lesson review
1. List and describe some advantages of using a geodatabase topology.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
9-21
Geodatabase topology
Adjacency
Coincidence New Jersey and New York state boundaries are coincident
Connectivity W 72nd St. connects to West End Ave.
Containment Central Park contains Jacqueline Onassis Reservoir
9-22
Lesson 9
Lesson review
1. List and describe some advantages of using a geodatabase topology.
9-23
10
Introduction
In this lesson, you will use a topology and ArcMap's specialized topology editing tools to
improve the quality of your data. Editing using a topology can greatly increase the quality of
your data because you are able to locate errors and then fix them all with the same application.
Topics covered
Learning objectives
After completing this lesson, you will be able to:
10-1
10-2
Lesson 10
10-3
10-4
Lesson 10
Create a topology.
Use the Error Inspector to locate and fix errors.
Use the Topology Edit tool to fix errors.
Step 1: Create a topology
First, you will create a topology using the skills you learned in the previous lesson.
Start ArcMap with a blank map document and set ..\Student\BLDG\Database\City.gdb
as the default geodatabase.
In the Catalog window, navigate to ..\Student\BLDG\Database\City.gdb and expand it.
Right-click the Assessor feature dataset and choose New > Topology.
Complete the New Topology wizard based on the following settings:
10-5
Rules:
10-6
Lesson 10
point due to an improper snapping configuration or not using snapping at all. In this example,
the top four errors in the following graphic are undershoots and the last one is an overshoot.
You will use the Error Inspector to quickly zoom to and fix these errors.
Dock the Error Inspector window at the bottom of the ArcMap display.
In the Error Inspector, set Show to LotLines - Must Not Have Dangles, then click Search
Now.
The search returns five errors.
Select all five errors.
Note: You can press and hold the Shift key on your keyboard and click each
error.
10-7
The four selected dangles have been snapped to the ends of the lot lines that follow the polygon
edges. To verify this, you will toggle the topology layer, then validate and search for the errors.
In the table of contents, turn off Assessor_Topology.
10-8
Lesson 10
You should notice the red topology errors disappear and, under them, the black lot lines have
been extended.
Turn on Assessor_Topology.
From the Topology toolbar, click the Validate Topology In Current Extent button
The Must Not Intersect Or Touch Interior errors are caused by the overshoot crossing the lot
lines along the right of way of the parcels. The Must Be Covered By Boundary Of error exists
because the portion of the dangle that extends into the street does not have a covering lot
polygon edge. Finally, the dangling lot line end is not connected.
You could fix these errors from the Error Inspector, but you will use the Fix Topology Error
tool instead.
On the Topology toolbar, click the Fix Topology Error tool
10-9
The dangling node is selected, but so is the connected line. Also, notice the Error Inspector error
list has been updated to show only the selected errors. You could hold down the Ctrl key and
click to unselect one of the errors, but you will use a different method.
Note: When multiple errors are selected that stem from different rule violations, (i.e.,
Must not have dangles, Must be covered by boundary of), the context menu you
see when you right-click the selected errors, with either the Fix Topology Error
tool or in the Error Inspector, will not display any built-in fixes.
You cannot constrain the selection for this tool with the N and E keys as you could with the
Topology Edit tool. However, you can set a property for the topology layer to control the
selection.
Click anywhere on the map to clear the selection.
In the table of contents, right-click Assessor_Topology and click Properties.
10-10
Lesson 10
On the Selection tab, click Clear All and then select only the two rules shown in the
graphic below.
10-11
10-12
Lesson 10
On the Tools toolbar, click the Fixed Zoom Out button until you can see the four lines
that are involved in this error.
First you will verify that the vertical and horizontal lines actually cross one another.
Make LotLines the only selectable layer.
Note: In the table of contents, click the List by Selection button
you can toggle a layer selectable or unselectable, by clicking the selection icon
next to each layer.
10-13
Select the lower vertical line to verify there are two lines.
10-14
Lesson 10
As with the dangle, this single overlap is causing multiple errors. The overlap is the obvious
error, but it causes an additional error because it lacks a coincident boundary. The Boundary
Must Be Covered By - LotLines rule has been violated in this case.
In the Error Inspector, right-click the Must Not Overlap error and choose Zoom To.
If necessary, click the Fixed Zoom Out button until you can see the two polygons involved
in the overlap.
In the Error Inspector, right-click the Must Not Overlap error and choose Merge.
The Merge dialog box opens, listing the two polygons involved in the overlap. By choosing a
feature to merge the overlap with, you are also controlling which attributes to keep for the new
feature. In this case, you will choose Lot 127, so its attributes will be copied to the new feature.
Note: When you click a feature in the Merge dialog box, it flashes on the map.
10-15
In the Merge dialog box, click Lots - 127, then click OK.
You merged the overlapping portion with the Lot 127 polygon, creating one polygon.
Validate the current extent of the topology.
Zoom to the full extent.
In the Error Inspector, click Search Now to refresh the error list.
The overlap error has been successfully fixed by using a standard ArcMap editing operation.
The line is supposed to be coincident with a Lots polygon edge. There are a couple of
possibilities for this error: the line might be incorrect and needs to be deleted, or the line might
be correct and the underlying polygon needs to be split. You will fix the error based on the first
scenario
10-16
Lesson 10
Subtracting quickly fixes the problem by removing the lot line in question.
Validate the current extent of the topology.
You have just created two new polygons in the Lots layer using the selected LotLines.
Zoom to the full extent
In the Error Inspector, click Search Now to refresh the error list.
10-17
This missing line has caused both of these errors; polygons A and B should have a lot line
covering their edges. The standard fix is to create a line.
In the Error Inspector, select one of the Boundary Must Be Covered By errors and zoom
to it.
Zoom out until you can see both polygons.
To verify that there is no line, you will toggle layers off and on.
Turn off Assessor_Topology and Lots.
Notice there is no black lot line between polygons A and B. This is the cause of the error.
Turn all layers back on.
In the Error Inspector, right-click one of the errors and choose Create Feature.
A new lot line has been constructed from the geometry of the polygon edge. Normally, you
would set attributes for the new line, but, in the interest of time, you will skip that in this
exercise.
Zoom to the full extent.
Validate the topology in the current extent.
In the Error Inspector, click Search Now to refresh the error list.
The last remaining error is the Must Not Have Gaps error of the external boundary.
Right-click the Must Not Have Gaps error in the Error Inspector and choose Mark As
Exception.
10-18
Lesson 10
10-19
Lesson review
1. List some advantages of editing using a topology.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
2. How can you use geodatabase topology in your current editing workflow?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
10-20
Lesson review
1. List some advantages of editing using a topology.
Editing using a topology offers you the ability to search for errors that a particular rule
that you set up and also offers standard fixes for each type of error.
2. How can you use geodatabase topology in your current editing workflow?
10-22
11
Geometric networks
Introduction
In this lesson, you'll learn how to model real-world networks within the geodatabase using
geometric networks. Geometric networks are a way to store connectivity between points and
lines, called junctions and edges within a network. These can be applied to many real-world
scenarios, such as gas, electric or water applications.
Topics covered
Real-world networks
What is a geometric network?
Two views of a network
Components of a network
Why use a geometric network?
Learning objectives
After completing this lesson, you will be able to:
11-1
Geometric networks
Key terms
Term
Definition
Geometric
network
Logical
network
Edge
Simple
edge
Complex
edge
Junction
Orphan
junction
Junctions created by ArcGIS to ensure that all edges have a junction at its
end.
Connectivity Rules that constrain the type and number of network features that can be
rules
connected to one another. There are two types of connectivity rules:
edge-edge and edge-junction.
Edge to
A connectivity rule that defines how one edge may connect to another
edge
edge through a junction.
connectivity
rule
11-2
Lesson 11
Term
Definition
Edge to
A connectivity rule that defines how an edge may connect to a junction.
junction
connectivity
rule
11-3
Geometric networks
11-4
Lesson 11
Geometric network
11-5
Geometric networks
Geometric network: Edge and junction features that represent a linear network, such as a
11-6
Lesson 11
11-7
Geometric networks
Edges within a geometric network can be simple or complex. A simple edge is split when other
edges connect to it while a complex edge isn't. You specify this when you create the network.
11-8
Lesson 11
11-9
Geometric networks
11-10
Lesson 11
Notice that each feature class has an edge or junction role in the network, either simple or
complex. This network contains simple and complex edges. Simple edges are established only at
the ends of edge features, and complex edges are established at the ends and midpoints of
features.
Click the Connectivity tab.
The Connectivity tab lists the various connectivity rules that have been set for feature classes
and subtypes in this network. Connectivity rules control which network features can connect to
others and specify the number of connections that can be made (i.e., cardinality). For example,
each service line going from the distribution mains to each individual property has one, and
only one, meter connecting to it. Subsequently each property has only a single meter on its
services line. Connectivity rules allow you to control feature associations to best mirror their real
world counterparts.
From the Connectivity rules for (feature class) drop-down list, verify the Distribution
Mains is selected.
11-11
Geometric networks
This connectivity rule controls which type of fitting connects a 2"PE distribution main with a
1"PE service line. The blue "D" next to it indicates that it is the default. There are currently no
other valid connections, but you could always check on additional fitting types if necessary.
In ArcMap, if you were to digitize a 1"PE service line and connect it to a 2"PE distribution
main, a 2" x 1" tapping tee would be added automatically. This rule determines how edges
connect to other edges and is known as an edge-to-edge rule.
In the drop-down menu on top, change the feature class from DistributionMains to
Services.
11-12
Lesson 11
This states that each meter can connect to one, and only one, service line. Connectivity rules are
very similar to relationship rules in the sense that you can assign cardinality associations
between features. They are also another form of geodatabase validation rules that help maintain
the integrity of your data.
Click Cancel to close the Geometric Network Properties dialog box.
11-13
Geometric networks
You will add new service lines and let the network connectivity rules do the rest of the work.
Remember from the previous step that service lines can have one meter, RES or COM,
connected to them and that a 1"PE service line connects to a 2"PE distribution main with a 2" x
1" tapping tee.
Start an edit session.
From the Editor menu, choose Snapping > Options.
If necessary, click the check boxes next to Show Tips, Layer Name, and Snap Type.
11-14
Lesson 11
Click OK.
Note: Hover your mouse cursor over any of the map features and you will see that
SnapTips are now displayed on screen in the format Layer Name: Snap Type.
11-15
Geometric networks
11-16
Lesson 11
As with range domains and relationship class rules, you can use the Validate Features command
to make sure that features you create follow the rules that you set.
Click OK.
Click Undo to change the meter back to RES.
In the Attributes window, change the MeterType attribute to COM and validate the
feature.
All features should be valid. Setting the meter to COM is in compliance with the connectivity
rules you explored earlier.
Click OK and close the Attributes window.
Digitize the remaining two service lines into the parcels to the right of the one you were
just working in.
Make Fittings the only selectable layer.
11-17
Geometric networks
With the Edit tool, select the fitting that connects a service line to the main, as shown in
the following graphic.
11-18
Lesson 11
On the Connectivity tab, choose Services from the first drop-down list.
For Subtypes in this Network, uncheck Meters and click OK.
Now you will experiment with network editing without a connectivity rule for services and
meters.
Start an edit session.
In the Create Features window, click the 1" PE Services feature template.
The Line construction tool becomes available.
Digitize a new service line from the blue distribution main into any parcel you want.
A new junction is added, but it is not a meter (note the symbology). Because you just removed
the connectivity rules for meters, ArcMap adds a default junction in place of a meter. When you
create a geometric network, ArcCatalog creates a default junctions feature class named
<network name>_Junctions. In this case, the default junctions feature class is named
GasNetwork_Junctions. This feature class ensures that every edge begins and ends and connects
to other edges with a junction. Notice the feature you just added does not have a meter at its end
when you do not use connectivity rules.
Another benefit of geometric networks is stored topology. Connectivity between network
features is inherent and maintained while editing.
On the Editor toolbar, click the Edit tool.
In the table of contents, verify Fittings is the only selectable layer.
11-19
Geometric networks
Drag a box over the fitting in the following graphic to select it.
Hover your mouse cursor over the selected fitting, then click and drag it to a different
location.
Notice how the fitting, as well as any network features that are connected to it, are moved.
When editing geometric networks, connectivity is always maintained while using standard
editing tools.
Click Undo, then save your edits.
Keep the edit session open for the next step.
11-20
Lesson 11
11-21
Geometric networks
From the Flow menu, click Display Arrows again to turn off the flow arrows.
On the Utility Network Analyst toolbar, click the Add Junction Flag tool
Flags designate starting and stopping points, as well as intersection points for a trace operation.
You will start by placing two flags, but you can always place more than two. Flags are traversed
in the order in which they are placed.
With the Add Junction Flag tool selected, click the vault.
A green square is displayed on the vault.
Click a meter in the Pineview Ave area, using the following graphic as a guide.
Now that you've placed two flags, you can run the tracing operation to find out how resources
flow from the vault to the meter.
11-22
Lesson 11
On the Utility Network Analyst toolbar, for Trace Task, choose Find Path, then click the
Solve button
.
The red line represents the path from the vault to the meter.
From the Analysis menu, choose Clear Results.
From the Analysis menu, choose Options.
Click the Results tab.
For Results format, click Selection, then click OK.
Make DistributionMains the only selectable layer.
Click Solve.
Notice that the path is returned as a selected set as opposed to a graphic. This is useful if you
want to export the selection to its own layer.
Another advantage of a geometric network is the ability to disable features if necessary. In the
real-world, gas lines can rupture, water mains can break, and roads can be under construction.
With these possibilities in mind, it is good to know that you can work scenarios like that into
your geometric networks.
Clear the selected features.
Using the Edit tool, select the main right below Raleigh Rd.
11-23
Geometric networks
11-24
Lesson 11
Notice the additional tools in this menu: two for adding flags to edges or junctions, and two for
adding barriers to edges or junctions.
Click the Add Edge Barrier tool and add a barrier to the same main.
Click Solve.
Nothing should come back. In this instance, there is not another route for resources to travel
upon. If this distribution main will be out of commission for a while, it may be best to set its
enabled value to false, but if it's being turned off temporarily and then turned back on again, a
barrier may work.
From the Editor menu, click Stop Editing, then click Yes to save your edits.
Close ArcMap and click Yes to save the map document.
11-25
Geometric networks
Lesson review
1. Explain the benefits of setting network connectivity rules.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
2. List some benefits of using geometric networks.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
11-26
Geometric networks
11-28
Lesson 11
Lesson review
1. Explain the benefits of setting network connectivity rules.
Setting network connectivity rules:
They allow you to create and store point and line topology between feature
classes.
All network features are connected and cannot be disconnected with standard
editing tools.
They offer you the ability to create connectivity rules that determine how features
connect to each other.
With connectivity rules, you can digitize a feature and have additional features
added automatically.
You can perform a variety of network tracing operations with a geometric
network.
You can use flags to indicate where you would like to trace.
You can disable or barricade features so they cannot be traced upon.
11-29
12
Geodatabase workflow
Introduction
In this lesson, you will reinforce the skills you've developed by completing one of three,
self-directed projects. Unlike prior exercises, you will be provided with limited instruction. You
can work independently or in groups and ask your instructor for help if you encounter problems
you cannot solve. Detailed solutions for each project are provided at the end of this lesson.
The three projects are described as follows:
Topics covered
Geodatabase workflow
Project: Work with attribute behavior
Project: Work with geometric networks
Project: Work with cadastral data
12-1
Geodatabase workflow
Learning objectives
Using the skills covered in this course, complete one of three projects independently.
12-2
Lesson 12
Geodatabase workflow
Here is a common workflow for working with the geodatabase.
12-3
Geodatabase workflow
12-4
Lesson 12
Project scenario
As a GIS Analyst for the San Juan National Forest, you have been asked to make the Forestry
Department's geodatabase more efficient for data editing. Because you are a seasoned ArcGIS
and geodatabase user, you know the steps you must follow in order to accomplish this task. You
understand how domains (range and coded value) can be used for data validation, how subtypes
offer display and editing benefits, and how to use relationship classes to create persistent read/
write connections between tables in a geodatabase. You will need to use all of these, but keep in
mind that in some cases the data may not be ready to accept these validation rules. For
example, a table might be missing a key field for creating subtypes, or you might have to import
the domains from a separate table into the geodatabase.
In this exercise, you will:
Independently apply the skills you have learned throughout this course.
Import data into the geodatabase.
Organize data in geodatabase.
Create geodatabase elements (e.g., geometric networks, subtypes, domains, annotation).
Use elements you create in ArcMap for editing and analysis.
12-5
Geodatabase workflow
In Behavior.gdb, add a field named Trail_Width to the R2Trails feature class to store the
trail width. Use the answer to the previous question for the field type.
You would like to categorize the trails into groups based on their width.
2. Which type of geodatabase behavior will accomplish this?
______________________________________________________________________________
3. Which type of field must the table contain if you want to create subtypes?
______________________________________________________________________________
View the field properties for the R2Trails feature class and answer the following question.
4. Is there a field that you can use to create a width subtype and, if so, which field?
______________________________________________________________________________
If you want to create subtypes for trail width, you will have to create a new integer field to store
the codes.
Click the Fields tab and create a new short integer field named Width_Class.
You have now created two new fields within the R2Trails feature class. One of them will store
the actual width of each trail (in feet), and the other will store an integer code that you will use
for creating subtypes.
Prior to creating subtypes, you must calculate the Width_Class field to integer codes in ArcMap.
This will be your next task.
12-6
Lesson 12
R2Trails
Elevation Width
High
Narrow
0-4
Medium
Medium 2
5-7
Low
Wide
10
8-12
You will now perform a simple field calculation to set values for the Width_Class field. After
you do this, you can create subtypes.
In the attribute table, select all of the trails that have an Elevation value of High.
Right-click the Width_Class field and choose Field Calculator.
Calculate the Width_Class field value as 1 for the selected features, then click OK.
Using the same procedure, select all of the Medium elevation trails and calculate their
Width_Class value as 2.
Using the same procedure, select all Low elevation trails and calculate their Width_Class
value as 3.
The Width_Class field should now be updated and contain values 1, 2, and 3. Now this field
can be used to create subtypes.
12-7
Geodatabase workflow
Make sure the codes match those in the table and enter a description of your choice.
For each subtype, set the following default values for Trail_Width. Default values for
subtypes are located in the bottom of the dialog box. Select a subtype from the list, then
locate the Trail_Width field down below, and enter the default value based on the
following list:
Trail type
0-4
8-12
The next thing you want to do is apply the domains you just created. You learned two methods
for applying domains earlier in this course.
12-8
Lesson 12
These codes will become the coded value domain and the descriptions will be what the user sees
when editing in ArcMap.
12-9
Geodatabase workflow
10. Which type of domain do you think should be created from this table?
______________________________________________________________________________
11. Which field type should this domain be?
______________________________________________________________________________
Using the answer to the previous question and the Table to Domain tool, convert this table
into the appropriate type of domain in the Behavior geodatabase.
Apply the new domain to the ATTRIB_SOURCE field in the R2VEG_POLY table.
12-10
Lesson 12
Using the skills you learned in the previous lessons, create a relationship class between the
R2VEG feature class and the R2VEG_POLY table, entering all of the appropriate
parameters. Complete the following table and use it as a guide when creating the
relationship class.
Property
Value
Name
R2VegToR2VegPoly
Origin Table
Destination Table
Type
Composite
Forward label
R2Veg To Poly
Backward label
Poly To R2Veg
Messaging direction
Cardinality
1 to
Attributes
No
Primary key
Foreign key
Click Finish to create the relationship class.
12-11
Geodatabase workflow
Create another relationship class between the R2VEG feature class and the
R2VEG_POLY_LOCAL table, entering all of the appropriate parameters.
Property
Value
Name
R2VegToR2VegPolyLocal
Origin Table
Destination Table
Type
Composite
Forward label
R2Veg To PolyLocal
Backward label
PolyLocal To R2Veg
Messaging direction
Cardinality
1 to
Attributes
No
Primary key
Foreign key
Next, you will use these relationship classes in ArcMap for editing.
R2Trails
R2VEG
Turn off the R2VEG layer.
Adjust the line symbols for the R2Trails layer so you can easily tell which one is which.
Next, you will digitize new trails and experiment with the Trail_Width values.
Digitize a new high elevation trail. Notice that the default values were updated.
12-12
Lesson 12
12-13
Geodatabase workflow
Perform the appropriate steps to allow this new feature to be accessed through each
relationship class.
Edit some of the related table values. Be sure to navigate to the ToVegPoly relationship
class and update the ATTRIB_SOURCE field, using the domain you imported from the
table.
It was recently brought to your attention that the AttributeSource table of codes and descriptions
was not complete. There was supposed to be one more code and description added to it. In
addition, one of the codes that has been used to update many of the features has been removed.
Remember, you can update the domain at any point.
In the Search window, search for the Add Coded Value To Domain tool.
Using the following table as a guide, fill in the parameters for the tool to add a new
domain code:
Parameter
Value
Attribute Source
Code Value
WM
Description
Wetland/Riparian Data
12-14
Lesson 12
Verify that the code/description you added is visible and the one you deleted is gone.
Whenever you change or remove a domain, you risk making some features invalid. For
example, you just removed the CF domain, so if there were any features assigned a value of CF
for the ATTRIB_SOURCE field, they would now be invalid. For this reason, it is good practice
to first locate these records through a selection operation, and then change their domain values
to the correct values.
Stop editing and save your edits.
Close ArcMap.
12-15
Geodatabase workflow
Independently apply the skills you have learned throughout this course.
Import data into the geodatabase.
Organize data in geodatabase.
Create geodatabase elements (e.g., geometric networks, subtypes, domains, annotation).
Use elements you create in ArcMap for editing and analysis.
Name: Water
Import coordinate system from:
..\Student\BLDG\Exercise12\Networks\Corvallis_WaterMains.shp
12-16
Lesson 12
Now you have the schema you need to create a geometric network. Next, you will load data
into the feature dataset.
2. If the source data you want to load is in shapefile format and you have no existing feature
class schema to load it into, which method would allow you to transfer the data into the
geodatabase?
______________________________________________________________________________
Import the following shapefiles from ..\Student\BLDG\Exercise12\Networks into the
Water feature dataset:
Corvallis_Fittings.shp
Corvallis_Hydrants.shp
Corvallis_Laterals.shp
Corvallis_Valves.shp
Corvallis_WaterMains.shp
Corvallis_Watermeters.shp
TreatmentPlant
Now that you have imported data into the geodatabase, you can add geodatabase behavior.
12-17
Geodatabase workflow
3. Is there a calculated short integer field in WaterMains that you can use to create subtypes?
______________________________________________________________________________
4. Is there a calculated short integer field in Laterals that you can use to create subtypes?
______________________________________________________________________________
Sometimes imported data contains everything you need to add additional behaviors; other times
it does not.
Explore the fields for Fittings.
5. Does Fittings contain a calculated short integer field that you can use to create subtypes?
______________________________________________________________________________
6. Would it be more effective to create domains or subtypes based on this field?
______________________________________________________________________________
______________________________________________________________________________
Subtypes will categorize the fittings based on type. After subtypes are created, you can use them
for display, editing, and creating additional behavior.
7. Which type of field is FittingTyp?
______________________________________________________________________________
8. Which field types can be used to create subtypes?
______________________________________________________________________________
In order to create subtypes for this feature class, you first need to add an integer field to this
table, then calculate it according to values in the FittingTyp field.
Add a field of the appropriate type to the Fittings table and name it FittingClass.
12-18
Lesson 12
Summary tables are a quick way to determine how many different values you have for a certain
field. They can be used for additional analysis or to simply get a count of features and codes.
Notice there are six different types of fittings in this table.
12-19
Geodatabase workflow
Using the following table as a guide, make your selection queries then calculate the
FittingClass field.
FittingTyp
FittingClass
12 x 12 Tapping Tee 1
12 x 4 Tapping Tee
12 x 6 Tapping Tee
4 x 4 Tapping Tee
6 x 4 Tapping Tee
6 x 6 Tapping Tee
Now the Fittings feature class is ready to have subtypes created for it. Before you create
subtypes, you will prepare another feature class by adding and calculating a field in ArcMap.
You will now prepare WaterMeters as you did the previous feature class.
Add WaterMeters to the map.
The CUSTTYPE field tells you which type of customer is receiving water: P for private or
residential, and C for commercial. Because subtypes require an integer field, you will add one
and then perform a simple calculation.
Add a short integer field called MeterType.
Use the following table to create integer codes for each type of meter based on the
CUSTTYPE field:
CUSTTYPE MeterType
C
With the addition and calculation of a short integer field, your feature classes are now ready for
subtypes.
Open a new blank map document and set the default geodatabase to Corvallis.gdb. Do no
save changes to the current map.
12-20
Lesson 12
It helps to have the layers you are working on in ArcMap so you can open
their table and view the attributes.
Create subtypes for Fittings using the following items for guidance:
The default subtype will automatically be set to the first subtype you enter, but you can always
change it. You want to have the default subtype set to the most common type of feature, so that
when you digitize a new feature, it goes into this subtype.
The most common type of fitting in this table is a 6" x 4" Tapping Tee.
Set this to the Default Subtype.
Next, you will create subtypes in the WaterMeters feature class.
Use the attribute table of WaterMeters to find out which code goes with each meter type.
11. Which field did you create and calculate for subtypes in the WaterMeters feature class?
______________________________________________________________________________
Create subtypes in the WaterMeters feature class, using the answer to the previous
question as the Subtype Field.
Use the attribute table of WaterMeters to find out which code goes with each meter type.
12-21
Geodatabase workflow
Connectivity rules are important in any geometric network. In order for them to be as specific as
possible, it is good practice to create them using subtypes. In the previous step, you discovered
that Laterals and WaterMains already contained fields you can use for creating subtypes.
Use the attribute table for Laterals to find out which code goes with each lateral size.
Create subtypes in the Laterals feature class using the appropriate field and values.
Use the attribute table of WaterMains to find out which code goes with each main size.
Create subtypes in the WaterMains feature class using the appropriate field and values.
You have just created subtypes for several feature classes. You will use subtypes later in this
project to display, edit, and create connectivity rules.
12-22
Lesson 12
15. Which kind of domain should this be, range or coded values?
______________________________________________________________________________
For this domain, enter the following information for the codes and descriptions.
Code Description
4
4"
6"
12
12"
Next, you will create a domain for water meter size. To do this, you will import an XML
document that someone in a nearby county has already created for water meters. You have
already discussed the values in your attribute tables and they match perfectly. You can use a
domain they have already created. Because exporting to XML can single out a schema you
want to share, they did not have to send you the entire geodatabase, and you won't have to deal
with additional geodatabase elements you don't need.
Right-click Corvallis.gdb and Import XML Workspace Document.
Import schema only using ..\Student\BLDG\Exercise12\WaterMetersDomain.xml into
Corvallis.gdb.
The import brought across the original schema for the WaterMeters feature class in addition to
the domain you need.
16. In this case, do you need WaterMeters_1?
______________________________________________________________________________
In some cases, you keep all schema that has been imported through the XML document. In this
case, you already have a schema for meters that you will use, so you will use the domain.
Explore the new domain (i.e., MeterSize) that has been added to Corvallis.gdb.
Next, you will create a domain for water main material type.
In the ..\Student\BLDG\Exercise12 folder, view the Material$ worksheet within
WaterMains.xls.
12-23
Geodatabase workflow
Create a coded values text domain based on this table and the following properties:
Name: MainMaterial
Description: Water Main Material
Finally, you will create a domain for length. In this case, it will be a range domain that can be
applied to many feature classes in the Corvallis file geodatabase. All domains can be applied to
multiple feature classes, but it may not be applicable in the case where a domain matches
attribute values in only one table.
17. Which field type is applied to LENGTH in WaterMains?
______________________________________________________________________________
Create a domain called LengthDomain with a description of General length domain.
Make sure the field type for this domain matches the field type from LENGTH.
You want to apply a constraint with this domain, rather than having users choose from a list of
all possible length values.
18. Which type of domain should you create?
______________________________________________________________________________
Constrain the values to between 0 and 2000.
Now that you have created the domains, you will apply them to fields in various feature class
tables.
In the WaterMains feature class properties (Fields tab), apply the following domains:
12-24
Lesson 12
In the Water feature dataset, a geometric network and default junctions feature class have been
created.
You have just created a geometric network to store connectivity between water features. The
next step is to create connectivity rules that determine valid connections between features in the
network. In the next step, you will create network connectivity rules for the new Water_Net
network.
12-25
Geodatabase workflow
Notice that the subtypes for the Fittings feature class are displayed. You can create connectivity
rules between feature classes or between subtypes. Creating them between subtypes allows you
to create rules that determine how groups of features connect to other groups of features.
There are two types of connectivity rules: edge-edge and edge-junction.
12-26
Lesson 12
Edge-junction connectivity rules: Specify the legal types of junctions that may connect to an
edge as well as how many of each type (i.e., cardinality) can be connected. For example, only
one meter can be attached to a lateral.
Edge-edge connectivity rules: More of an edge-junction-edge rule because edges can only
connect to junctions (i.e., you cannot connect two pipes together without a fitting).This type of
rule will automatically create a junction of the correct type where two edges connect.
21. If you want to specify that one water meter can be connected to a lateral, should you create
an edge-edge or edge-junction rule?
______________________________________________________________________________
For the Laterals feature class, create a connectivity rule that will connect one commercial
or private water meter to both the 4" and 6" lateral.
22. What can you set if you know that one type of meter will be more common than another for
newly added features?
______________________________________________________________________________
Change your settings to reflect that the Private meter type is the most common for both 4"
and 6" laterals.
A private meter will be added automatically when you add a new lateral in ArcMap.
The connectivity rules for 4" and 6" laterals should match the following graphic.
12-27
Geodatabase workflow
Next, you will create connectivity rules that specify how laterals and mains will connect to each
other.
Set a connectivity rule that connects a 12" water main to a 4" lateral with a 12" x 4"
tapping tee.
Verify that the blue "D" for default appears, and that your dialog box matches the following
graphic.
12-28
Lesson 12
You have just set a connectivity rule for connecting a 12" main to a 4" lateral. There are two
lateral sizes in this network so you have to set a rule for the 12" to 6" connection.
Set another rule that connects a 12" water main to a 6" lateral with a 12" x 6" tapping tee.
You have successfully set connectivity rules for a 12" main as it connects to the two lateral sizes
(4" and 6"). Next, you will set connectivity rules for 4" and 6" water mains.
Set a rule that connects a 4" main to a 4" lateral with a 4" x 4" tapping tee.
Set a rule that connects a 4" main to a 6" lateral with a 6" x 4" tapping tee.
Finally, you will set a connectivity rule for a 6" main to the two lateral sizes.
Set a rule that connects a 6" main to a 4" lateral with a 6" x 4" Tapping Tee.
Set a rule that connects a 6" main to a 6" lateral with a 6" x 6" Tapping Tee.
12-29
Geodatabase workflow
You have successfully created several connectivity rules. These rules are stored as a property of
the network and are used during editing in ArcMap. Now when you digitize new network
features in ArcMap, they will be properly connected to other network features.
Next, you will edit this geometric network.
23. Which type of snapping should be set, considering you are digitizing a lateral and want to
connect it to a main?
______________________________________________________________________________
12-30
Lesson 12
Turn on the proper type of snapping to ensure connectivity between laterals and mains.
The main to which you are connecting the 4" lateral is 4" in diameter. You can verify this using
the Identify tool or by opening the Attributes window.
24. With the lateral size in mind, what should you set the Editor template to?
______________________________________________________________________________
Snap your mouse cursor to the water main and click to add a vertex.
Digitize a new 4" lateral extending into the parcel, as shown in the previous graphic.
Notice that a fitting and a meter were added when you finished the sketch.
25. Why were a fitting and meter added when you digitized a lateral?
______________________________________________________________________________
______________________________________________________________________________
26. Which type of fitting was created?
______________________________________________________________________________
12-31
Geodatabase workflow
12-32
Lesson 12
Verify that the fitting is a 12" x 6" Tapping Tee and the meter type is Private.
31. Why is the meter type set to Private and not Commercial, given the fact that the parcel is
zoned COM?
______________________________________________________________________________
12-33
Geodatabase workflow
12-34
Lesson 12
Independently apply the skills you have learned throughout this course.
Create geodatabase schema.
Import data into geodatabase schema.
Create a topology.
Use the topology in ArcMap.
12-35
Geodatabase workflow
You want to transfer the data from Corvallis_Parcels.shp into your feature dataset.
3. Will you use the Simple Data Loader or an import operation?
______________________________________________________________________________
Using the answer to the previous question, transfer Corvallis_Parcels.shp into the
Cadastral feature dataset and name it Parcels.
You have successfully created a parcels feature class in your new file geodatabase from a
shapefile data source.
12-36
Lesson 12
Explore the data to determine which type of field ZONE_CD is in the Parcels feature
class.
5. Which type of field is ZONE_CD?
______________________________________________________________________________
Note: Domains are created to be assigned to certain field types, so it is important to
know how your fields are defined before you create your domains.
Create a new domain named ZoneCode and give it a description of Domain for zone
codes.
Choose the appropriate field type for this domain.
6. Based on the contents of the ZONE_CD field, should this be a range or coded values
domain?
______________________________________________________________________________
In the Coded Values section, add two coded values and descriptions: one for COM and
one for RES, assigning them appropriate descriptions.
After domains are created, they are available for all feature classes and subtypes in the
geodatabase. Next, you will apply this domain to the Parcels feature class.
7. In which dialog box do you apply domains to fields?
______________________________________________________________________________
Open the proper dialog box and apply the new domain to the ZONE_CD field.
A new domain has been added to the geodatabase and applied to the ZONE_CD field in the
Parcels feature class.
12-37
Geodatabase workflow
Create a new topology in Cadastral using only the Parcels feature class.
8. Which topology rules are applicable for this one polygon feature class?
______________________________________________________________________________
Using the answer to the previous question, set the necessary topology rules.
Finish creating the topology, but do not validate it right now.
You will validate the topology when you add it to ArcMap in the next step.
12-38
Lesson 12
There are 13 errors in the topology. Notice that most of them are from the Must Not Have Gaps
rule you set. Earlier in the class, you learned that gaps are not always an error.
There are several sections of parcels in this area of Oregon. Anywhere there is a gap between
parcels, it is marked as an error. It is up to you to know your data and be able to make the
necessary distinctions between actual and perceived errors. If it is not an error in the real world,
you can set it as an exception.
11. Which tool will you use to manually fix individual errors?
______________________________________________________________________________
______________________________________________________________________________
12. If ArcMap views something as an error when it isn't, what can you do to solve this problem?
______________________________________________________________________________
With the appropriate tool, click the westernmost group of parcels considered to be a gap
error and mark it as an exception.
13. After you validate the entire topology, is it necessary to validate the entire topology again
after editing?
______________________________________________________________________________
14. Why wouldn't you just validate the entire topology again?
______________________________________________________________________________
12-39
Geodatabase workflow
The topology no longer views this gap as an error. Exceptions are stored in the geodatabase.
Generate another error summary to see the change.
Notice that there are now 10 errors and one exception for this rule.
Some of the gaps, like the one you just marked as an exception, are not really errors. For
example, they might be the edge of a number of polygons along a street or the outer edge of a
polygon that marks the extent of the data.
Using the skills you have learned, mark the remaining occurrences of this type of gap error
as exceptions.
Note: The gaps that you are looking for are those that occur along streets or at the edges
of the data extent.
15. Which tool allows you to search for errors in the topology?
______________________________________________________________________________
______________________________________________________________________________
Using the answer to the previous question, open the proper tool and search for all errors in
the topology.
Right-click the first Must Not Overlap error and choose Zoom To.
16. What is a typical fix for an overlap error?
______________________________________________________________________________
In the Error Inspector, right-click the error and choose the appropriate fix for this overlap.
12-40
Lesson 12
Using the answer to the previous question, perform the necessary operation on this parcel.
Validate the topology.
12-41
Geodatabase workflow
Locate the other Must Not Overlap error and fix it.
20. If you are going to be moving feature vertices around, what should you turn on or enable
first?
______________________________________________________________________________
21. Which type of snapping do you think is needed in this type of edit?
______________________________________________________________________________
Turn on the appropriate snapping.
22. Which tool allows you to modify features in ArcMap?
______________________________________________________________________________
Using the answer to the previous question, select the appropriate tool and fix this gap.
Search for topology errors in this extent.
Use the appropriate fix to correct the overlap.
12-42
Lesson 12
12-43
Geodatabase workflow
12-44
Lesson 12
Search for the proper tool for converting a polygon feature class to a line feature class.
28. Which tool in the Features toolset can be used to create parcel lines from the existing
parcels?
______________________________________________________________________________
29. Which feature class should be used as the input?
______________________________________________________________________________
Based on the answer to the previous question, fill in the tool's parameters.
For Output Features, verify the output is being created in the
..\Student\BLDG\Exercise12\Cadastral\Corvallis.gdb\Cadastral feature dataset and
name it ParcelLines.
Using a geoprocessing tool, you have created parcel lines from existing parcel polygons and
saved yourself a lot of digitizing.
12-45
Geodatabase workflow
30. Are you able to add a feature class to a topology once it has been created?
______________________________________________________________________________
31. Where will you add this new feature class to the topology?
______________________________________________________________________________
32. Which tab has the functionality to add feature classes to this topology?
______________________________________________________________________________
Add ParcelLines to this topology.
12-46
Lesson 12
12-47
Geodatabase workflow
Lesson review
1. Explain the geodatabase workflow you used to complete the project.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
12-48
Geodatabase workflow
12-50
Lesson 12
10. Which type of domain do you think should be created from this table?
Coded values
11. Which field type should this domain be?
Text
12. Which edit task is used for digitizing polygons that are coincident with existing polygons?
Auto-Complete Polygon task
13. What do you need to do to this new feature's VEG_LINK value before you can access any
of its related records?
Update it
12-51
Geodatabase workflow
12-52
Lesson 12
12-53
Geodatabase workflow
12-54
Lesson 12
12-55
Geodatabase workflow
14. Why wouldn't you just validate the entire topology again?
Because you edited only this area, there is no point in validating the entire extent.
Validating a smaller area also takes less time.
15. Which tool allows you to search for errors in the topology?
Topology Error Inspector
12-56
Lesson 12
12-57
Geodatabase workflow
Lesson review
1. Explain the geodatabase workflow you used to complete the project.
Will vary, but here is a sample for project 12A:
12-58
First you added and calculate a field that was required for creating subtypes.
Next, you created subtypes based on this new field.
Then you created and applied domains to various fields.
Created a relationship class.
And finally edited data with these behaviors in ArcMap.
Lesson 12
Click Apply.
In addition to storing the width for the trails, you would also like to categorize the trails into
groups based on their width.
If you want to create subtypes for trail width, you will have to create a new integer field to store
the codes.
12-59
Geodatabase workflow
Create a new field named Width_Class with a data type of Short Integer and click OK.
You have now created two new fields within the R2Trails feature class. One of them will store
the actual width of each trail (in feet), and the other will store an integer code that you will use
for creating subtypes.
The Width_Class field contains no values yet. Prior to creating subtypes, you must calculate the
Width_Class field to integer codes in ArcMap. This will be your next task.
R2Trails
Elevation Width
High
Narrow
0-4
Medium
Medium 2
5-7
Low
Wide
10
8-12
12-60
Lesson 12
In the Select By Attributes dialog box, build the following expression: "Elevation" =
'High'.
Click Apply.
Right-click the Width_Class field and choose Field Calculator.
In the Expression field, type 1.
Click OK.
In the table, notice the selected records have been calculated as 1 for the Width_Class field.
12-61
Geodatabase workflow
In the Select By Attributes dialog box, alter the query to read "Elevation" = 'Medium'
and click Apply.
All of the medium elevation trails are now selected.
Open the Field Calculator for the Width_Class field and calculate all selected records to a
value of 2 and click OK.
Now, all of the High and Medium elevation trails are calculated with integer codes. The null
values are the remaining Low elevation trails.
In the Select By Attributes dialog box, alter the query to read "Elevation" = 'Low', then
click Apply.
Open the Field Calculator on the Width_Class field and calculate all Low elevation trails
as a value of 3 and click OK.
Now all the records have been calculated with an integer code. For now, you will leave the
Trail_Width field as is. It is there for you when you are ready to enter width values. Often,
schema is created and then data is loaded or entered when it becomes available.
Clear the selected features.
Close the Table window.
Close the Select by Attributes dialog box.
Now, you are ready to create subtypes using the values you just calculated.
12-62
Lesson 12
The table in the previous step indicates that a Width_Class value of 1 is for a narrow trail, 2 is
for medium, and 3 is for wide.
In the next empty row, type a code of 2 and Description of Medium.
In the next empty row, enter the final code of 3 and Description of Wide.
Click Apply.
Next, you will apply different default attribute values for the Trail_Width field for each subtype
of trail. You can use the table from the previous step to assist you in this next task.
In the Subtypes section, click the gray box to the left of code 1 to select the first subtype.
In the Default Values and Domains section on the bottom, scroll down and locate the
Trail_Width field.
Type a default value of 2 and click Apply.
Select the Medium subtype and set its Trail_Width default value to 6 and click Apply.
Select the Wide subtype and set its Trail_Width default value to 10 and click OK.
Now you have created subtypes and set default values for each.
12-63
Geodatabase workflow
Trail type
0-4
8-12
Scroll down until you find the first empty cell for Domain Name and type
HighElevationWidth.
For Description, type Width domain for high elevation trails.
Click the gray box next to the HighElevationWidth to select the domain.
Change the Field Type to Float, set a Maximum value of 4 for the range, and click Apply.
12-64
Lesson 12
Select the new domain and change its Field Type to Float, its Minimum value to 5, and its
Maximum value to 7.
Click Apply.
Create another domain with the following properties:
Name: LowElevationWidth
Description: Width domain for low elevation trails
Field Type: Float
Domain Type: Range
Minimum value: 8
Maximum value: 12
Click Apply.
Select the second subtype, Medium, and set its Trail_Width domain to
MediumElevationWidth and click Apply.
12-65
Geodatabase workflow
Select the third subtype, Wide, and set its Trail_Width domain to LowElevationWidth
and click OK.
Notice that the default values you previously set fall within the range domain for each subtype.
If the default value fell outside of the range domain values, you would get an error at this point.
Next, you will use a geoprocessing tool to automatically convert these codes and descriptions
into a coded value domain.
12-66
Lesson 12
Select Tools, type Table to Domain. then click the Search button
In the Coded Values section, scroll through the various codes and descriptions that were
converted from the AttributeSource table.
12-67
Geodatabase workflow
Click OK.
The various descriptions you converted from the AttributeSource table will now be available for
this field when editing in ArcMap.
12-68
Lesson 12
Click Finish.
A new relationship class is added to the geodatabase.
12-69
Geodatabase workflow
Use the skills you just performed and the following table to create another relationship
class.
Property
Value
Name
R2VegToR2VegPolyLocal
Origin Table
R2VEG
Destination Table
R2VEG_POLY_LOCAL
Type
Composite
Forward label
R2Veg To PolyLocal
Backward label
PolyLocal To R2Veg
1 to 1
Attributes
No
Primary key
VEG_LINK
Foreign key
VEG_LINK
Click Finish and verify that you now have two new relationship classes in the
geodatabase.
Now you are ready to edit data using all of the behaviors you have created.
R2Trails
R2VEG
Turn off the R2VEG layer.
The R2Trails draw based on the subtypes you created.
Adjust the line symbols for the R2Trails layer so you can easily tell which one is which.
12-70
Lesson 12
Next, you will digitize new trails and experiment with the Trail_Width values.
If necessary, turn on the Editor toolbar and start an edit session.
In the Create Features window, choose the Narrow trails subtype and set the Construction
Tool to Line.
Digitize a new trail by clicking to add vertices, then double-click to finish the sketch.
The resulting trail will be selected in the map.
On the Editor toolbar, click the Attributes button.
Notice that the Trail_Width field has been updated to 2. This is the default value you set earlier
for a high elevation (narrow) trail.
Change the value for Trail_Width to 10 and press Enter.
This value falls outside of the range (0-4) you set for a narrow trail.
From the Editor menu, choose Validate Features.
The resulting message states that 10 falls outside of the 0-4 range. You could change the value to
something within the 0-4 range, or you could save the invalid value of 10. Maybe this particular
trail is wider than most high elevation trails and 10 feet is a legitimate width.
Click OK to close the message.
Change the Trail_Width value to 3.5 and press Enter.
Validate the features again and then click OK.
All features are valid because 3.5 falls within the range domain. Not every feature will take on
all the default values you have set. In those cases, you can just change the value to the actual
value. Default values are common values for that type of feature, but may not always be the
right value.
With the Edit tool, select the new trail.
In the Attributes window, click the value Narrow to expose an ellipsis.
12-71
Geodatabase workflow
12-72
Lesson 12
In the Create Features window, select the R2Veg template and set the Construction Tool
to Auto Complete Polygon.
12-73
Geodatabase workflow
Digitize a polygon anywhere along the border of another polygon. Begin and end your
sketch by adding vertices that overlap the existing polygon boundary. An example can be
seen in the following graphic:
12-74
Lesson 12
Each relationship class is present, but there are no related records yet. You have to manually
add them here or in the attribute table.
Right-click R2Veg To Poly and choose Add New.
Select the new record to view its attributes.
Notice that the VEG_LINK is 555555.
Click in the value to the right of the ATTRIB_SOURCE field.
The values listed here were imported from a geodatabase table using a geoprocessing tool.
Choose one of the values and close the Attributes window.
It was recently brought to your attention that the AttributeSource table of codes and descriptions
was not complete. There was supposed to be one more code and description added to it. In
addition, one of the codes that has been used to update many of the features has been removed.
Remember, you can update the domain at any point. You will use a geoprocessing tool to do so.
In the Search window, select Tools, type Add Coded Value To Domain , then click the
Search button
.
Double-click the result to open the tool.
12-75
Geodatabase workflow
Parameter
Value
Attribute Source
Code Value
WM
12-76
Lesson 12
Verify that the code/description you added is visible and the one you deleted is gone.
Whenever you change or remove a domain, you risk making some features invalid. For
example, you just removed the CF domain. Any features assigned a value of CF for the
ATTRIB_SOURCE field would now be invalid. For this reason, it is good practice to first locate
these records through a selection operation, and then change their domain values to the correct
values.
Stop editing and save your edits.
Close ArcMap without saving the map.
12-77
Geodatabase workflow
12-78
Lesson 12
Click Next, then click Next again for vertical coordinate systems.
Accept the defaults for all tolerances and click Finish.
Now that you have a feature dataset created, you will load data into it.
In the Catalog tree, right-click the Water feature dataset and click Import > Feature Class
(multiple).
For Input Features, browse to ..\Student\BLDG\Exercise12\Networks and add the
following shapefiles:
Corvallis_Fittings.shp
Corvallis_Hydrants.shp
Corvallis_Laterals.shp
Corvallis_Valves.shp
Corvallis_WaterMains.shp
Corvallis_WaterMeters.shp
TreatmentPlant
Click OK.
Rename each feature class so Corvallis_ is not in the name.
Now that you have imported data into the geodatabase, you can add geodatabase behavior.
12-79
Geodatabase workflow
In order to create subtypes for this feature class, you first need to add an integer field to this
table, then calculate it according to values in the FittingTyp field.
In the first empty cell, for Field Name, type FitClass, make it a Short Integer field, then
click OK.
Notice how all fittings draw with the same symbol.
Right-click Fittings and choose Open Attribute Table.
You will select a certain type of fitting, then calculate the integer field for the selected fittings to
set the subtype code. First, you will summarize the FittingTyp field to see how many types of
fittings are available in this feature class.
Right-click FittingTyp, then click Summarize.
In the Summarize dialog box, keep all of the defaults except the output table.
Click the browse button and change the Save as type to File Geodatabase table. Navigate
to the Corvallis geodatabase.
Name the output table FittingTypes.
12-80
Lesson 12
Click Save.
Click OK, then click Yes to add the new table to the map.
In the table of contents, right-click FittingTypes and choose Open.
12-81
Geodatabase workflow
The summary table reveals that there are six different types of fittings in this feature class.
Summary tables are a fast way to determine how many different values you have for a certain
field. They can be used for additional analysis or simply to get a count of features and codes.
You will use Select By Attributes to select fittings of a particular type, then calculate the FitClass
field to an integer code.
Click the Fittings tab in the Table window.
Click the Select By Attributes button
In the Select By Attributes dialog box, build the following expression: "FittingTyp" = '12
x 12 Tapping Tee' and click Apply.
In the table, right-click the FitClass field and choose Field Calculator.
In the Expression field, type 1, then click OK.
In the Select By Attributes dialog box, change the expression to: "FittingTyp" = '12 x 4
Tapping Tee' and click Apply.
Open the Field Calculator for FitClass.
In the Expression field, type 2, then click OK.
Using the following table as a guide, repeat this process to make your selection queries,
then calculate the FitClass field.
FittingTyp
FitClass
12 x 6 Tapping Tee
4 x 4 Tapping Tee
6 x 4 Tapping Tee
6 x 6 Tapping Tee
12-82
Lesson 12
Now the Fittings feature class is ready to have subtypes created for it. Before you create
subtypes, however, you will prepare another feature class by adding and calculating a field in
ArcMap.
Add WaterMeters to the map.
Open its attribute table.
The CUSTTYPE field is a text field that tells you which type of customer is receiving water. P is
for private or residential and C is for commercial. Because subtypes require an integer field, you
will add one, then perform a simple calculation.
Add a short integer field named MeterType and click OK.
Click the Select By Attributes button
Using the skills you have learned regarding calculating values, use the following table to
calculate integer codes for each type of meter, based on the CUSTTYPE field:
CUSTTYPE MeterType
P
12-83
Geodatabase workflow
The Default Subtype will automatically be set to the first subtype you enter, but you can change
it. You will want to set the default subtype to the most common type of feature, so that when
you digitize a new feature, it goes into this subtype.
Change the Default Subtype to 6" x 4" Tapping Tee and click OK.
Next, you will create subtypes for the WaterMeters feature class.
Open the properties for the WaterMeters feature class and click the Subtypes tab.
For Subtype Field, choose MeterType.
In the Subtypes section, type a code of 1 and a description of Private, then click Apply.
In the next available line, type a code of 2 and a description of Commercial, then click
OK.
12-84
Lesson 12
Connectivity rules are important in any geometric network. In order for them to be as specific as
possible, it is good practice to create them using subtypes. WaterMains and Laterals already
have the appropriate calculated field added for creating subtypes. You will use these fields in
order to create subtypes.
Right-click Laterals and choose Properties.
On the Subtypes tab, set the Subtype Field to LateralSiz.
In the Subtypes section, enter a code of 1 and a description of 4", then click Apply.
On the next line, enter a code of 2 and a description of 6", then click OK.
Open the properties for WaterMains.
For Subtype Field, choose MainSize.
Make your Subtypes section match the following graphic.
Click OK.
You have just created subtypes for several feature classes. You will use subtypes later in this
project to display, edit, and create connectivity rules.
12-85
Geodatabase workflow
For Domain Name, type WaterMainDiameter; for Description, type Water Main
Diameter.
In the Domain Properties section, for Field Type, choose Double.
For Domain Type, choose Coded Values.
In the Coded Values section at the bottom of the dialog box, enter the following
information for Code and Description.
Code Description
4
4"
6"
12
12"
12-86
Lesson 12
The next panel of the wizard displays what will be loaded into your geodatabase. Notice the first
item in red is the feature class. This indicates that the names of the feature class in your
geodatabase and the one being imported are the same. Therefore, the one being imported will be
changed to WaterMeters_1. The second item being imported is a domain for meter size.
Click Finish.
Click Corvallis.gdb and press F5 to refresh the geodatabase.
Open the properties for Corvallis.gdb.
Click the MeterSize domain and notice the various codes and descriptions that were
imported.
Importing this domain from XML was a fast way to get all of these codes and descriptions
entered into a domain.
Click OK.
Before you create another domain, you will clean up your geodatabase from the XML import.
The feature class schema that came across with the domain is not needed.
Right-click Water_Meters_1 and choose Delete, then choose Yes to confirm the delete.
You will create one more domain for water main material type.
In the Exercise12 folder, expand WaterMains.xls.
You will convert the information in this Excel worksheet into a geodatabase coded values
domain. Notice the field names; you will use these when you convert the table into a domain to
specify where to get codes and descriptions from.
Open the properties for Corvallis.gdb and click the Domains tab.
12-87
Geodatabase workflow
For Code and Description, enter the following information from the table.
12-88
Lesson 12
Click the MATERIAL field and assign the MainMaterial domain, then click Apply.
Click the LENGTH field and apply LengthDomain to it, then click OK.
Right-click WaterMeters and choose Properties.
Click the Fields tab and select the METER_SIZE field.
In the Field Properties section, click the empty cell next to Domain and choose MeterSize,
then click OK.
You have created four domains within Corvallis.gdb that have been applied to different feature
classes, but could also be applied to additional ones in the future. You could create other
domains in this database, but for now, you will only create these four. These domains can be
used in ArcMap to facilitate attribute editing and to help maintain consistency in data entry.
12-89
Geodatabase workflow
12-90
Lesson 12
network. In the next step, you will create network connectivity rules for the new Water_Net
network.
12-91
Geodatabase workflow
Notice the subtypes for the Fittings feature class are displayed. Connectivity rules can be created
between feature classes or between subtypes.
In the Subtypes in the Network pane, expand Laterals, then expand WaterMains.
These are the subtypes you created earlier. Any subtypes you have created for feature classes in
the network will be available for connectivity rules.
There are two types of connectivity rules: edge-edge and edge-junction.
Edge-junction connectivity rules specify the legal types of junctions that may connect to an
edge, as well as how many of each type (i.e., cardinality) can be connected. For example, only
one meter can be attached to a lateral.
Edge-edge connectivity rules are really more like edge-junction-edge rules, because edges can
only connect to junctions (i.e., you cannot connect two pipes together without a fitting of some
kind). A great advantage of this type of rule is that it will automatically create a junction of the
correct type where two edges connect.
First you will create a edge-junction rule for Laterals.
For Connectivity rules for (feature class), choose Laterals.
For Subtypes in this feature class, click 4".
For Subtypes in this network, expand WaterMeters.
Notice the two subtypes, Commercial and Private, listed. You want both of these types of
meters to connect to a 4" lateral and you want a private meter to be the default.
Click the check box next to WaterMeters.
This will select both Commercial and Private.
12-92
Lesson 12
Next, you will set cardinality for this rule to reflect the fact that, in the real world, only one
meter will be present on a lateral.
Click Private to select it.
In the upper-right corner of the dialog box, check the first check box and set your
cardinality to match the following graphic.
You must enter the Max value first because it must be higher than the Min value.
You are setting the rule to allow only one meter to be present on a lateral, which is a one-to-one
relationship.
Click Commercial and repeat this process.
Next, you will create the same rule for 6" laterals.
For Subtypes in this feature class, click 6".
For Subtypes in this network, expand WaterMeters.
Click the check box next to WaterMeters and set Private as the default.
In the Cardinality section for each type of meter, set Max to 1 and Min to 1.
Click Apply.
The connectivity rules for 4" and 6" laterals should match the following graphic.
12-93
Geodatabase workflow
Next, you will create edge-to-edge connectivity rules that specify how laterals and mains will
connect.
For Connectivity rules for (feature class), click the drop-down arrow and choose
WaterMains.
For Subtypes in this feature class, click 12".
For Subtypes in the network, check the box for Laterals and expand it.
Select 4" and notice that the Junctions subtypes section on the right becomes enabled.
This is where you can set a junction that will connect a 12" main with a 4" lateral.
In the Junction subtypes section, expand Fittings.
Click the check box next to 12" x 4" Tapping Tee.
12-94
Lesson 12
Verify that the blue "D" for default appears next to 12" X 4" Tapping Tee and that your
settings match the following graphic:
This rule says that a 12" water main must connect to a 4" water lateral with a 12" x 4" Tapping
Tee. This is the only viable choice, so you will not set any other fittings for these sizes of water
lines.
Click Apply.
You have just set a connectivity rule for connecting a 12" main to a 4" lateral. There are two
lateral sizes in this network so now you have to set a rule for the 12" to 6" connection.
In the Subtypes in this network section, select 6" under Laterals.
In the Junction Subtypes section, check the box for 12" x 6" Tapping Tee and click Apply.
12-95
Geodatabase workflow
You have successfully set connectivity rules for a 12" main as it connects to the two lateral sizes
(4" and 6"). Next, you will set connectivity rules for 4" and 6" water mains.
In the Subtypes in this feature class section, select 4".
In the Subtypes in this network section, check the check box next to Laterals and, if
necessary, expand it.
Under Laterals, check the box for 4".
In the Junction subtypes section, for Fittings, check 4" x 4" Tapping Tee.
For a 6" lateral, set a connectivity rule for a 6" x 4" Tapping Tee and click Apply.
Finally, you will set a connectivity rule for a 6" main to the two lateral sizes.
In the Subtypes in this feature class section, select 6".
In the Subtypes in the network section, click the check box next to Laterals.
Under Laterals, select 4".
In the Junction subtypes section, under Fittings, check the check box for 6" x 4" Tapping
Tee. Click Apply.
For a 6" lateral, set the Junction subtype to 6" x 6" Tapping Tee and click OK.
You have successfully created several connectivity rules. These rules are stored as a property of
the network and are used during editing in ArcMap.
Next, you will edit this geometric network.
12-96
Lesson 12
Start an edit session, and when prompted, choose to start editing Corvallis.gdb.
On the Snapping toolbar, ensure that only Edge snapping is enabled.
Note: To open the Snapping toolbar, from the Editor menu, choose Snapping >
Snapping Toolbar.
With the Edit tool, select the main that extends east to the end of the cul-de-sac.
Click the Attributes button.
Notice the value for NOM_DIAM is 4". You will create a 4" lateral extending into the parcel.
Close the Attributes window and clear the selection.
In the Create Features window, choose the Laterals: 4" template.
12-97
Geodatabase workflow
Snap the cursor to the water main and click to add a vertex.
Double-click when the other end of the sketch extends into the parcel, as seen in the
previous graphic.
Clear the selection.
Notice that a fitting and a meter were added as you finished the sketch.
To make selecting easier, you will make Fittings and WaterMeters the only selectable layers.
On the Table of Contents window, click the List by Selection button
Click the Select icon
12-98
Lesson 12
12-99
Geodatabase workflow
12-100
Lesson 12
Using the same method, navigate to the remaining two bookmarks, digitize a lateral, and
verify that the fitting type and meter type are correct. Make sure you set the target to the
proper subtype of Laterals.
Stop editing when you are finished and save your edits.
You have just edited geometric network data that you built from shapefiles using connectivity
rules. Connectivity rules are not available outside a geodatabase.
12-101
Geodatabase workflow
12-102
Lesson 12
Drag and drop the Parcels feature class onto the map document.
You have successfully used a shapefile data source to create a parcel feature class in your new
file geodatabase.
12-103
Geodatabase workflow
12-104
Lesson 12
12-105
Geodatabase workflow
There are 13 errors in the topology. Notice that most of them are from the Must Not Have Gaps
rule you set. Earlier in the class, you learned that gaps are not always an error. There are several
12-106
Lesson 12
sections of parcels in this area of Oregon. Anywhere there is a gap between parcels, it is marked
as an error. It is up to you to know your data and be able to make the necessary distinctions
between actual and perceived errors. If it is not an error in the real world, you can set it as an
exception.
Close the Layer Properties dialog box.
On the Topology toolbar, click the Fix Topology Error tool
Click the western-most Must Not Have Gaps error to select it. (It will turn black.)
Right-click the selected error and choose Mark as Exception.
12-107
Geodatabase workflow
The topology no longer views this gap as an error. Exceptions are stored in the geodatabase.
Open the properties for Cadastral_Topology and click the Errors tab.
Click Generate Summary.
Notice that there are now 10 errors and one exception for the Must Not Have Gaps rule.
Dock the Error Inspector window to the bottom of the ArcMap interface.
Click Search Now.
There should be four errors remaining.
Right-click the first Must Not Overlap error and choose Zoom To.
12-108
Lesson 12
Move the Error Inspector window and zoom out a little if necessary.
In the Error Inspector, right-click the error and choose Merge.
Merge with Parcel 253 (click each parcel in the list to see it flash on screen) and click OK.
A dirty area appears where the error used to be, because this area has been edited since the last
validation. Normally in a topology editing workflow, you will validate first to locate errors, fix
the errors, and then validate again to make sure you did not create additional errors.
On the Topology toolbar, click the Validate Topology in Current Extent button
With the Edit tool, select the parcel shown in the following graphic and press the Delete
key.
Validate the current extent of the topology again to clear the dirty area and see that the
erroneous polygon has been deleted.
Notice the external boundary of this group of parcels is still considered to be an error. This is
because the editing operations you just performed affected the boundary, which now lies along a
street. You can mark it as an exception as you did before.
12-109
Geodatabase workflow
With the Fix Topology Error tool, click the boundary and then right-click it and choose
Mark as Exception.
In the Error Inspector, check off Visible Extent Only and then click Search Now.
Zoom to the other Must Not Overlap error, then zoom out gradually, if necessary.
The gap north of this parcel matches the overlap to the south, so it looks as if this overlap error
is caused by the parcel on top being moved down accidentally. Maybe the sticky move tolerance
was not set and the user was making a selection and moved the parcel inadvertently.
On the Snapping toolbar, enable Vertex and Edge snapping.
There are two ways to fix this error. You could move the entire parcel north and snap it to the
existing parcel boundary, or you could modify the vertices of the parcel and then merge the
overlapping portion with the parcel to the south. You will use the first method to fix the error.
12-110
Lesson 12
Click the Edit tool and then double-click the parcel to expose its vertices.
Hover your mouse cursor over the northwest vertex, click it, then drag it to snap to the
corner, as seen in the following graphic.
12-111
Geodatabase workflow
Right-click the Must Not Overlap error in the list and choose Merge.
Merge the error with parcel 244 and click OK.
Validate the current extent of the topology.
In fixing one error, another error was either created or discovered. The western boundary
contains a gap similar to the one you just fixed, only smaller.
Using the skills you just learned, fix the gap error along the western boundary.
Validate when you are finished to make sure the error is gone.
Fix the remaining two gap errors in the same manner in which you fixed the previous
ones.
Mark any external boundary errors as exceptions.
Validate the full extent of the topology to make sure there are no remaining errors.
Stop editing and save your edits.
Close the Error Inspector window.
Keep ArcMap open so you can create annotation for your parcels.
12-112
Lesson 12
Note: Make sure that Corvallis.gdb is still the default geodatabase. In the Catalog
window, it should be bold and have the default geodatabase icon
next to it.
12-113
Geodatabase workflow
In the Attributes window, locate the TextString property and click its current value.
Modify it so there are only three decimal places being displayed.
Close the Attributes window.
Stop editing and save your edits.
You have just created feature-linked annotation from labels and edited a value in the Parcels
table to create new annotation. Next, you will add a new feature class to an existing topology.
12-114
Lesson 12
For Output Features, verify that the output is being created in the
..\Student\BLDG\Exercise12\Cadastral\Corvallis.gdb\Cadastral feature class and name
it ParcelLines.
Click OK.
Preview the new ParcelLines feature class.
Using a geoprocessing tool, you have created parcel lines from existing parcel polygons and
saved yourself a lot of digitizing.
Open the properties for Cadastral_Topology.
Click the Feature Classes tab.
12-115
Geodatabase workflow
Click OK.
Right-click the topology and choose Validate, then click OK when it is finished.
Open the properties for Cadastral_Topology.
Click the Errors tab.
Click Generate Summary.
Notice that there are some gap errors present. These are the same errors you marked as
exceptions in the previous step. Because a feature class was added to the topology and
additional rules were added, these exceptions are seen as errors. You learned a fast way to fix
them in the last step. For now, you will leave them as is. The topology workflow is usually a
looping cycle.
12-116
Lesson 12
A new feature class has been added and other properties have been updated to reflect this
addition. It would be good practice to validate this topology to locate and fix any errors. In the
interest of time, this exercise will end now.
12-117
Appendix A
A-1
Appendix A
Permitted Uses:
Licensee may run the setup and install one (1) copy of the Training Course onto a
permanent electronic storage device and reproduce one (1) copy of the Training Course
and/or any online documentation in hard-copy format for Licensee's own personal use
only.
Licensee may use one (1) copy of the Training Course on a single processing unit.
Licensee may make only one (1) copy of the original Training Course for archival
purposes during the term of this Agreement, unless the right to make additional copies is
granted to Licensee in writing by Esri.
Licensee may use the Training Course provided by Esri for the stated purpose of
Licensee's own personal GIS training and education.
Licensee shall not sell, rent, lease, sublicense, lend, assign, time-share, or transfer, in
whole or in part, or provide unlicensed third parties access to the Training Course, any
updates, or Licensee's rights under this Agreement.
Licensee shall not separate the component parts of the Training Course for use on more
than one (1) computer, used in conjunction with any other software package, and/or
merged and compiled into a separate database(s) for other analytical uses.
Licensee shall not reverse engineer, decompile, or disassemble the Training Course,
except and only to the extent that such activity is expressly permitted by applicable law
notwithstanding this restriction.
Licensee shall not make any attempt to circumvent the technological measure(s) (e.g.,
software or hardware key) that effectively controls access to the Training Course, except
and only to the extent that such activity is expressly permitted by applicable law
notwithstanding this restriction.
Licensee shall not remove or obscure any copyright, trademark, and/or proprietary
rights notices of Esri or its licensor(s).
Term: The license granted by this Agreement shall commence upon Licensee's receipt of the
Training Course and shall continue until such time that (1) Licensee elects to discontinue use of
the Training Course and terminates this Agreement or (2) Esri terminates for Licensee's material
breach of this Agreement. The Agreement shall automatically terminate without notice if
Licensee fails to comply with any provision of this Agreement. Upon termination of this
Agreement in either instance, Licensee shall return to Esri or destroy all copies of the Training
Course, and any whole or partial copies, in any form and deliver evidence of such destruction to
Esri, which evidence shall be in a form acceptable to Esri in its sole discretion. The parties
hereby agree that all provisions that operate to protect the rights of Esri and its licensor(s) shall
remain in force should breach occur.
A-2
Limited Warranty and Disclaimer: Esri warrants that the media upon which the Training
Course is provided will be free from defects in materials and workmanship under normal use
and service for a period of ninety (90) days from the date of receipt.
EXCEPT FOR THE LIMITED WARRANTY SET FORTH ABOVE, THE TRAINING
COURSE CONTAINED THEREIN IS PROVIDED "AS-IS," WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, AND NONINFRINGEMENT. ESRI DOES NOT WARRANT
THAT THE TRAINING COURSE WILL MEET LICENSEE'S NEEDS OR
EXPECTATIONS; THAT THE USE OF THE TRAINING COURSE WILL BE
UNINTERRUPTED; OR THAT ALL NONCONFORMITIES, DEFECTS, OR ERRORS
CAN OR WILL BE CORRECTED. THE TRAINING DATABASE HAS BEEN OBTAINED
FROM SOURCES BELIEVED TO BE RELIABLE, BUT ITS ACCURACY AND
COMPLETENESS, AND THE OPINIONS BASED THEREON, ARE NOT
GUARANTEED. THE TRAINING DATABASE MAY CONTAIN SOME
NONCONFORMITIES, DEFECTS, ERRORS, AND/OR OMISSIONS. ESRI AND ITS
LICENSOR(S) DO NOT WARRANT THAT THE TRAINING DATABASE WILL MEET
LICENSEE'S NEEDS OR EXPECTATIONS, THAT THE USE OF THE TRAINING
DATABASE WILL BE UNINTERRUPTED, OR THAT ALL NONCONFORMITIES CAN
OR WILL BE CORRECTED. ESRI AND ITS LICENSOR(S) ARE NOT INVITING
RELIANCE ON THIS TRAINING DATABASE, AND LICENSEE SHOULD ALWAYS
VERIFY ACTUAL DATA, WHETHER MAP, SPATIAL, RASTER, TABULAR
INFORMATION, AND SO FORTH. THE DATA CONTAINED IN THIS PACKAGE IS
SUBJECT TO CHANGE WITHOUT NOTICE.
Exclusive Remedy and Limitation of Liability: During the warranty period, Licensee's exclusive
remedy and Esri's entire liability shall be the return of the license fee paid for the Training
Course upon the Licensee's deinstallation of all copies of the Training Course and providing a
Certification of Destruction in a form acceptable to Esri.
IN NO EVENT SHALL ESRI OR ITS LICENSOR(S) BE LIABLE TO LICENSEE FOR
COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOST PROFITS,
LOST SALES OR BUSINESS EXPENDITURES, INVESTMENTS, OR COMMITMENTS
IN CONNECTION WITH ANY BUSINESS, LOSS OF ANY GOODWILL, OR FOR ANY
INDIRECT, SPECIAL, INCIDENTAL, AND/OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THIS AGREEMENT OR USE OF THE TRAINING COURSE,
HOWEVER CAUSED, ON ANY THEORY OF LIABILITY, AND WHETHER OR NOT
ESRI OR ITS LICENSOR(S) HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY
FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
A-3
Appendix A
No Implied Waivers: No failure or delay by Esri or its licensor(s) in enforcing any right or
remedy under this Agreement shall be construed as a waiver of any future or other exercise of
such right or remedy by Esri or its licensor(s).
Order for Precedence: This Agreement shall take precedence over the terms and conditions of
any purchase order or other document, except as required by law or regulation.
Export Regulation: Licensee acknowledges that the Training Course and all underlying
information or technology may not be exported or re-exported into any country to which the
U.S. has embargoed goods, or to anyone on the U.S. Treasury Department's list of Specially
Designated Nationals, or to the U.S. Commerce Department's Table of Deny Orders. Licensee
shall not export the Training Course or any underlying information or technology to any facility
in violation of these or other applicable laws and regulations. Licensee represents and warrants
that it is not a national or resident of, or located in or under the control of, any country subject
to such U.S. export controls.
Severability: If any provision(s) of this Agreement shall be held to be invalid, illegal, or
unenforceable by a court or other tribunal of competent jurisdiction, the validity, legality, and
enforceability of the remaining provisions shall not in any way be affected or impaired thereby.
Governing Law: This Agreement, entered into in the County of San Bernardino, shall be
construed and enforced in accordance with and be governed by the laws of the United States of
America and the State of California without reference to conflict of laws principles.
Entire Agreement: The parties agree that this Agreement constitutes the sole and entire
agreement of the parties as to the matter set forth herein and supersedes any previous
agreements, understandings, and arrangements between the parties relating hereto.
A-4
Appendix B
B-1