Professional Documents
Culture Documents
BLDG 3.2 Jul10 Workbook
BLDG 3.2 Jul10 Workbook
The information contained in this document is the exclusive property of Esri. This work is protected under United States copyright law and
other international copyright treaties and conventions. No part of this work may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying and recording, or by any information storage or retrieval system, except as expressly
permitted in writing by Esri. All requests should be sent to Attention: Contracts and Legal Services Manager, Esri, 380 New York Street,
Redlands, CA 92373-8100 USA.
EXPORT NOTICE: Use of these Materials is subject to U.S. export control laws and regulations including the U.S. Department of Commerce
Export Administration Regulations (EAR). Diversion of these Materials contrary to U.S. law is prohibited.
@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, Esri—Team GIS, Esri—The GIS Company, Esri—The GIS
People, Esri—The 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, MPS—Atlas,
PLTS, Rent-a-Tech, SDE, SML, Sourcebook·America, 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
1 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
2 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
Choosing a geodatabase type............................................................................. 2-4
Lesson review ..................................................................................................... 2-5
Answers to Lesson 2 questions .................................................................... 2-6
i
Field data types .................................................................................................. 3-6
Exercise 3: Create geodatabase schemas......................................................... 3-7
Create a new geodatabase.......................................................................... 3-7
Create a new feature dataset....................................................................... 3-7
Create a new feature class .......................................................................... 3-8
Create schema with a data model ............................................................. 3-12
Update geodatabase and spatial reference ............................................... 3-15
Create schema through advanced geoprocessing .................................... 3-17
Lesson review .................................................................................................. 3-19
Answers to Lesson 3 questions ................................................................. 3-20
ii
Create coded value domains ...................................................................... 5-15
Apply domains to fields and subtypes......................................................... 5-17
Use subtypes and domains in ArcMap ....................................................... 5-21
Lesson review ................................................................................................... 5-25
Answers to Lesson 5 questions .................................................................. 5-26
8 Geodatabase annotation
Lesson introduction ............................................................................................. 8-1
Key terms ............................................................................................................ 8-2
Geodatabase annotation ..................................................................................... 8-3
Feature-linked annotation.................................................................................... 8-4
iii
Labels and annotation ........................................................................................ 8-5
Converting labels to annotation .......................................................................... 8-5
Labels or annotation? ......................................................................................... 8-6
Exercise 8: Work with geodatabase annotation ................................................. 8-7
Create annotation from labels...................................................................... 8-7
Explore annotation ..................................................................................... 8-12
Edit feature-linked annotation .................................................................... 8-15
Create an annotation feature class ............................................................ 8-20
Lesson review .................................................................................................. 8-24
Answers to Lesson 8 questions ................................................................. 8-26
9 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-8
Exercise 9: Work with geodatabase topology .................................................... 9-9
Explore coincident geometry........................................................................ 9-9
Create a geodatabase topology................................................................. 9-12
Use a topology in ArcMap.......................................................................... 9-17
Lesson review .................................................................................................. 9-22
Answers to Lesson 9 questions ................................................................. 9-24
iv
Fix a missing lot line.................................................................................. 10-17
Lesson review ................................................................................................. 10-20
Answers to Lesson 10 questions .............................................................. 10-22
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
Create network connectivity rules ............................................................. 12-26
v
Edit geometric networks........................................................................... 12-30
Exercise 12C: Project: Work with cadastral data ........................................... 12-35
Create schema and import data............................................................... 12-35
Create domains........................................................................................ 12-36
Create geodatabase topology.................................................................. 12-37
Work with a topology in ArcMap .............................................................. 12-38
Create annotation .................................................................................... 12-43
Add a feature class to a topology............................................................. 12-44
Lesson review ................................................................................................ 12-48
Answers to Lesson 12 questions ............................................................. 12-50
Exercise 12A solution: Exercise solution with steps ................................ 12-59
Exercise 12B solution .............................................................................. 12-78
Exercise 12C solution ............................................................................ 12-102
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.
d
This course is designed to work with ArcGIS 9.4 at the ArcEditor or ArcInfo license level.
Course goals
The course workbook is an integral part of your learning experience. During class, you use the
workbook to complete activities and exercises that reinforce specific tasks and skills. After class,
the workbook is your personal reference to review activities or work through exercises again to
reinforce what you've learned.
Additional resources
To use the workbook exercises, you will need to install the data that will be used throughout this
course. The data is stored on a CD and will be copied to your hard drive by an automated install
program.
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.
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
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 A collection of feature classes stored together that share the same
dataset spatial reference; that is, they share a coordinate system, and their
features fall within a common geographic area
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.
Geodatabase A database or file structure used primarily to store, query, and
manipulate spatial data. Geodatabases store geometry, a spatial
reference system, attributes, and behavioral rules for data.
Geometric Edge and junction features that represent a linear network, such as a
network utility or hydrologic system, in which the connectivity of features is based
on their geometric coincidence.
Raster A raster spatial data model that is stored on disk or in a geodatabase.
dataset
Relationship An item in the geodatabase that stores information about a relationship.
class
Topology In geodatabases, the arrangement that constrains how point, line, and
polygon features share geometry. For example, street centerlines and
census blocks share geometry, and adjacent soil polygons share
geometry. Topology defines and enforces data integrity rules (for
example, there should be no gaps between polygons).
For a full discussion of file geodatabase advantages, read the ArcUser article, The Top Nine
Reasons to Use a File Geodatabase. Visit www.esri.com/arcuser.
Geodatabase elements
Feature class
A collection of geographic features with the same geometry type—point, line,
or polygon—the 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.
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.
In this exercise, you will explore geodatabase elements using ArcCatalog and ArcMap. You will
examine how they are stored, what properties they have, and how they are used. First, you will
use ArcCatalog to view a geodatabase and its contents, then you will use a prepared ArcMap
document to further explore geodatabase elements.
In this exercise, you will:
▪ Use ArcCatalog and ArcMap to explore geodatabase elements.
▪ Explore a topology.
▪ Run a network tracing operation.
Start ArcCatalog.
Click OK.
You have just created a folder connection that allows you to connect directly to the Database
folder for this course without having to navigate each time you open ArcCatalog. You will use
this folder connection to access geodatabases for all of the exercises in this course.
The BLDG folder contains folders for each exercise. This is where you will go to get map
documents and supplemental data.
From the Customize menu, choose ArcCatalog Options, and click the General tab.
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.
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.
This tab contains information about the coordinate system for the feature dataset. All feature
classes that are added to a feature dataset are projected to match the coordinate system of that
feature dataset.
______________________________________________________________________________
______________________________________________________________________________
Notice that the projection is identical to that of CityData. If a feature class resides in a feature
dataset, its map projection and related spatial properties will match the feature dataset's.
In the Catalog tree, click the minus signs next to CityData and SewerSystem to collapse
them.
Click the ProposedNewSite raster dataset, then click the Preview tab.
This image is an aerial photo of a potential store location at the south end of Manhattan,
Kansas.
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.
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.
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.
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.
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.
In the Sewer System feature dataset, open the properties for SewerSystem_Net.
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.
Close ArcCatalog.
Click the Auto Hide pin in the upper right corner of the table of contents window to set it
to auto hide.
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.
The active data frame contains layers for point, line, polygon, and annotation feature classes.
Notice that Bridges and Store Locations contain point features; Cityboundary and Streets
contain line features; and Buildings, Zoning, and Parcels contain polygon features.
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.
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.
______________________________________________________________________________
Click OK.
______________________________________________________________________________
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.
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.
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.
Note: The labels are black and the annotation features are blue.
5. When you pan the map display, do the labels change positions with regard to the geographic
features they represent?
______________________________________________________________________________
6. When you pan the map display, do the annotation features change positions with regard to
the geographic features they represent?
______________________________________________________________________________
Labels will move in an attempt to remain visible as long as a part of their features are visible.
Annotation features remain in the same location.
On the Tools toolbar, click the Identify tool and click the map.
For Identify from, click the drop-down arrow and choose ZoningAnno.
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.
Hover your mouse cursor over the Catalog window tab to expand it.
By default, the Catalog window and Search window are docked to the right and set to auto hide.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
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.
On the Standard toolbar, click the Editor toolbar button to open the Editor toolbar.
From the Editor menu, choose Start Editing to start an edit session.
Click the Edit tool , then click a Zoning polygon and drag it to a new location.
______________________________________________________________________________
______________________________________________________________________________
From the Editor menu, choose Stop editing, and click No when prompted to save your
changes.
In the table of contents, collapse the Step 3 - Feature classes data frame.
You are finished exploring some of the general feature class types that are stored within a
geodatabase. Next, you will look at some of the behaviors that set the geodatabase apart from
other data models.
Right-click the Step 4 - Topology data frame and choose Activate, then expand it to view
the layers.
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.
You see a list of the various feature classes that participate in this topology.
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?
______________________________________________________________________________
The description states that all features in the Zoning feature class must be covered by features in
the Parcels feature class.
Note: To turn the toolbar on, from the Customize menu, choose Toolbars > Topology.
When you start an edit session, the Create Features window opens. Like all windows in
ArcMap, you can click the Auto Hide push pin to collapse the window when you're not using it.
On the map, click any of the red polygon errors to select it—once 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.
Notice that Zoning polygons are present in the areas where there were topology errors.
Notice the gaps between the parcels where the Zoning polygons displayed a moment ago. These
gaps are causing the topology errors.
You will create and edit a topology later in the course. For now, you will explore a geometric
network.
Notice that two point layers and one line layer make up this sewer network. Utility networks are
typically very complex, with many features mapped at high accuracy and close together. This
sewer network has been simplified for this exercise.
To perform analysis on this sewer network, you will need to turn on the Utility Network
Analyst toolbar.
Geometric networks are generally created to support tracing analyses. Your next task will be to
perform a shortest path trace from one corner of the network to the other. To do this, you will
add flags, which define the starting and ending points of a trace operation.
On the Utility Network Analyst toolbar, click the Add Edge Flag tool .
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.
Click an edge near the location marked 2 to add the second flag.
In this scenario, you want to trace, or find the path, from flag 1 to flag 2. Trace operations
follow the order in which flags are placed.
On the Utility Network Analyst toolbar, set Trace Task to Find Path.
The red line represents the computed path between the two flags.
On the Utility Network Analyst toolbar, from the Analysis menu, choose Clear Results.
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:5,000
5. When you pan the map display, do the labels change positions with regard to the geographic
features they represent?
Yes
6. When you pan the map display, do the annotation features change positions with regard to
the geographic features they represent?
No
Zoning
ZoningAnno
Composite
Yes
12. Are these rules enforcing the spatial relationships between features in the same feature class
or across feature classes?
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?
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
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 When many people are permitted to edit data in a geodatabase at any
given time.
Single-user geodatabases
* Can have more than one concurrent editor, provided they are editing in different tables,
feature classes, or feature datasets.
Multiuser geodatabases
For detailed information about the functionality for the different geodatabase types, visit
▪ www.esri.com/geodatabase
▪ resourses.esri.com/geodatabase
Lesson review
1. List and describe when you would want to use a multiuser geodatabase over a file
geodatabase.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Lesson review
1. List and describe when you would want to use a multiuser geodatabase over a file
geodatabase.
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
3-1
Creating geodatabase schemas
Key terms
Term Definition
Schema The structure or design of a database or database object, such as a table,
view, index, stored procedure, or trigger. In a relational database, the schema
defines the tables, the fields in each table, the relationships between fields
and tables, and the grouping of objects within the database. Schemas are
generally documented in a data dictionary. A database schema provides a
logical classification of database objects.
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.
______________________________________________________________________________
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.
▪ Manage the integrity of attribute values with domains.
▪ Use subtypes to manage subsets of features in a feature class.
▪ Use relationship classes to work with features in one table by selected features in related
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.
In this exercise, you will use a variety of operations to create geodatabase schema.
In this exercise, you will:
▪ Create a new geodatabase.
▪ Create a feature dataset and feature a class.
▪ Create schema using a data model.
▪ Create schema using ModelBuilder.
Start ArcCatalog.
Navigate to ..\Student\BLDG\Exercise03.
Right-click the Exercise03 folder and choose New > File Geodatabase.
You have just created a file geodatabase. In the following steps, you will populate the new
geodatabase with schemas for a number of geodatabase elements.
The next panel of the wizard prompts you to choose a coordinate system. You can choose from
a projected or geographic coordinate system.
Scroll down and choose NAD 1983 StatePlane California VI FIPS 0406 (US Feet), then
click Next.
Note: Vertical coordinate systems define the location of z-values, or elevation, relative
to a surface.
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.
The default geometry type for all new feature classes is Polygon.
Click Next.
In the next panel you can add fields to the new feature class table. You can add the fields
manually or import them from another table or feature class. You will import them.
Click Import.
You will import the table schema from an existing shapefile to build the schema for your new
feature class table. You will be using data in the Exercise04 folder to create the schema. In the
next exercise, you will populate the schema with data from the Exercise04 folder.
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.
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.
______________________________________________________________________________
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 Specify the XML source to import, click the Browse button.
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.
Open the properties for Streets and click the Subtypes tab.
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.
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.
Notice that a new geodatabase named ArcMarine.mdb has been added, along with a text file
and an XML document.
______________________________________________________________________________
Note: Currently, some data models download directly to a personal geodatabase for
Microsoft Access. XML is another common format to which you can download
data models.
Expand ArcMarine.mdb.
______________________________________________________________________________
Table fields are part of geodatabase schema and are included in data models.
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.
Notice that the properties for the relationship class have been included in the schema.
Geodatabase system tables are upgraded with every release of ArcGIS to support additional
capabilities. It is good practice to upgrade your geodatabases to the current version of the
software. Note, however, that when you do this, you have access to all of the functionality of
the newer version, but are not able to use the upgraded geodatabase in previous versions of
ArcGIS.
Click OK.
Another property you have to upgrade is the spatial reference. Remember that coordinate
storage in ArcGIS 10 is much more efficient and can be much higher precision and allow more
room for data expansion than in previous versions. For this reason, it is a good idea to upgrade
the spatial reference of your feature classes and feature datasets to high precision.
You will be loading data from the personal geodatabase for Access into this new file
geodatabase.
Go back to the previously downloaded ArcMarine.mdb and open the properties for the
MarineFeatures feature dataset.
Click OK then close the progress window when the tool is finished processing.
Open the Properties dialog box for MarineFeatures and click the Domain tab.
Notice the difference in coordinate domains. You can see that there is a lot more storage space
in 10.
Click and drag the MeshFeatures feature dataset into Marine.gdb (without upgrading its
spatial reference).
______________________________________________________________________________
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.
This is a fairly large model with many processes. The first process creates a file geodatabase in
the Schema_Model folder, and then subsequent processes create feature datasets, feature classes,
domains, and fields.
Click Close on the progress dialog box when the model has finished running.
Expand Schema_Model.
Close ArcCatalog.
ModelBuilder can be used to quickly create schema. You could use single geoprocessing tools,
the simple data loader, XML import, or other methods to populate the schema with data.
Lesson review
1. List and describe the methods that can be used to build a geodatabase schema.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Schema scenarios
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.
1. Why do you think you didn't have to enter coordinate system information for the Parcels
feature class?
Because you are creating it within a feature dataset, ArcCatalog matches its coordinate
system to that of the feature dataset.
ArcGIS 10
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.
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
4-1
Loading data into a geodatabase
Common icons
CAD
coverage
raster
shapefiles
XML recordset
Scenario Method
Add features from one source to a feature ___________________
class with 10,000 existing features.
Convert a shapefile to a feature class and ______________
retain the existing schema.
Import several feature classes from another _______________
geodatabase.
Move data from a personal geodatabase to a ___________________________
file geodatabase. ___
Create a permanent raster from 10 _______
overlapping GeoTIFF images.
Create a virtual mosaic from 9 individual IMG ____________
files.
Compression
A process run on file geodatabases that removes unreferenced rows from geodatabase system
tables and user delta tables. A compressed dataset looks an uncompressed dataset and is a
direct-access format, so you do not have to uncompress it each time you access it; ArcGIS reads
it directly.
Compressed datasets are read only. To edit the data, you will need to uncompress the files.
Data comes in a variety of formats. In order to take full advantage of geodatabase behavior, you
have to load your existing data formats into a geodatabase. In this exercise, you will use these
methods to load vector and raster data into the Riverside geodatabase you created earlier in this
course.
In this exercise, you will:
▪ Use conversion tools to load data into a geodatabase.
▪ Load vector data into a geodatabase.
▪ Load raster data into a geodatabase.
Start ArcCatalog.
Copy Riverside.gdb from the Exercise03 folder and paste it into the Exercise04 folder.
Expand Riverside.gdb in the Exercise04 folder, then expand its Landbase feature dataset.
In the previous exercise, you created feature class schemas for the Parcels and Streets feature
classes within Landbase. Now, you will use the Simple Data Loader to populate them with
features.
Remember, there are no features in Parcels, just a table with its schema defined.
This shapefile should have 1129 features in it. You will load these features into the Parcels
feature class.
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 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).
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.
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.
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.
Preview Parcels.
There are now 2,850 features in the Parcels feature class, all with correct attributes.
Next, you will load streets into subtypes within the Streets feature class.
Right-click the Streets feature class within Riverside.gdb and choose Load > Load XML
Recordset Document.
For Specify the XML source to load, navigate to your Exercise04 folder, select
RivStreets.xml, and click Open.
Preview the geography and table for Streets to verify that all of the 549 features have been
loaded.
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 will be converting the following data sources into geodatabase feature classes:
▪ ElectricalSystem.dwg (CAD drawing)
▪ riverside (Coverage storing city boundaries of Riverside, California)
▪ Buildings.shp (Shapefile of building polygons)
▪ 2003CensusData.xls (Excel spreadsheet of census data)
▪ house.jpg (picture of a house; raster data)
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.
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.
Click the Browse button again and add Buildings.shp to the list.
Click Browse one more time and navigate to the riverside coverage and double-click it.
Verify that the feature classes in your dialog box match the ones in the following graphic.
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.
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.
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.
In this case, the tool knows the input features, but not the output location.
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.
Right-click the Database worksheet and choose Export > To Geodatabase (single).
You have successfully converted data from many sources into Riverside.gdb. The conversion
tools you can also be accessed as geoprocessing tools.
This option is similar to importing a feature class, except that it is specifically for raster data.
Click OK.
Preview Canal.
The BIL image has been converted to an IMG format to be stored in the geodatabase.
Now, you will mosaic multiple rasters into one raster dataset. In order to do this, you will need
to create a new raster dataset.
For Spatial Reference for Raster, click the Spatial References Properties button .
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.
Preview SubdivisionSW.
All four images are now combined as one mosaic within the SubdivisionSW raster dataset.
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.
Start ArcMap and open a blank map document. Set the Riverside.gdb as the default
geodatabase.
First, you will add a field that supports raster data to the Parcels feature class.
Click OK.
Drag the Landbase feature class from the Catalog window onto the map display.
Notice that this also adds the feature class to the table of contents.
The Create Features window opens. You can auto hide this window like all windows in
ArcMap.
In the table of contents, right-click the Parcels layer and choose Selection > Zoom To
Selected Features.
On the Editor toolbar, click the Attributes button to open the Attributes window.
For the value for Image field, click <NULL>, then click Load.
Click the small arrow that appears on the right to view the image.
Raster data types can be viewed from the Attributes window as well as the attribute table. In
addition to these, you can view the image in the Identify window.
In the Identify window, click the picture icon on the right to view the image.
In this step, you used the raster data type in a feature class table. Next, you will work with a
mosaic dataset.
You will use three images in the RasterSources folder to create the geodatabase mosaic dataset.
Right-click Riverside.gdb in the Catalog window, choose New > Mosaic Dataset.
Verify that your Create Mosaic Dataset dialog box matches the following graphic.
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.
Click Add.
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.
The mosaic dataset appears as a group layer containing Boundary, 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.
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.
Right-click Mosaic Function, choose Insert and click Shaded Relief Function.
You now have an on-the-fly shaded relief mosaic view of a raster catalog.
Lesson review
1. Describe four ways to load data into the geodatabase.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
1. For each of the following scenarios, assign the most appropriate vector data-loading method
from the following list of choices:
▪ Simple data loader
▪ Object loader
▪ XML workspace
▪ Import/Export
▪ Append
▪ Copy and paste
▪ Drag and drop
▪ Mosaic
▪ Add rasters
Scenario Method
Add features from one source to a feature Simple data loader
class with 10,000 existing features.
Convert a shapefile to a feature class and Import/Export
retain the existing schema.
Import several feature classes from another XML workspace
geodatabase.
Move data from a personal geodatabase to a Copy and paste, drag and drop
file geodatabase.
Create a permanent raster from 10 Mosaic
overlapping GeoTIFF images.
Create a virtual mosaic from 9 individual IMG Add rasters
files.
1. Why does the Owner field in the target not have a match in the source?
You added a new field to the Parcels feature class that was not in the shapefile you are
loading.
Lesson review
Possible answers:
▪ Simple data loader
▪ Object loader
▪ XML workspace
▪ Import/Export
▪ Append
▪ Copy and paste
▪ Drag and drop
▪ Mosaic
▪ Add rasters
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
5-1
Domains and subtypes
Key terms
Term Definition
Behavior The actions or characteristics exhibited by an object in a database, as
defined by a set of rules.
Domain A set of valid values for a particular attribute.
Subtype A subset of features in a feature class or objects in a table that share the
same attributes
Relationship An item in the geodatabase that stores information about a relationship
class between feature classes or tables.
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.
______________________________________________________________________________
______________________________________________________________________________
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.
Thinking about your current role or industry, how can domains or subtypes help you?
Domain examples
Here are a few examples of range and coded value domains, as seen in the presentation.
Subtype examples
Here are some examples of subtypes, as seen in the presentation.
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.
Domains and subtypes play an important role in attribute data validation in the geodatabase. In
this exercise, you will create domains and subtypes, apply domains to fields and subtypes, and
work with them in ArcMap.
In this exercise, you will:
▪ Create domains and apply them to fields and subtypes.
▪ Create subtypes and apply default attribute values.
▪ Use domains and subtypes for editing in ArcMap.
Start ArcCatalog.
This field contains an integer value that you will use to categorize trails by their elevations.
______________________________________________________________________________
Examine the TR_Condition field. You will assign default attribute values for that field.
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.
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.
______________________________________________________________________________
In the Subtypes section of the dialog box, you will enter the integer code in the Code column.
This code comes directly from the values in the Elev_Class field. You will assign a description
to each code in the table to create the subtypes (categories).
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 Medium Elevation (7,300-8,800 ft)
3 Lower Elevation (Less than 7,300 ft)
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:
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.
In the Feature Class Properties dialog box, click the Fields tab.
______________________________________________________________________________
Keep the answer to the last question in mind for an upcoming step.
Range domains can be created on all numeric fields, including date fields, so it is important to
make sure this table contains a field to which you can apply a numerical range.
Right-click the header for the Mileage field and choose Sort Descending.
______________________________________________________________________________
______________________________________________________________________________
All of the mileage values fall within the range of 0.21 miles to roughly 23.4 miles. You will
create a range domain that will encompass those values and go a little higher to account for
future trails that could be over 23.3 miles long.
Scroll down to the first empty cell and, for Domain Name, type Mileage_Range.
In the Domain Properties section, for Field Type, click the current value to see a list of
valid field types.
6. Which field type should be applied to this range domain and why?
______________________________________________________________________________
For Field Type, pick the type that matches the answer to the previous question.
Note: The Coded Values section does not need to be filled out for range domains.
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.
Keep the Database Properties dialog box open for the next step.
Scroll down to the first empty cell and, for Domain Name, type R2Veg_Old_Growth.
In the Domain Properties section, change Field Type to Text and verify that Domain Type
is set to Coded Values.
Next, you have to set the values for the domain. Coded value domains require you to type codes
and attribute descriptions instead of a numeric range. Whatever you type into this list will
display in the ArcMap editing environment for the field to which it is applied.
In the first empty cell for Code, type Y and, for its description, type Yes.
In the next empty cell for Code, type N and, for its description, type No.
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.
You will convert these codes and descriptions into a domain using the Table To Domain
geoprocessing tool.
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.
Click OK.
Open the properties for Forestry.gdb and verify that R2Veg_Oldgrowth_Source has been
added as a domain.
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.
In the Field Properties section, click the empty cell next to Domain.
Because domains are a property of the geodatabase, all the text domains for the Forestry
geodatabase display in the list. You must choose the domain appropriate for the records in this
field.
7. What is the benefit of assigning this domain to the entire attribute field?
______________________________________________________________________________
Click Apply.
Next, you will apply your second coded value domain to a different field.
On the Fields tab, click the OLD_GROWTH_SOURCE field name to select it.
In the Field Properties section, click the empty cell for Domain.
Scroll down and click R2Veg_Oldgrowth_Source to apply this domain to the selected
field.
Now you will apply the range domain you created earlier to subtypes in the R2Trails feature
class.
Domains can be applied to entire fields or to each subtype in a field. Applying a domain to a
subtype offers powerful advantages because you can create valid values for a field within a
group of features. If each subtype has different values for a field, it would be appropriate to
apply a different domain to each subtype. In this example, you will apply the same domain to
each subtype.
Click the first subtype in the Subtypes list (High Elevation) to select it.
In the Default Values and Domains section at the bottom of the properties dialog box,
scroll down to the Mileage field.
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.
You just applied the range domain that is specific to higher elevation trails to that particular
subtype.
Repeat this process to apply the general Mileage_Range domain to the remaining two
subtypes.
Close ArcCatalog.
Start ArcMap.
Note: If you forgot to set a default geodatabase at the ArcMap-Getting Started dialog
box, navigate to your geodatabase in the Catalog window, right-click, and choose
Make Default Geodatabase.
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 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.
Note: Optionally, you could also add the layer file to the map document.
Each subtype now displays with a different color. Next, you will see how subtypes and domains
can be useful in 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.
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.
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.
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.
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.
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.
Lesson review
1. Explain when it is appropriate to use coded value domains and when it is appropriate to use
subtypes.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Applying domains
1. List and describe some of the inefficiencies that currently exist in the PizzaTable.
Errors include: Inconsistency (Bar-b-cue, BBQ for Style), invalid values (141 for Size),
meaningless values (F for CrustType), and misspellings (checken for Topping1).
2. Using the pizza menu and order form, list and describe up to four domains that could be
created to help validate data entry.
It is the only integer field in this table, so it is the only field available for creating
subtypes.
Float
23.3 miles
0.21 miles
6. Which field type should be applied to this range domain and why?
7. What is the benefit of assigning this domain to the entire attribute field?
Applying the domain to the field makes the domain a global attribute rule for the entire
field.
Lesson review
1. Explain when it is appropriate to use coded value domains and when it is appropriate to use
subtypes.
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
6-1
Relating spatial and attribute data
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.
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:
▪ Make cardinality between destination and source tables more specific.
▪ Establish validation rules that ensure valid relationships and cardinality are maintained
between features and records.
▪ Further refine relationship classes using subtypes.
▪ Locate invalid features using validation tools.
In a GIS, tabular data is often stored separately from its associated features. However, you can
access this additional information through a relationship class. Relationship classes help enforce
referential integrity by maintaining persistent connections between tables that are stored within
a geodatabase; they also allow for read/write table access.
In this exercise, you will:
▪ Create geodatabase relationship classes.
▪ Use relationship classes in ArcMap.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
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.
In this case, the names of the common fields in these tables happen to be the same; they don't
have to be. Fields are common fields because they contain the same data.
______________________________________________________________________________
In this case, there is a one-to-many cardinality between the R2VEG layer table and the
R2VEG_SPECIES table.
Now that you have a better understanding of these tables, you will create relationship classes
between them.
In the Catalog window, right-click the Relationships geodatabase and choose New >
Relationship Class.
For Origin table/feature class, expand the R2VegFD feature dataset and select the
R2VEG feature class.
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.
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.
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.
Choose No when prompted to add attributes to the relationship, then click Next.
For the primary and foreign keys, choose the VEG_LINK field, then click Next.
Verify that your relationship class properties match the following graphic.
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.
All the properties listed are the ones you just entered when you created the relationship class.
Now that you've created the relationship class, you realize that you should have prefaced the
relationship class name with the origin table name.
Note: Once you create the relationship class, you can only change the name.
Now the relationship class name is prefaced with the origin table name.
Next, you will create a one-to-many relationship between the R2VEG feature class and the
R2VEG_SPECIES table.
Using what you have learned about relationship classes and the R2Veg data, complete the
following table.
Right-click the Relationships geodatabase and choose New > Relationship Class.
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.
In the Identify window, expand the feature to view the relationship classes available for
this feature class.
Spend a moment exploring the related records, then close the Identify window when you
are finished.
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.
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.
The bottom section of the Identify window now displays the attributes for the related record in
the R2VEG_GIS_CALCS table.
Next, you will access the relationship classes through the attribute tables.
With the Select by rectangle tool , select the same polygon you just explored with the
Identify tool.
In the Table window, click the Show selected records button to view the
corresponding record.
Click the Related Table button and choose R2Veg_ToGISCalcs : R2Veg To GISCalcs.
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.
______________________________________________________________________________
______________________________________________________________________________
The information you acquire from both tables pertains to the same polygon.
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.
______________________________________________________________________________
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.
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.
______________________________________________________________________________
10. Why do relationship classes have to be created between tables or feature classes that are in
the same geodatabase?
______________________________________________________________________________
______________________________________________________________________________
This exposes the list of coded value domain descriptions for you to choose from when editing
the data.
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.
In the PARTITION_TYPE field, click the current value to reveal the domain list.
As long as there are domains applied to any related fields, you can access them through the
Attributes window or the attribute table.
Relationship rules are geodatabase validation rules that can help maintain the integrity of your
data by ensuring the proper cardinality between origin/parent features and destination/child
features.
In this exercise, you will:
▪ Create relationship rules.
▪ Edit and validate related features in ArcMap.
A one-to-many relationship class, named ParcelToBuilding, has already been created in the
ValidationRules geodatabase for use in this exercise. Because this is a one-to-many relationship
class, the rules you create will tell ArcGIS exactly how many of each type of building are
associated with each type of parcel.
For Destination Table/Feature Class subtypes, check the box next to Office.
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.
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.
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.
Now that you have created the rules, you will test some of them.
Because you did not create a rule between Single Family Residence parcels and Commercial
buildings, the geodatabase will consider this association invalid. To test this association: you
will create a scenario in which a commercial building falls within the boundary of a residential
parcel. You will use the Validate Features command to test the association between these two
features. You used the same Validate Features command earlier in the course to validate range
domains.
In the map display, using the Edit tool , select the Single Family Residential parcel
with only one building labeled Residence on it.
Close the Validate Features message and reselect the same residential building.
Click Yes in the message box that asks you if want to change the default attributes for the
feature to those defined by the new subtype.
1. Are these domain or subtype values that appear in the drop-down list?
______________________________________________________________________________
You will now test the association between residential parcels and commercial buildings.
Validate the selected building and read the Validate Features message.
Because there is no association, the feature is invalid. You could leave the feature as is, or
change it back to residence.
Click the Undo button to restore the Residence value to the building.
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 Edit tool, hold down the Shift key, then select the commercial parcel the park is in.
Now the new park you just created and the commercial parcel should be selected.
From the Editor menu, click Validate Features and read the message.
Click OK.
In the map display, reselect the parcel the park falls within, while making sure your new
park parcel remains selected.
In the Attributes dialog box, expand Building until you reach Parcel.
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.
Now the new park is a child of the commercial parcel it falls within.
Expand Parcel, then right-click the feature under it and choose Unselect.
Now the new feature is a child to a parent feature, but the association is still invalid.
Open the Attributes window again, making sure the park is the only selected feature.
From the Editor menu, choose Stop Editing and click Yes to save your edits.
Lesson review
1. Explain the benefits of using relationship rules.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Relationship Cardinality
A parcel with any number of buildings: ____________
An electric meter is associated with billing info: ___________
A given property may have many owners and a given owner may _____________
own many properties:
Parcels within a neighborhood are served by a single post office: ____________
One parcel can be located in many administrative districts, e.g., _____________
fire, police, school. Conversely, one administrative district is
composed of many parcels.
6188
6188
Because they have the same number of records, the cardinality is likely one-to-one;
however, you have to know your data to be sure.
36977
9/4/2003
28.165445 acres
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?
One-to-many
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.
1. Are these domain or subtype values that appear in the drop-down list?
Subtypes
Lesson review
Relationship Cardinality
A parcel with any number of buildings: One-to-many
An electric meter is associated with billing info: One-to-one
A given property may have many owners and a given owner may own Many-to-many
many properties:
Parcels within a neighborhood are served by a single post office: Many-to-one
One parcel can be located in many administrative districts, e.g., fire, Many-to-many
police, school. Conversely, one administrative district is composed of
many parcels.
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
7-1
Editing using attribute validation rules
In this exercise, you will learn more about editing data to which domains, subtypes, and
relationship classes have been applied. Facilitated editing is one of the main benefits of applying
geodatabase validation rules.
In this exercise, you will:
▪ Edit and validate using range domains.
▪ Edit using coded value domains.
▪ Edit using subtypes.
▪ Edit data in a relationship class.
In the Select by Attributes dialog box, for Method, make sure Create a new selection is
selected.
At the bottom of the attribute table, click the Show Selected Records button to view
the record.
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.
______________________________________________________________________________
______________________________________________________________________________
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.
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.
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.
Open the R2VEG attribute table and access the R2VEG_GIS_CALCS table using the
relationship class again.
Notice that the changes that you made using the coded value domains have been updated in the
R2VEG_GIS_CALCS table.
Attribute editing can take place in the Attributes window and the Attribute table.
From the Editor menu, choose Save Edits to save your changes.
Earlier in this course, you created a range domain of 0 to 50 miles for trail mileage. Now you
will edit the trail mileage values based on this range domain.
First you will select a specific trail to edit using the Select By Attributes window.
Build the following expression: "TRAIL_NAME" = 'LITTLE SAND', then click OK.
For the Mileage value, click the current value of 10.65086 and type -99, then press Enter.
Remember, the mileage range domain is 0 to 50, so -99 should be flagged as invalid.
To locate invalid data in a range domain, you will use the Validate Features operation.
Validation works only on selected features. After validation, only invalid features will remain
selected; valid features will be unselected.
In the table of contents, right-click the R2Trails layer, choose Selection > Select All.
You get a message that the value -99 is not within the range domain of 0 to 50. Notice that the
only feature with an invalid value remains selected. At this point, you could save the invalid
mileage value, or you could set it to a value within the range.
You can enter invalid values into range domain fields, because some invalid numerical data
could be correct. For example, a common workflow practice is to use invalid range values to
help keep track of features that need to be updated.
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.
In the Catalog window, expand the Editing geodatabase and open the feature class
properties for the R2Trails feature class.
In the Default Values and Domains section, scroll down to the TR_Condition field.
______________________________________________________________________________
Using the same method, locate the default values for the TR_Condition field for the
remaining two subtypes.
______________________________________________________________________________
______________________________________________________________________________
These are the default values you set for each subtype in a previous exercise. Now, you will
digitize a new feature into each of the subtypes to view the affect of setting default values.
In the Create Features window, select the High Elevation subtype and set the Construction
Tool to Line.
The new trail is automatically selected, indicating that it is a new feature. Now would be a good
time to update its attributes.
Notice the TR_Condition field is automatically set to the default value Dirt, loose rock.
If necessary, dock and auto hide the Attributes window so you can see the feature on the
map.
Click the Edit Tool and click in any empty area to unselect the new trail.
The new trail is now the color of the high elevation subtype.
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.
Click Yes when asked if you want to change the default attributes for the feature.
______________________________________________________________________________
When you change a feature's subtype, any default values associated with that subtype are also
changed. Getting into the habit of setting default values can save you time and reduce your
editing workload. Next, you will look at an option that allows you to change the way domains
and subtypes display in the attribute table.
______________________________________________________________________________
Uncheck Display coded value domain and subtype descriptions, and click Apply.
______________________________________________________________________________
Notice that the Elev_Class field now only shows 1, 2, or 3, the original integer values for this
field. Remember that a subtype field must be defined as an integer field. Once you create
subtypes within a feature class, the user sees the description, not the code. You can use either
method, but sometimes it makes more sense to see the description.
Check Display coded value domain and subtype descriptions and click OK.
Turn off the R2Trails layer and turn on the R2Veg layer.
You will start editing relationship classes by adding a new vegetation polygon.
There should not be any gaps between polygons in this feature class, so you need to make sure
that the polygon you digitize is adjacent to others.
On the Snapping toolbar, click the point , end , and vertex buttons to enable
only edge snapping.
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.
The new polygon is added adjacent to the existing polygons and is selected.
Note: The ID number for your feature may differ from the one in the following graphic.
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
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.
______________________________________________________________________________
______________________________________________________________________________
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.
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.
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.
Field Value
PARTITION_TYPE Watershed
PARTITION PASPXX
ENTERED_BY <enter your name>
ENTERED_DATE <enter today's date>
ASPECT_CLASS South West
SLOPE_PERCENT 43
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.
With your new polygon still selected, open the attribute table for the R2VEG layer and
view only the selected record.
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.
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
OLD_GROWTH_SOURCE Walk Through
Next, you will delete a polygon in the R2VEG layer and see how the relationship class manages
the related records. First, you will explore the cardinality between the polygon and the related
species records.
Open the Attributes window and navigate to the ToSpec relationship class label.
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?
______________________________________________________________________________
______________________________________________________________________________
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.
Open the R2VEG layer's attribute table and open the ToSpec relationship label.
______________________________________________________________________________
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.
From the Table Options menu, choose Related Tables, then click R2VegCOVToSpecies :
ToSpec.
______________________________________________________________________________
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.
From the Editor menu, choose Stop Editing, then click Yes to save your edits.
Lesson review
1. How would you use attribute validation rules within your own data and workflows?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Watershed
West
The VEG_LINK field is the primary key and is currently set to null. A VEG_LINK value
will have to be entered before adding records to the relationship.
10. Is the relationship class between R2VEG and the R2VEG_SPECIES table simple or
composite?
Composite
In a composite relationship, if the parent records are moved or deleted, the related child
records are also deleted.
36977
36968
14. Do you think deleting the polygon affected those tables as well?
Lesson review
1. How would you use attribute validation rules within your own data and workflows?
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
8-1
Geodatabase annotation
Key terms
Term Definition
Labels A dynamic text property of a layer. Labels are stored in a map
document or as a layer property if the layer is saved to a .lyr file. Labels
cannot be edited or moved individually.
Annotation In ArcGIS, text or graphics that can be individually selected, positioned,
and modified. Annotation may be manually entered or generated from
labels. Annotation can be stored as features in a geodatabase or as
map annotation in a data frame.
Standard Text stored in the geodatabase that can be edited or individually moved.
annotation This type of annotation is not linked to a feature.
Feature-linked Text stored in the geodatabase that is linked to a feature through a
annotation relationship class. This type of annotation can be edited and individually
moved and if the feature it is linked to is edited or moved, the annotation
is as well.
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:
▪ Has properties for reference scale and symbology.
▪ Can be edited just like features.
▪ Can be two types - standard and feature linked.
Standard annotation is stand-alone text that is not related to features while feature-linked
annotation is directly related to a feature using a relationship class. When a feature is moved or
edited, then the annotation is as well.
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.
▪ When a new feature is created, a new annotation feature is automatically created.
▪ If you move a feature, the annotation feature moves with it.
▪ If you change the attribute of a feature that the annotation text is based on, the
annotation text changes.
▪ If you delete a feature, the annotation feature is also deleted.
Labels Annotation
Dynamically placed Static: Manually positioned
Managed as a group Managed individually
Stored in map document or layer file Stored in map document or geodatabase
Always linked to feature May or may not be linked to feature
Scale dependent Not scale dependent
Labels or annotation?
Below are some tips on when to use each option for placing text on a map.
In this exercise, you will work with geodatabase annotation, a specialized feature class stored in
a geodatabase. You will create annotation in two ways: first by converting labels in ArcMap;
second, by creating a new annotation feature class. Once you create the annotation feature class,
you can edit and create annotation using the standard ArcMap editing environment.
In this exercise, you will:
▪ Convert labels to geodatabase annotation.
▪ Create a new annotation feature class.
▪ Edit and create annotation in ArcMap.
Labels have already been created for the roads in Riverside, California. Several label classes,
which allow you to label a group of features a certain way, have been created in the Roads
layer. Each label class is defined by an SQL query. You will examine the properties of these
labels, including their SQL queries, before you convert them to annotation. You could do this
through the Layer Properties dialog box, but for this exercise you will use the Label Manager.
Right-click the Layers data frame, choose Labeling > Label Manager.
The Label Manager allows you to view label properties for all layers in the active data frame at
the same time. In the Layer Properties dialog box, you can only few properties for one layer at a
time. For this reason, the Label Manager is a more efficient method for working with labels in
ArcMap.
You can create label classes like these to label subsets of features in a layer. For each label class,
you can specify a different label field, symbol, scale range, label placement options, and an SQL
query that defines which features go into the class.
In the Label Manger dialog box, you see four label classes in the Roads feature class.
When you click a label class, the properties for that class display on the right side of the dialog
box.
______________________________________________________________________________
Click the Major Road label class, then click SQL Query.
______________________________________________________________________________
Click each label class and notice that Interstate and US Highway use a highway shield
symbol.
Use the Pan tool to position the interchange between Interstate 91 and US Highway
60 in the center of the map display.
ArcMap dynamically adjusts the labels to fit the display as you pan and zoom around the map.
You can, however, lock labels in place, which will keep all the labels in the same locations
relative to their associated features.
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.
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.
In the Convert Labels to Annotation dialog box, make sure the following parameters are
set:
▪ For Store Annotation, choose In a database.
▪ For Create Annotation For, choose All features.
▪ Feature Linked is checked.
▪ Convert unplaced labels to unplaced annotation is checked.
▪ Annotation Feature Name is RoadsAnno.
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.
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.
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
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.
Next, you will look at the relationship class created automatically when you created
feature-linked annotation.
Note: The name of your relationship class may differ slightly from the one in the
following graphic.
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
composite relationship classes created through feature-linked annotation. You can change this
name without affecting the behavior or the relationship class.
Right-click Anno_9_# (your numeric value may differ) and choose Rename.
Now the relationship class has a more meaningful name. Next, you will edit annotation features
in ArcMap.
Because geodatabase annotation is stored as a feature class, you have to be in an edit session to
create new or modify existing annotation.
Next, you will create new annotation using the appropriate Annotation Construction Tools.
In the Create Features window, select the Minor Road Annotation template.
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.
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.
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.
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.
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.
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.
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.
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.
For now, you will not change any of the attributes, but you will explore some of the options.
These are domains. You learned about domains earlier in this course. The software created
domains for you when you created the annotation.
______________________________________________________________________________
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.
From the Editor menu, choose Editing Windows > Unplaced Annotation.
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.
You can place all unplaced annotation this way. All unplaced annotation are stored in the
geodatabase and can be placed at any time.
Zoom out and use the Edit Annotation tool to adjust the placement of the new annotation.
Next, you will see what happens to feature-linked annotation if you delete a feature.
With the Edit tool, select the street you just created annotation for.
When the road is deleted, the annotation is also deleted, because this is a composite relationship
class.
Click the Undo button again to return the feature and its annotation to their original
positions.
Annotation that moves and gets deleted with the feature is a product of feature-linked
annotation. Standard annotation does not behave in this manner.
Click the New Map File button and choose Yes to save your changes to the current map
document.
On the first panel of the New Feature Class wizard, for Name, type ParksAnno.
For Type, click the drop-down menu and choose Annotation Features.
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.
Click Next.
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.
Click Next on the configuration keyword panel to get to the final panel.
The final panel shows you the fields that will be in the new annotation feature class. You could
set default values and apply domains from here, just like regular feature classes, but for now,
you will accept the defaults.
Click Finish.
ParksAnno, as well as another relationship class, is added to the LandBase feature dataset. The
relationship class is named according to the convention you learned about earlier: feature class
IDs.
Next, you will add some annotation to the new annotation feature class in ArcMap.
In the Create Features window, select the Default template under ParksAnno.
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?
______________________________________________________________________________
______________________________________________________________________________
Hover the Sketch tool over the park to the right of Nichols Park and press the W key on
your keyboard.
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.
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.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
"Name" = '91'
"CLASS" = 3
3. The type of relationship is listed as composite. How does this affect the features involved in
this relationship class?
Features in the destination table will be deleted if a feature in the origin table is deleted.
Further, if you move an origin feature in an ArcMap editing session, the destination
feature will also move.
Coded value
5. What does pressing the W key on your keyboard do when you are adding annotation?
It pulls the text from the annotation field for the feature you are hovering the cursor
over. This text will be added when you click the feature on the map.
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.
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
9-1
Geodatabase topology
Key terms
Term Definition
Topology In geodatabases, the arrangement that constrains how point, line, and
polygon features share geometry. For example, street centerlines and
census blocks share geometry, and adjacent soil polygons share geometry.
Topology defines and enforces data integrity rules (for example, there
should be no gaps between polygons). It supports topological relationship
queries and navigation (for example, navigating feature adjacency or
connectivity), supports sophisticated editing tools, and allows feature
construction from unstructured geometry (for example, constructing
polygons from lines).
Coincident In a geodatabase, how the coordinates of coincident features are stored.
geometry For example, if two lines are coincident, they will both be drawn in ArcMap,
with one line lying precisely on top of the other. For two adjacent polygons,
the coordinates for the shared boundary will be stored with each polygon
and the boundary will be drawn twice.
Cluster The minimum tolerated distance between vertices in a topology. Vertices
tolerance that fall within the set cluster tolerance are snapped together during the
topology validation process.
Dirty A part of the topology that has yet to be validated.
areas
Using the map of New York City above, list some examples for each of the following spatial
relationships.
1. Adjacency _________________________________
Coincidence ____________________________________________________
____
Connectivity _____________________________________
Containment __________________________________________________
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.
Not Validated
You have create a new topology, but you decide not to validate it right
away. Areas in the topology that have not been validated are called
dirty areas and are symbolized with hatched rectangles.
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.
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.
In this exercise, you will work with coincident geometry. Coincident geometry is necessary to
maintain adjacency and connectivity between map features. Once you understand how the
geodatabase stores this geometry, you will create a geodatabase topology and explore its
properties in ArcMap.
In this exercise, you will:
▪ Explore coincident geometry.
▪ Create a geodatabase topology.
▪ Examine the properties of a geodatabase topology.
▪ Work with a topology in ArcMap.
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.
One of the simplest ways to explore coincident geometry is to toggle layers off and on. When
you do this, you can see which features from different layers share coordinates.
Notice that each lot is divided by a black lot line on the map.
______________________________________________________________________________
Notice that the blue line that represents a right of way in the Lot Lines layer is coincident with
the red boundary of the right of way in the Lots layer. Also, notice that the black lot lines are
coincident with the black boundaries of the lots. Another way to see coincidence is to change
symbology.
In the table of contents, in the Lot Lines layer, click the black line next to Lot Line.
Toggle the Lot Lines layer off and on again to see the difference.
With different symbology, it is more obvious that there is coincident geometry between the lots
and the lot lines. Next, you will perform some simple edits to see coincident geometry.
Select the polygon in the lower-left corner of the map as shown in the following graphic.
Click anywhere in the white area of the map to clear the selection.
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
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.
Right-click the Assessor feature dataset and choose New > Topology.
The name of the topology defaults to <feature dataset name>_Topology. You can accept the
default name or change it.
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.
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.
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.
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.
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.
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.
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.
Click OK.
Using the skills you just learned, add the following two rules:
▪ LotLines Must Not Have Dangles
▪ Lots Must Not Have Gaps
Click Next.
Verify that the summary of your topology matches the following graphic. If it does not, go
back and make any necessary changes.
Validating a topology applies the cluster tolerance according to the set ranks and checks for
violations of topology rules.
Note: You can validate the entire topology in ArcMap or ArcCatalog. If you validate in
ArcMap, you have three options for validation extent and you can undo the
operation. If you validate in ArcCatalog, you can only validate the entire topology
and there is no undo.
In the Catalog window, in the Topology.gdb, expand Assessor to view the new topology.
These are general properties of the topology, such as name and cluster tolerance. Notice you can
change both at this point. It also tells you that the topology has been validated and that errors
exist.
This tab lists the feature classes in the topology and their current ranks. From here, you can add
another feature class to the topology or modify the ranks.
The Rules tab lists the current topology rules. You can add and remove rules at any point. You
can also save the current rules to a file or load other rule files.
The Errors tab allows you to create a report of the rule violations and rule exceptions.
Validation must precede generating a summary.
The error summary describes how many errors are present and which rules have been violated.
Next, you will display the topology in the table of contents. Remember, errors or topology rule
violations, are symbolized in red. Errors are stored inside the topology and are most useful
when displayed in ArcMap.
In the Catalog window, drag and drop Assessor_Topology onto the map display.
Click Yes when asked if you want to add all of the participating feature classes to the map.
All the feature classes that participate in the topology are added to the map and symbolized
based on subtypes. In addition to these layers, there is a group layer named Assessor_Topology
that represents the topology. By default, the error symbols for points, lines, and polygons are
displayed in the table of contents. You can change which properties of the topology display in
the map. For example, you may want to see all dirty areas and exceptions. Next, you will
modify the display of the topology.
Topologies have symbology properties just like other layers. Notice that exceptions and dirty
areas do not display by default.
There are currently no exceptions in this topology so you don't need to display them. You will,
however, choose to display dirty areas.
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.
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 , then click the lot in the lower-left corner
of the map to select it.
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.
______________________________________________________________________________
Notice the external boundary of the data is considered to be a gap error. It is only considered to
be an error because there is a huge gap (the white space) adjacent to the external polygons. You
can mark errors, such as these, as exceptions. You will do that in a moment.
From the Topology toolbar, click the Validate Topology In Specified Area button .
Click and drag a box that covers only half of the dirty area.
______________________________________________________________________________
From the Topology toolbar, click the Validate Topology In Current Extent button .
Notice there are three ways to validate in ArcMap. You can validate the entire topology, in a
specified area, or in the current display extent. At times, topologies can be very complex with
thousands of features and complicated relationships. In these situations, you may want to
validate the entire topology first and then only validate in a specified area or within a zoomed in
extent in ArcMap as edit the data..
From the Topology toolbar, click the Fix Topology Error tool .
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.
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.
Click Line Exceptions to select it and view its symbology on the right.
In the Symbol Selector dialog box, click the Major Road line symbol.
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.
Lesson review
1. List and describe some advantages of using a geodatabase topology.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Yes
2. Why are LotLines, SurveyMonuments, and Lots the only three feature classes in the list?
They are the only feature classes inside the Assessor feature dataset.
Only the covered half of the box was validated and cleared of the dirty area.
Lesson review
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
10-1
Editing using geodatabase topology
Building on the knowledge gained in the previous exercise, you will further explore how a
topology can be used to locate and quickly fix errors. In this exercise, you will create a topology
that makes use of seven topology rules to define valid spatial relationships between your feature
classes. You will create and validate the topology and then you will locate and fix the error
types introduced by your rules using ArcMap's topology editing tools.
In this exercise, you will:
▪ Create a topology.
▪ Use the Error Inspector to locate and fix errors.
▪ Use the Topology Edit tool to fix errors.
Right-click the Assessor feature dataset and choose New > Topology.
Rules:
▪ Monuments...Must be covered by endpoint of...LotLines
▪ LotLines...Must not have dangles
▪ LotLines...Must not intersect or touch interior
▪ LotLines...Must be covered by boundary of...Lots
▪ Lots...Must not overlap
▪ Lots...Must not have gaps
▪ Lots...Boundary must be covered by...LotLines
For the remainder of this exercise, you will use a prepared map document and topology editing
tools to fix these errors.
The new map document references the data in City.gdb. You created a topology in the Assessor
feature dataset at the beginning of this exercise.
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.
Note: You can press and hold the Shift key on your keyboard and click each
error.
In the Error Inspector window, you can apply standard fixes to a group of selected errors at one
time.
Notice the built-in fixes for dangles: Snap, Extend, and Trim.
You should be zoomed in on the five dangle errors in the map. You will apply the same fix to
the four undershoots, but first you must remove the overshoot from the selection because the fix
you are going to apply a different fix to that error.
In the Error Inspector, press and hold down the Ctrl key on your keyboard, and click the
first Must Not Have Dangles error in the list.
This will unselect the overshoot in the Error Inspector and in the map.
Note: The Snap Tolerance units you set are in map units, which, in this case, are feet.
When working with your own datasets, you could use the measure tool to
determine the most appropriate value to be entered for the Snap Tolerance.
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.
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 .
In the Error Inspector, make sure that Visible Extent only is checked and set Show to
<Errors from all rules>, then click Search Now.
The Error Inspector shows only the errors in the visible extent. All of them are caused by the
remaining dangle (overshoot).
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.
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.
On the Selection tab, click Clear All and then select only the two rules shown in the
graphic below.
In the map, drag a box over the remaining dangle to select it.
Only the line is selected because of the selection constraint you just set.
Now that you have selected an error caused by a single rule violation, the context menu offers
you a fix for that error.
Choose Subtract.
This subtracts, or deletes, the overshoot portion of the line, fixing the error. You also could have
fixed this error by selecting the dangle and using Trim.
In the Error Inspector, uncheck Visible Extent only and click Search Now to list the
remaining errors.
Open the layer properties dialog box for Assessor_Topology and click the Selection tab.
You are now familiar with the basic functionality of the topology editing tools. You will use
them in subsequent steps to fix the remaining errors.
Right-click the Must Not Intersect Or Touch Interior error and click Zoom To.
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.
Note: In the table of contents, click the List by Selection button . From this view,
you can toggle a layer selectable or unselectable, by clicking the selection icon
next to each layer.
______________________________________________________________________________
In the Error Inspector, right-click the Must Not Intersect Or Touch Interior error and
choose Split.
There are now two vertical lines and two horizontal lines. Typically, you would edit the
attributes of the new lines at this point; in the interest of time, you will skip that in this exercise.
Select the lower vertical line to verify there are two lines.
Validate the current extent of the topology and search for errors from all rules.
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.
In the Merge dialog box, click Lots - 127, then click OK.
You merged the overlapping portion with the Lot 127 polygon, creating one polygon.
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
Subtracting quickly fixes the problem by removing the lot line in question.
You have just created two new polygons in the Lots layer using the selected LotLines.
In the Error Inspector, click Search Now to refresh the error list.
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.
To verify that there is no line, you will toggle layers off and on.
Notice there is no black lot line between polygons A and B. This is the cause of the error.
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.
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.
You have successfully fixed all of the topology errors with the help of the Error Inspector and
ArcMap's topology and standard editing tools.
Lesson review
1. List some advantages of editing using a topology.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
2. How can you use geodatabase topology in your current editing workflow?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Yes
Lesson review
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?
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
11-1
Geometric Networks
Key terms
Term Definition
Geometric Edge and junction features that represent a linear network, such as a
network utility or hydrologic system, in which the connectivity of features is based
on their geometric coincidence. A geometric network does not contain
information about the connectivity of features; this information is stored
within a logical network. Geometric networks are typically used to model
directed flow systems.
Logical An abstract representation of a network, implemented as a collection of
network hidden tables. A logical network contains edge, junction, and turn
elements, the connectivity between them, and the weights necessary for
traversing the network. It does not contain information about the geometry
or location of its elements; this information is one of the components of a
network system.
Edge In a network system, a line feature through which a substance, resource,
or traffic flows. Examples include a street in a transportation network and
a pipeline in a sewer system.
Simple A simple edge is always connected to exactly two junction features, one at
edge each end.
Complex A complex edge is always connected to at least two junction features at its
edge endpoints, but it can also be connected to additional junction features
along its length.
Junction A point at which two or more edges meet
Orphan Junctions created by ArcGIS to ensure that all edges have a junction at its
junction 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
Term Definition
Edge to A connectivity rule that defines how an edge may connect to a junction.
junction
connectivity
rule
Geometric network
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.
GasNetwork is a geometric network that has been created for this exercise. The General tab lists
the feature classes that participate in this network. Because the network is being stored in the
NaturalGas feature dataset, only feature classes in this feature dataset can be used in the
network.
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.
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.
When you click this, the Junction subtypes area on the right becomes enabled.
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.
______________________________________________________________________________
2. Which type of meter will be added when you digitize a new service line?
______________________________________________________________________________
Notice that both RES and COM meter subtypes are allowed to be connected to a service line.
Click RES.
In the upper right corner of the dialog box, notice the cardinality.
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.
The bookmark zooms to an area of Wilson that needs some service lines added. Notice the three
parcels that do not have service lines extending from the main line.
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.
If necessary, click the check boxes next to Show Tips, Layer Name, and Snap Type.
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.
In the Create Features window, click the 1" PE Services feature template.
The Line construction tool becomes available for the selected template.
Hover your mouse cursor over the blue distribution main until you see the Snap Tip
display DistributionMains: Edge.
Click one time then move the mouse cursor into the parcel, as shown in the following
graphic.
Because there are connectivity rules set on these feature classes, the meter and fitting are
automatically added when you digitize a 1"PE service line and connect it to a 2"PE distribution
main.
Select the new meter (the box within the parcel at the end of the service line) with the Edit
tool.
______________________________________________________________________________
______________________________________________________________________________
The two valid meters were RES and COM. Remember that IND was not a valid meter type to
connect to service lines. Now you'll see what happens if you change this RES meter to an IND
meter.
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.
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.
Digitize the remaining two service lines into the parcels to the right of the one you were
just working in.
With the Edit tool, select the fitting that connects a service line to the main, as shown in
the following graphic.
______________________________________________________________________________
This should be no surprise; it was set in the network connectivity rules you explored earlier.
Recall that this type of fitting is the only valid connector for these types of lines.
Change the FittingType attribute to be anything other than 2" x 1" Tapping Tee, then
validate the features.
______________________________________________________________________________
Change the type back to a 2" x 1" Tapping Tee and close the Attributes window.
Next, you will remove a connectivity rule and make edits to see the difference.
On the Connectivity tab, choose Services from the first drop-down list.
Now you will experiment with network editing without a connectivity rule for services and
meters.
In the Create Features window, click the 1" PE Services feature template.
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.
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.
Find Path is a network tracing operation that allows you to trace along a geometric network.
This tracing operation will find the path from one flag to the next.
The area you are zoomed in to shows the vault in the upper left corner. The vault plays a special
role in this network.
Notice the AncillaryRole attribute is set to Source. Source indicates that the gas in this network
originates in this vault.
Next, you will calculate flow for the network from the vault you just explored.
From the Utility Network Analyst toolbar, click the Set Flow Direction button .
Flow for the network should now be shown with arrows going from the vault (i.e., source) to the
rest of the network.
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.
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.
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.
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.
Using the Edit tool, select the main right below Raleigh Rd.
______________________________________________________________________________
All network features have the ability to be enabled or disabled. If you change the enabled value
to False, you are essentially telling ArcMap that this network feature is not available for tracing.
All features in a network are enabled by default, so it is up to you to change this value when
necessary. For example, if there was a main break in the network, you could disable the feature
in your geodatabase for as long as the main was out of commission. This would disable it for all
tracing operations. Once the main is fixed, you can enable it again so that it will be available for
tracing.
Change the Enabled value to False and close the Attributes window.
Click Solve.
______________________________________________________________________________
9. Why doesn't ArcMap display the path from the vault to the meter?
______________________________________________________________________________
You can disable features as needed and then enable them when they are available again within a
geometric network. This will help you mimic real-world scenarios within your data. Disabling
features is a database change. All features will remain disabled until you change the value back
to True. There is also a temporary way to disable features in a network. You can set barriers on
either a junction or an edge to mimic a temporary, real-world problem.
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.
Lesson review
1. Explain the benefits of setting network connectivity rules.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
2. Which type of meter will be added when you digitize a new service line?
RES (Residential)
RES
No
No
9. Why doesn't ArcMap display the path from the vault to the meter?
Lesson review
▪ 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.
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.
Geodatabase workflow
Here is a common workflow for working with the geodatabase.
In this self-directed project, you will pull together the skills and knowledge you have gained so
far in this course to create, manage, and edit domains, subtypes, and relationship classes.
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.
Open a blank map document in ArcMap and set the default geodatabase to Behavior.gdb.
1. Which type of field should the trail width field be if you want to be able to store decimal
places?
______________________________________________________________________________
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.
______________________________________________________________________________
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.
Add the R2Trails layer to ArcMap and open the attribute table.
______________________________________________________________________________
The following table will assist you during this entire exercise:
R2Trails
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.
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.
Create subtypes in this feature class using the Width_Class field as the subtype field. Hint:
1 is high elevation, 2 is medium, and 3 is low.
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:
▪ 2 for narrow (high elevation trails)
▪ 6 for medium (medium elevation trails)
▪ 10 for wide (lower elevation trails)
______________________________________________________________________________
______________________________________________________________________________
Create three domains for trail width, using the following table as a guide.
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.
______________________________________________________________________________
______________________________________________________________________________
Using the answer to the previous question, apply the domains you created for trail width.
These codes will become the coded value domain and the descriptions will be what the user sees
when editing in ArcMap.
10. Which type of domain do you think should be created from this table?
______________________________________________________________________________
______________________________________________________________________________
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.
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
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.
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.
The new trail will automatically be added to the default subtype with the Trail_Width field set
to 2.
Change the Trail_Width value to a number that falls outside of the 0-4 range, then validate
the selected feature.
Experiment with setting the Trail_Width value outside of the range for each of the
remaining subtypes, then validate the features.
Setting different domains for different subtypes can give you increased confidence in the data
values being entered. For example, if you were to apply a range domain of 0-12 to the entire
Trail_Width field, there would be a lot more room for error than when you apply a more limited
range to each subtype.
Next, you will work with the relationship classes you created in the previous step.
Turn off the R2Trails layer and turn on the R2VEG layer.
12. Which edit task is used for digitizing polygons that are coincident with existing polygons?
______________________________________________________________________________
Use the answer to the previous question, in conjunction with the Sketch tool, to digitize a
new polygon that is adjacent to neighboring polygons.
Remember that gaps are not permitted within the R2VEG layer, so you have to use the proper
tools to digitize.
13. What do you need to do to this new feature's VEG_LINK value before you can access any
of its related records?
______________________________________________________________________________
Using the answer to the previous question, perform the necessary step that will make this
new feature available for relationship classes.
After the above step has been completed, you need to add a new record to each relationship.
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
Input Workspace Behavior.gdb
Domain Name Attribute Source
Code Value WM
Description Wetland/Riparian Data
Use the Search window to locate and the open the Delete Coded Value From Domain
tool.
In Behavior.gdb, delete the CF domain code and description from the AttributeSource
domain.
In ArcMap, verify that your new polygon is selected and that the Attributes window is
open.
Expand the selected feature and the R2Veg to Poly relationship class.
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.
Close ArcMap.
In this self-directed project, you will work with utilities data to create a geometric network.
Portions of this exercise are similar to the geometric networks exercise you completed earlier in
this course. This project, however, will not provide you with detailed instructions for how to
perform each step. If necessary, you can refer to previous exercises. Detailed instructions are
provided at the end of the exercise.
Before you create the network, you must create a geodatabase, import shapefile data into it, and
organize it properly into feature datasets. After you create the network, you will add
connectivity rules and work with them in ArcMap.
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.
______________________________________________________________________________
Using the answer to the previous question, create the geodatabase element required for
networks. It should have the following properties:
▪ Name: Water
▪ Import coordinate system from:
..\Student\BLDG\Exercise12\Networks\Corvallis_WaterMains.shp
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?
______________________________________________________________________________
Now that you have imported data into the geodatabase, you can add geodatabase behavior.
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.
5. Does Fittings contain a calculated short integer field that you can use to create subtypes?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Subtypes will categorize the fittings based on type. After subtypes are created, you can use them
for display, editing, and creating additional behavior.
______________________________________________________________________________
______________________________________________________________________________
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.
______________________________________________________________________________
To prepare this new field for subtypes, you will select a certain type of fitting, then calculate the
integer field for the selected fittings to set the subtype code. First, you must summarize the
FittingTyp field to see how many types of fittings are available in this feature class. You will
perform the summary and all calculation operations in ArcMap.
Summarize the FittingTyp field and create a new table named FittingTypes in
Corvallis.gdb.
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.
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 2
12 x 6 Tapping Tee 3
4 x 4 Tapping Tee 4
6 x 4 Tapping Tee 5
6 x 6 Tapping Tee 6
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.
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.
Use the following table to create integer codes for each type of meter based on the
CUSTTYPE field:
CUSTTYPE MeterType
C 2
P 1
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.
______________________________________________________________________________
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:
▪ FittingTypes summary table
▪ FittingClass field values
▪ FittingTyp field
▪ Table preview
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.
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.
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.
______________________________________________________________________________
13. If you want to apply a domain to a text field, which field type should the domain be set to?
Why?
______________________________________________________________________________
______________________________________________________________________________
You will now create a list of valid values for main diameter.
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 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.
The import brought across the original schema for the WaterMeters feature class in addition to
the domain you need.
______________________________________________________________________________
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.
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.
______________________________________________________________________________
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.
______________________________________________________________________________
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:
▪ WaterMainDiameter domain to NOM_DIAM
▪ MainMaterial domain MATERIAL
▪ LengthDomain to LENGTH
Apply the METER_SIZE domain to the appropriate field in WaterMeters.
You have created four domains in the Corvallis.gdb geodatabase. There are other domains you
could create in this geodatabase, but for now, you will only create these four. While these
domains have been applied to various feature classes, they can also be applied to additional ones
in the future. These domains can be used in ArcMap to facilitate attribute editing and will help
maintain consistency in data entry.
19. Are geometric networks created directly in the geodatabase or in a feature dataset?
______________________________________________________________________________
Create a new geometric network in the proper location using the following properties:
▪ Use existing features.
▪ Keep the default name of Water_Net.
▪ Choose Yes to snap features within specified tolerance.
▪ Include all feature classes and then uncheck Hydrants and Valves so they are not in
the network. (they are not all connected to the laterals and mains so you will get
errors if you include them)
▪ Make the TreatmentPlant feature class a source by choose Yes under Sources & Sinks
and make WaterMains a Complex Edge by choose Yes under Role.
▪ Do not apply weights.
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.
______________________________________________________________________________
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.
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.
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.
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.
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.
This map contains symbolized water network and parcel data for an area in Corvallis, Oregon.
There are several bookmarks in this map document that zoom to areas that need to be edited.
Each bookmark is named according to the type of feature or edit you will be making.
This bookmark zooms to an area of Corvallis where a 4" lateral needs to be digitized.
23. Which type of snapping should be set, considering you are digitizing a lateral and want to
connect it to a main?
______________________________________________________________________________
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?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
28. Why is the MeterType value set to Private and not Commercial?
______________________________________________________________________________
Navigate to the 12" x 6" Tapping Tee and COM meter bookmark.
29. How could you verify that the large parcel shown in this bookmark is zoned for commercial
use?
______________________________________________________________________________
Using the answer to the previous question, verify that this parcel is zoned for commercial
use.
You want to add a 6" lateral for this large commercial parcel.
______________________________________________________________________________
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?
______________________________________________________________________________
Connectivity rules help you keep your data relationships and connections consistent, but it is
good practice to validate any new features you add to ensure they are following the rules you
have set.
There are two more edits that need to be made. For each of those edits, there is a bookmark.
The bookmarks are titled: 12" x 4" Tapping Tee and 6" x 6" Tapping Tee.
Using the skills you just learned, navigate to the remaining two bookmarks, digitize a
lateral, and verify the fitting type and meter type are correct. Make sure you set the
template to the proper subtype of Laterals.
You have just edited geometric network data that you built from shapefiles using connectivity
rules. Connectivity rules are not available outside a geodatabase.
In this self-directed project, you will work with parcel data to create a geodatabase topology and
other behavior rules. This project will not provide you with detailed instructions. If necessary,
you can refer to previous exercises. Detailed instructions are also provided at the end of the
exercise.
In this exercise, you will:
▪ 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.
Make a new file geodatabase in the Cadastral folder and name it Corvallis.
______________________________________________________________________________
Create the appropriate geodatabase element in Corvallis.gdb, using the coordinate system
for Corvallis_Parcels.shp.
2. How would you set this property if you didn't have data from which you could import a
coordinate system?
______________________________________________________________________________
You want to transfer the data from Corvallis_Parcels.shp into your feature dataset.
______________________________________________________________________________
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.
______________________________________________________________________________
Explore the data to determine which type of field ZONE_CD is in the Parcels feature
class.
______________________________________________________________________________
Create a new domain named ZoneCode and give it a description of Domain for zone
codes.
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.
______________________________________________________________________________
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.
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.
You will validate the topology when you add it to ArcMap in the next step.
In ArcMap, create a blank map and do not save the current map.
Add your topology to the new map document; include all participating feature classes.
______________________________________________________________________________
10. Which dialog box do you need to open to view a summary of the errors discovered during
validation?
______________________________________________________________________________
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?
______________________________________________________________________________
The topology no longer views this gap as an error. Exceptions are stored in the geodatabase.
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.
______________________________________________________________________________
In the Error Inspector, right-click the error and choose the appropriate fix for this overlap.
______________________________________________________________________________
18. How can you get rid of this dirty area and make sure your edit did not create additional
errors?
______________________________________________________________________________
19. What should you do with the parcel in the middle of the road?
______________________________________________________________________________
Using the answer to the previous question, perform the necessary operation on this parcel.
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?
______________________________________________________________________________
______________________________________________________________________________
Using the answer to the previous question, select the appropriate tool and fix this gap.
______________________________________________________________________________
If any external boundaries are viewed as errors, fix them as you did before.
______________________________________________________________________________
Create annotation from the labels and verify that feature-linked annotation is being created
for all features and is being stored in the database as ParcelsAnno.
25. Why is there a relationship class when you did not explicitly create one?
______________________________________________________________________________
Now you have annotation created for Parcels. If you were to add any new parcels, annotation
would automatically be created for them.
______________________________________________________________________________
______________________________________________________________________________
Select the appropriate tool and digitize a new parcel in the southwestern section of the
map.
Notice this field is <Null>. Once you set a value for it, the annotation will be created and
displayed automatically.
______________________________________________________________________________
Right-click the ACRES field and choose Calculate Geometry to calculate this field.
Modify the annotation so that only three decimal places are visible.
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.
An important part of a cadastral dataset is parcel lines, which store the bearings and distances of
the parcels, as taken from a plat or deed. One of the tools in ArcToolbox will create lines from
polygons so you don't have to manually create them.
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?
______________________________________________________________________________
______________________________________________________________________________
Based on the answer to the previous question, fill in the tool's parameters.
Using a geoprocessing tool, you have created parcel lines from existing parcel polygons and
saved yourself a lot of digitizing.
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?
______________________________________________________________________________
Make the rank for ParcelLines higher, which marks it as more accurate than the rank for
Parcels.
Now that there is an additional feature class in this topology, you can create more complex
rules.
33. What other spatial relationships are now present with the addition of lines?
______________________________________________________________________________
Notice that there are nine gap errors present. These are the same errors you marked as
exceptions in the last 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.
Close ArcMap.
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.
Lesson review
1. Explain the geodatabase workflow you used to complete the project.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
1. Which type of field should the trail width field be if you want to be able to store decimal
places?
Float
Subtypes
3. Which type of field must the table contain if you want to create subtypes?
An integer field
4. Is there a field that you can use to create a width subtype and, if so, which field?
No. However, there is an integer field available for subtypes based on elevation.
Range
Float
Apply it to a subtype.
10. Which type of domain do you think should be created from this table?
Coded values
Text
12. Which edit task is used for digitizing polygons that are coincident with existing polygons?
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
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 data; this will transfer schema and all features.
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?
Yes; LateralSiz
5. Does Fittings contain a calculated short integer field that you can use to create subtypes?
No; the Id field is an integer field, but it is not calculated according to values in
FittingTyp.
It would be more effective to create subtypes. Fitting types will then display differently in
ArcMap and, because you can edit each subtype independently, you can use them to
create connectivity rules.
Text
ArcMap
11. Which field did you create and calculate for subtypes in the WaterMeters feature class?
MeterType
13. If you want to apply a domain to a text field, which field type should the domain be set to?
Why?
Text; a domain can only be applied to fields of the same type as the domain.
Double
15. Which kind of domain should this be, range or coded values?
Coded values
Double
Range
19. Are geometric networks created directly in the geodatabase or in a feature dataset?
Geometric networks
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?
Edge-junction
22. What can you set if you know that one type of meter will be more common than another for
newly added features?
You can set the most common type of meter to the default.
23. Which type of snapping should be set, considering you are digitizing a lateral and want to
connect it to a main?
24. With the lateral size in mind, what should you set the Editor template to?
Laterals: 4"
25. Why were a fitting and meter added when you digitized a lateral?
Because of the edge-edge connectivity rules, a fitting is added at the connection point
and, due to edge-to-junction rules, a meter is added at the end of the lateral.
Private
28. Why is the MeterType value set to Private and not Commercial?
When setting the edge-junction connectivity rule for Laterals and WaterMeters, you set a
Private meter as the default.
29. How could you verify that the large parcel shown in this bookmark is zoned for commercial
use?
Laterals 6"
31. Why is the meter type set to Private and not Commercial, given the fact that the parcel is
zoned COM?
The connectivity rule default is Private, but Commercial is still a valid choice.
Feature dataset
2. How would you set this property if you didn't have data from which you could import a
coordinate system?
Select one from the list of existing coordinate systems, provided you know which one to
pick.
Import
Text
6. Based on the contents of the ZONE_CD field, should this be a range or coded values
domain?
Coded values
8. Which topology rules are applicable for this one polygon feature class?
10. Which dialog box do you need to open to view a summary of the errors discovered during
validation?
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?
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?
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?
Merge
18. How can you get rid of this dirty area and make sure your edit did not create additional
errors?
19. What should you do with the parcel in the middle of the road?
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?
Parcel 244 - if you merge it with the other parcel, its area will be affected. If you merge
with 244, it will not be.
25. Why is there a relationship class when you did not explicitly create one?
It is a user-added field and does not get automatically updated like ShapeArea or
ShapeLength.
28. Which tool in the Features toolset can be used to create parcel lines from the existing
parcels?
Polygon To Line
Parcels
30. Are you able to add a feature class to a topology once it has been created?
Yes
31. Where will you add this new feature class to the topology?
Topology properties
32. Which tab has the functionality to add feature classes to this topology?
33. What other spatial relationships are now present with the addition of lines?
Lines and polygon boundaries should cover each other, lines should not dangle or
intersect.
Lesson review
In the Catalog window, navigate to the Behavior.gdb and open the properties for R2Trails.
Click the Fields tab.
Scroll to the first empty row and type Trail_Width for Field Name.
Because you want to be able to store decimal places in your trail widths, this field should be a
Float field.
For Data Type, click in the cell and choose Float from the list.
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.
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.
In the Catalog window, drag and drop the R2Trails feature class onto the map display.
R2Trails
Scroll to the far right and locate the two fields you just added.
In the Select By Attributes dialog box, build the following expression: "Elevation" =
'High'.
Click Apply.
Click OK.
In the table, notice the selected records have been calculated as 1 for the Width_Class field.
In the Select By Attributes dialog box, alter the query to read "Elevation" = 'Medium'
and click Apply.
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.
Now, you are ready to create subtypes using the values you just calculated.
In the Catalog window, open the properties for R2Trails and click the Subtypes tab.
While creating subtypes, it is important to match the subtype codes you create with the integer
codes you calculated in the table.
In the Subtypes section, type 1 for Code and type Narrow for Description.
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, 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.
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.
Open the properties for Behavior.gdb and click the Domains tab.
Scroll down until you find the first empty cell for Domain Name and type
HighElevationWidth.
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.
Select the new domain and change its Field Type to Float, its Minimum value to 5, and its
Maximum value to 7.
Click Apply.
The next thing you want to do is apply the domains you just created. Earlier, you learned that
you can apply domains to fields or subtypes.
In the Catalog window, open the properties for R2Trails and if necessary, click the
Subtypes tab.
In the Default Values and Domains section, scroll to the bottom and locate the
Trail_Width field.
Click Apply.
Select the second subtype, Medium, and set its Trail_Width domain to
MediumElevationWidth and click Apply.
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.
Right-click the AttributeSource table in the table of contents and choose Open to view the
codes and descriptions.
Next, you will use a geoprocessing tool to automatically convert these codes and descriptions
into a coded value domain.
Note: If the Search window is not docked, open it by clicking the Search window button
on the Standard toolbar. By default, it will dock on the right side of the
ArcMap interface.
Select Tools, type Table to Domain. then click the Search button .
Drag and drop the AttributeSource table from the Catalog window into the Input Table
parameter.
For Code Field, click the drop-down list and choose CODE.
For Description Field, click the drop-down list and choose DESCRIPTIO.
Click OK.
Now, you will verify that the domain was added to Behavior.gdb.
On the Domains tab, locate the AttributeSource domain on top of the list.
In the Coded Values section, scroll through the various codes and descriptions that were
converted from the AttributeSource table.
Open the properties for the R2VEG_POLY table and click the Fields tab.
In the Field Properties section, click the empty cell for Domain.
Choose AttributeSource.
Click OK.
The various descriptions you converted from the AttributeSource table will now be available for
this field when editing in ArcMap.
Set the Origin table/feature class to R2VEG feature class (in R2VegFD).
Because you want to have a dependent relationship between the records in R2VEG and
R2VEG_POLY, choose Composite relationship and click Next.
Set the forward label to R2Veg To Poly and the backward label to Poly To R2Veg.
Verify that you are not creating attributes for the relationship and click Next.
Set the primary and foreign key fields to VEG_LINK, then click Next.
Click Finish.
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
Messaging direction Forward
Cardinality 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.
In ArcMap create a new, empty map and add the following layers:
▪ 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.
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.
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.
This value falls outside of the range (0-4) you set for a narrow trail.
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.
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.
These values appear to be domains, but they are the subtypes you built in R2Trails. The
database is storing integer values ranging from 1-3 in this field, but when you are editing in
ArcMap, you see the subtype descriptions you entered.
Notice the Trail_Width value changed to 10, the default value for a Wide trail. Changing the
subtype field will change all defaults associated with it.
Next, you will work with the relationship classes you created in the previous step.
In the Create Features window, select the R2Veg template and set the Construction Tool
to Auto Complete Polygon.
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:
Before you can add any related records in other tables, you need to update the VEG_LINK
value in the origin table (R2VEG).
For VEG_LINK, type 555555 (a generic number for this exercise) and press Enter.
Each relationship class is present, but there are no related records yet. You have to manually
add them here or in the attribute table.
The values listed here were imported from a geodatabase table using a geoprocessing tool.
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 .
Parameter Value
Input Workspace Behavior.gdb
Domain Name Attribute Source
Code Value WM
Code Description Wetland/Riparian Data
In the Search window, search for Delete Coded Value from Domain.
Delete the CF domain code and description from the AttributeSource domain.
In ArcMap, verify that your new polygon is selected and that the Attributes are open.
In the Attributes window, expand the selected feature and the R2Veg to Poly relationship
class.
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.
The shapefiles shown here will be used to create a geometric network. In order to create the
network, you must first create a geodatabase.
Notice that the coordinate system from the shapefile has been imported into the feature dataset.
Click Next, then click Next again for vertical coordinate systems.
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).
Click OK.
Now that you have imported data into the geodatabase, you can add geodatabase behavior.
From within the Catalog window, drag and drop Fittings in the table of contents.
Right-click Fittings and select Open Attribute Table to view the fitting type.
The FittingTyp field contains information that describes which type of fitting is present. Notice
that there are a variety of tapping tee sizes within the fittings feature class table.
Subtypes will categorize the fittings based on type. Once subtypes are created, you can use them
for display, editing, and creating additional behavior.
In the Catalog window, open the properties for Fittings and click the Fields tab.
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.
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.
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.
Click Save.
Click OK, then click Yes to add the new table to the map.
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.
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 Select By Attributes dialog box, change the expression to: "FittingTyp" = '12 x 4
Tapping Tee' and click Apply.
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 3
4 x 4 Tapping Tee 4
6 x 4 Tapping Tee 5
6 x 6 Tapping Tee 6
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.
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.
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 1
C 2
Click the New Map File button on the Standard toolbar to create a new blank map
document. Make sure Corvallis.gdb is the default geodatabase.
In the Catalog window, right-click the Fittings feature class and choose Properties.
This becomes the first subtype. You will create the remaining subtypes based on the codes you
assigned in the previous step.
In the Subtypes section, set your subtypes to match the following graphic.
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.
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.
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.
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.
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.
For Domain Name, type WaterMainDiameter; for Description, type Water Main
Diameter.
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 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 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.
For Specify the XML source to import, click the Browse button.
Click Next.
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 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.
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.
For Code and Description, enter the following information from the table.
Next, you will create another domain for length. In this case, it will be a range domain that can
be applied to many feature classes in this geodatabase.
Click in the first empty cell under Domain Name and type LengthDomain.
For FieldType, choose Double and for Domain Type, choose Range.
For Minimum value, type 0 and for Maximum value, type 2000, then click OK.
Now that you have created the domains, you will apply them to fields in various feature class
tables.
Click NOM_DIAM.
In the Field Properties section, click the empty cell next to Domain and choose
WaterMainDiameter, then click Apply.
Click the MATERIAL field and assign the MainMaterial domain, then click Apply.
Click the LENGTH field and apply LengthDomain to it, then click OK.
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.
Click OK.
Verify that TreatmentPlant is now a feature class within the Water feature dataset.
Keep the default name of Water_Net, click Yes to snap the features and then click Next.
Click Select All to involve all feature classes in this network, click Next.
Click within the Sources and Sinks column of the Treatment Plant and choose Yes.
Click Next.
In the Water feature dataset, you should see the geometric network and default junctions feature
class.
Note the new field named Enabled. This field is added by ArcCatalog to all network feature
classes. It determines whether a network feature is available for tracing or not.
Click Cancel.
Notice the Enabled field for this feature class as well. In addition to Enabled, there is another
field named AncillaryRole. This field indicates whether something is a source or sink in a
network.
Click Cancel.
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.
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.
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.
A private meter will be added automatically when you add a new lateral.
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.
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.
Next, you will create the same rule for 6" laterals.
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.
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 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.
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 Junction Subtypes section, check the box for 12" x 6" Tapping Tee and click Apply.
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 network section, check the check box next to Laterals and, if
necessary, expand it.
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 the network section, click the check box next to Laterals.
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.
Open ..\Student\BLDG\Exercise12\Networks\Networks.mxd.
This map contains water network and parcel data for an area in Corvallis, Oregon.
This bookmark zooms to an area of Corvallis where a 4" lateral needs to be digitized.
Start an edit session, and when prompted, choose to start editing Corvallis.gdb.
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.
Notice the value for NOM_DIAM is 4". You will create a 4" lateral extending into the parcel.
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.
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.
Click the Select icon next to all layers except Fittings and WaterMeters.
Click the value under WaterMeters and scroll to the bottom of the table.
Navigate to the 12" x 6" Tapping Tee and COM meter bookmark.
In the Identify window, scroll to the bottom to verify that this parcel is zoned for
commercial (COM) use.
Use the Sketch tool to digitize a lateral as shown in the following graphic:
Verify the fitting is a 12" x 6" Tapping Tee and the meter type is Private.
Click Yes.
Connectivity rules help you keep your data relationships and connections consistent, but it is
good practice to validate any new features you add to ensure they are following any rules you
have set.
There are two more edits that need to be made. For each of those edits, there is a bookmark.
The bookmarks are titled: 12" x 4" Tapping Tee and 6" x 6" Tapping Tee.
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.
Navigate to the Cadastral folder and click Corvallis_Parcels.shp, then click Add.
Click Next until you get to the last panel, then click Finish.
Next, you will import a shapefile into the new feature dataset.
Right-click the Cadastral feature dataset and click Import > Feature Class (single).
Drag and drop Corvallis_Parcels.shp into the Input Features section of the dialog box.
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.
In the table of contents, right-click Parcels and choose Open Attribute Table, then scroll to
view the ZONE_CD field at the far right of the table.
This field contains zoning information for each parcel. You will create domains based on these
codes.
In the Domain Properties section, for Field Type, click the current value and choose Text.
Click OK.
After you create domains, they are available for all feature classes and subtypes in the
geodatabase. Next, you will apply this domain to the Parcels feature class.
Note: If the Parcels feature class is not visible, right-click the Cadastral feature dataset
and choose Refresh.
In the Field Properties section, for Domain, click the empty cell, then choose ZoneCode.
Click OK.
A new domain has been added to the geodatabase and applied to the ZONE_CD field in the
Parcels feature class.
In the Catalog window, right-click the Cadastral feature dataset and choose New >
Topology.
Accept the defaults for the name and cluster tolerance, then click Next.
Because Parcels is the only feature class in this topology, it will automatically get assigned a
rank of 1.
Click Next.
You will validate the topology when you add it to ArcMap in the next step.
In ArcMap, create a new blank map. Click No if prompted to save changes to the current
map.
Add Cadastral_Topology to the map, then click Yes to add all participating feature
classes.
Topology errors will draw in the default red color once you validate. By default, dirty areas are
not being displayed, so you will turn them on so you know what has been validated.
Click in the white area in the table of contents to deselect all of the layers.
Dirty areas are areas of the topology that have not been validated and display in a blue hatched
pattern by default.
Click OK.
Notice that the entire extent of the data is symbolized as a dirty area. When you created the
topology, you chose not to validate after its creation.
On the Topology toolbar, click the Validate Topology in Current Extent button.
Note: Validating the entire topology can take a long time if you have many features and
complex relationships. It may be more efficient, to zoom in and validate the
current extent or a specified area.
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.
Click the western-most Must Not Have Gaps error to select it. (It will turn black.)
Select the Validate Topology in a Specified Area tool , then drag a box around the
parcels you just marked as an exception.
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.
Notice that there are now 10 errors and one exception for the Must Not Have Gaps 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.
You will fix the remaining errors with the Topology Error Inspector.
Dock the Error Inspector window to the bottom of the ArcMap interface.
Right-click the first Must Not Overlap error and choose Zoom To.
Move the Error Inspector window and zoom out a little if necessary.
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.
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.
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.
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.
Click anywhere off the feature and it will update with its new shape.
Right-click the Must Not Overlap error in the list and choose Merge.
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.
Validate the full extent of the topology to make sure there are no remaining errors.
Keep ArcMap open so you can create annotation for your parcels.
For Label Field, click the drop-down arrow, scroll down, and choose ACRES. Click OK.
These are not annotation, but labels, which are stored as a property of the layer in ArcMap. You
are not able to manage or edit one label at a time; you have to manage labels as a group.
Creating annotation from labels allows more flexibility in managing your map text.
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.
Verify that annotation will be stored in the geodatabase, created for all features, that it will
be feature-linked, and that it will be stored in the database as ParcelsAnno.
Click Convert.
A new layer called ParcelsAnno has been added to the map. This is the feature-linked
annotation you just created.
You should now have an annotation feature class and a relationship class stored in your
geodatabase.
Now you have annotation created for Parcels. If you were to add any new parcels, annotation
would automatically be created for them.
Open the attribute table for Parcels and click the Show selected records button .
Notice this field is <Null>. Once you set a value for it, the annotation will be created and
displayed automatically.
In the Calculate Geometry dialog box, verify that the Property is set to Area and change
the Units to Acres US [ac] and click OK.
This will calculate the ACRES field based on the current Shape_Area field that is stored in this
feature class.
Notice that annotation has been placed on the new parcel. Now, you will reduce the number of
decimal places being displayed.
Click the Edit tool and select the new annotation, then click the Attributes button .
In the Attributes window, locate the TextString property and click its current value.
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.
An important part of a cadastral dataset is parcel lines. Parcel lines store the bearings and
distances of the parcels, as taken from a plat or deed. One of the tools in ArcToolbox creates
lines from polygons, so you don't have to manually create them.
In the Search window, click Tools, and type Polygon to Line in the text box.
For Input Features, navigate to or drag and drop Parcels from C:\Student\Exercise12\
Cadastral\Corvallis.gdb\Cadastral feature dataset.
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.
Using a geoprocessing tool, you have created parcel lines from existing parcel polygons and
saved yourself a lot of digitizing.
Change the Number of Ranks to 2 and change the rank for Parcels to 2, then click Apply.
Now that there is an additional feature class in this topology, you can create more complex
rules.
Click OK.
Right-click the topology and choose Validate, then click OK when it is finished.
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.
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.
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.
Uses Not Permitted:
▪ 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.
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.
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.
In this course, you were exposed to many of the core geodatabase elements and behaviors, but
there are additional ones you may wish to explore further.
The following items are types of geodatabase elements or functionality available in core ArcGIS
desktop or with the addition of an extension:
▪ Linear referencing (core)
▪ Cartographic representations (core)
▪ Dimension feature classes (core)
▪ Geometric network weights (core)
▪ Network datasets (ArcGIS Network Analyst extension)
▪ Schematic datasets (ArcGIS Schematics extension)
▪ Survey datasets (ArcGIS Survey Analyst extension)
▪ Terrain datasets (ArcGIS 3D Analyst extension)