The ArcGIS geodatabase is an object-oriented geographic data model that uses the relational data storage techniques of modern DBMS technologies. This session will discuss key elements of the geodatabase model including object classes, feature classes, subtypes, relationship classes, geometric networks, and topologies. This session will also present overviews of the database design and editing process, touching on the use of the long transaction model in a versioned environment.
00:01 My name's Jonathan Murphy; we both work on the geodatabase team in the Redlands campus.
00:06 You don't need any prior knowledge of the geodatabase to be in this session, and you don't need any programming skills.
00:13 And let's get started since we're a couple minutes late. So here's what we'll be looking at today.
00:20 We'll be going through what the geodatabase is, why you would want to use it...
00:24 ...what types of geodatabases there are, and how the geodatabase manages your data.
00:30 After that, we'll look inside the geodatabase at the different datasets that you use to model real-world entities.
00:37 We'll look at some advanced behaviors, more complex datasets like geometric networks and topologies.
00:43 And then we'll just do a section on geodatabase potpourri...
00:45 ...which is basically some more datasets that you might come across in different industries.
00:52 And things like that. So why are we here? What is the geodatabase?
00:56 The geodatabase is the four things on this slide. Basically, it's the core ArcGIS data model.
01:01 So it's what ArcGIS uses to model real-world entities as geographic data. It's also a physical store of your geographic data.
01:11 So it's a container for those datasets, a scalable storage model that can range from single users to massive multiuser applications...
01:21 ...from very small datasets up to extremely large datasets.
01:27 The geodatabase is also a transaction model that is used to manage editing to the datasets within it, and manage GIS workflows.
01:37 And lastly, it is a set of COM components for programmatically accessing the data so that developers can work with the components...
01:44 ...of a geodatabase and come up with custom code and custom behavior and applications.
01:51 Looking at the data management approach, the geodatabase is built on a relational database management system.
01:57 And so you can use the architecture of that database management system and leverage its base relational model.
02:04 And what that means is everything in the database is stored as tables, and all the tables have rows and columns.
02:10 Each row has the same columns, the same attribute types, and this maintains the relational integrity of your data.
02:17 Each column in that row has a type of say, date or character or integer.
02:24 There's a base short transaction model within your RDBMS.
02:28 And that manages updates that you want to make to those rows and columns in the table.
02:34 And these relational database management systems can support large, very large datasets that can span the entire globe.
02:41 And we saw at the plenary all those basemaps.
02:44 These relational database management systems can manage very large datasets...
02:49 ...that span the entire globe at a high resolution.
02:51 And they've been around for a long time, so they're very reliable, they're very flexible, and importantly, they're very scalable.
02:57 Like I said, you can range from single users to multiple editors; you can go from very small to very large datasets.
03:04 Now, the geodatabase is built on the simple feature model.
03:09 And what that means is all of your stuff is stored in these databases as tables.
03:14 The geodatabase represents real-world entities as simple features like points, lines, and polygons.
03:20 And in that table, we add a column to maintain the shape of that feature, the point, line, or the polygon of that feature.
03:30 And since it's built and, on this relational model...
03:35 ...and it's extending the relational model in this way, the geodatabase is very open.
03:39 It's interoperable with many different formats, data types, and supports a lot of open standards like OGC and ISO.
03:49 There's a rich set of editing tools to edit all of the things within your geodatabase.
03:54 And all these tools are designed to maintain the integrity of your data and the attributes in those tables.
04:01 We extend that short transaction model of the relational database management system with some technology called versioning.
04:08 And what versioning allows you to do is undo and redo edits.
04:13 You can have multiple users editing the same thing at the same time.
04:17 And it's through the versioning architecture that we unlock things like archiving and replication...
04:24 ...so distributing your data to other companies, to other organizations, to other people in your company.
04:30 And all of these components come together to make the geodatabase a very robust and highly customizable framework...
04:37 ...from which you can build and tailor a geographic information system to your liking to solve your problems.
04:46 So let's look at the three different types of geodatabases.
04:49 There's the personal geodatabase that we released back in 8.3.
04:54 This is usually, mainly single-user editing experience.
04:58 These are stored in Microsoft Access databases, so they're tied to the Windows platform.
05:04 And they have a size limit of 2 gigabytes.
05:08 Realizing the limitations of the personal geodatabase, at 9.2, we put out the file geodatabase.
05:14 And the file geodatabase has a 1 terabyte per table size limit, so it's really endless, limitless...size limits.
05:25 It has reduced storage requirements so...
05:27 Things that you put in your personal geodatabase actually take up less space in your file geodatabase.
05:32 And the file geodatabase can also compress your data so that it has a smaller footprint on your system.
05:39 The file geodatabase is maintained as system files within a folder, so it's not tied to Windows; it's cross-platform.
05:48 And the third type of geodatabase are ArcSDE geodatabases.
05:52 And these are stored in database management systems like the ones I have on the right.
05:57 Oracle, SQL Server, DB2, Informix, and Postgres.
06:01 And it's these ArcSDE geodatabases that allow for multiuser editing through that versioning framework...
06:07 ...which I talked briefly about.
06:09 And these require ArcEditor and ArcInfo to edit.
06:13 So here’s a table, just going over basically what I just said.
06:17 I'd like to point out just the storage format again, Microsoft Access, system files, or a database management system.
06:24 And then importantly is the single-user experience compared to the ArcSDE's multiuser experience.
06:31 And we'll talk a bit more about this on the coming slides.
06:38 So let's look at how the geodatabase manages your data.
06:41 All of the schema and your data modeling, that's all defined within ArcCatalog.
06:46 So this is where you're going to create your feature classes and tables, your datasets.
06:50 This is where you're going to create relationships and all those things.
06:54 Now, new at ArcGIS 10, we implemented the Catalog window within ArcMap.
07:00 So a lot of your data organization and management abilities you can now do right within ArcMap.
07:06 It used to be that you'd have ArcCatalog open and that would lock your features.
07:10 So when you're in ArcMap, you're getting all ticked off at it, so...I scratched that up, yeah.
07:19 So, to get started, you're going to want to import datasets into your geodatabase.
07:23 There's lots of different ways to do this, and the geodatabase can support many different formats.
07:29 We of course support our kind of legacy format, does it, is anybody using shapefiles right now?
07:34 I already talked to you, OK, yeah, quite a few...and coverages. How many people are using coverages?
07:41 How many people are using geodatabases? OK, OK.
07:47 Yeah, so you can import shapefiles and coverages. These transform into feature classes and tables within your geodatabase.
07:53 You can bring in CAD data; there's lots of different raster formats that are supported as well.
07:59 And I'm sure you're all familiar with copy and paste.
08:02 You can copy and paste datasets between geodatabases to easily move things around if you need to.
08:08 And that's just as simple as right-clicking like you're all used to in Windows Explorer or whichever.
08:14 Now we all saw a lot of ArcGIS.com stuff at the plenary session; this is also a good way to get started because...
08:22 ...right in ArcMap you can add data from ArcGIS.com and import basemaps from the galleries.
08:27 You can import maps from your groups, pretty up your maps and get started that way.
08:33 Another good way to start is if you visit the resource centers, there's a bunch of downloadable data models...
08:40 ...and also downloadable templates, so if you...if you go to the resource center, you can look for those.
08:45 And you download them, and basically, they give you a geodatabase that's filled with feature classes and things for like...
08:54 ...utility networks and pipelines, and all these different types of industry-specific data models.
08:59 And those are a good way to get started.
09:03 Quickly look at how it works, editing geodatabases.
09:06 So all the datasets that you have now imported into your geodatabase; these are all editable.
09:11 So you're going to be doing things like modifying footprints of your buildings, editing parcel owners, or parcels themselves.
09:19 There's a transaction model, like I've already talked about, for editing in ArcGIS.
09:23 And basically what you do is in ArcMap you open an edit session, and these edits are performed within that edit session.
09:29 And then you choose whether or not you want to save your edits or not save your edits.
09:34 And what you're really doing here is you're creating a series of edit operations that are working as a transaction...
09:40 ...you're going to make against that database.
09:42 So if you choose to save your edits, that transaction's committed to the database and is now pervasive throughout.
09:48 And all the other editors will be able to see your edits.
09:51 If you choose not to save your edits, that transaction's rolled back from the database and nothing gets committed.
09:57 How this works with personal geodatabases...
10:00 ...like I said, this is mainly a single-user editing experience on smaller datasets.
10:05 You can still have multiple readers accessing the data, but only one editor can be within the geodatabase at a time, editing.
10:13 Now the file geodatabase is a little less restrictive, still mainly a single-user editing experience.
10:18 You can edit small to very large datasets, like I mentioned with the storage size limits there.
10:25 Still have multiple readers accessing the data at the same time, but how the editing locks work in the file geodatabase is...
10:31 ...multiple editors can be in the same geodatabase at the same time.
10:35 But they can't be accessing the same feature class or table at the same time.
10:39 Nor can they be within the same feature dataset. And we'll talk about what all these things are in a bit.
10:45 Now ArcSDE geodatabases, these extend the transaction model with versions like I said.
10:51 And what versioning allows is multiuser editing without any locking.
10:55 And what it, what it offers is, it gives you a unique and isolated view of the geodatabase.
11:00 So each editor has his own version of the geodatabase to work with and to make edits in...
11:06 ...and these ver, these edits aren't visible to other editors until you choose to merge those back into the main geodatabase.
11:14 The benefits of doing this are you can have multiple editors concurrently editing the same things at the same time...
11:20 ...over long periods of time.
11:22 You're able to undo and redo your edits regardless of...in...in the other editing environments like I was talking about...
11:29 ...you save it and that's when it gets committed to your...your database.
11:32 Here, you can undo and...and redo edits within an editing session.
11:36 And it's through versioning that we are, enable something called archiving...
11:40 ...which is maintaining a historical record of your data.
11:43 So as you make edits, the historical archive is created with the time stamp of the date and time that that edit was created.
11:52 And then you can go back later and see how the datasets were represented in your database at a given time.
11:58 Or look at how the datasets evolve over time. And through versioning, we also unlock this replication architecture...
12:06 ...which is basically you're replicating your geodatabase as a whole or parts of your geodatabase datasets within it...
12:13 ...distributing those out to other people in your organization or wherever you want to distribute them to...
12:19 ...making edits within both data...
12:22 ...both geodatabases and synchronizing those edits so that the geodatabases are representing the data the same in both locations.
12:32 And this is my beautiful demo screen, new this year.
12:39 Did you really have to do that?
12:41 I need a mic. Can you, can you hear me at the back now? Doesn't sound like it.
12:48 Yesterday he had to hold his mic up to his mouth while he did the...
12:51 Can, can you hear me now?
12:53 Excellent, one-handed demos again.
12:57 Yeah, let's raise the level on his mic. Thanks.
13:00 OK, I'll...I'll continue to talk like this, after I change this channel.
13:07 So, for my..for my first demo, I'm going to start here in ArcCatalog.
13:11 ArcCatalog, as Jonathan said, was the program that we use to manage our data.
13:16 The first demo I'd like to show you is just the very basics to start creating a new geodatabase and importing a shapefile.
13:24 A lot of people think this step is really hard, and I just want to show you that it's quite easy.
13:30 And the sound's quite loud now, are we good?
13:34 Are we still good? OK, excellent.
13:37 It's perfect.
13:38 So in the...in ArcCatalog, we can see my screen is split in two; on the left is a Catalog tree view of the folders in my, in my...
13:47 ...hard drive, and on the right are the contents of the selected item on the left.
13:52 Just going to navigate down to one of the folders here, and we have a folder with a single shapefile.
13:58 And in this shapefile, we have building footprints.
14:04 And it's a typical shapefile, I mean, it doesn't have a lot of features but...
14:07 ...I just want to show you how you can import this into a geodatabase.
14:12 So in ArcCatalog, most of the contents are...are actually accessed through context menus.
14:18 And those context menus are accessed with a right-click.
14:21 So if you ever see me open a menu or...or do a task, it's most likely a right-click.
14:26 So to create a new geodatabase, all I have to do is open that menu on a...on the folder I want to create it in, go to the New tab...
14:35 ...and create a new geodatabase. So this creates a new geodatabase, and it gives me a default name.
14:41 So the next, now I have a geodatabase created, and we can see that the geodatabase is actually empty.
14:47 Next thing I'd like to do is import that shapefile, those simple features, into my geodatabase, so I have a feature class.
14:53 To do that, I can right-click on my geodatabase and say import...feature class.
14:59 Now that's going to open up a geoprocessing tool.
15:01 And I can populate this geoprocessing tool with the feature class that I want to import...
15:07 ...as well as giving it a name for the...for the feature class that I'm going to be creating.
15:13 Now optionally at the bottom, we see a field map.
15:16 And in this field map, we can make alterations to the classes' fields as we bring them in.
15:21 For instance, in a shapefile, it was user-maintained area fields.
15:26 In a geodatabase, the geodatabase maintains, maintains that, that geometry's shape length and shape area...
15:32 ...depending on the type of geometry that it is...point, line, or polygon.
15:37 So this field is now...is...is optional, right? Because the geodatabase is actually going to create it for us.
15:44 We'd have to maintain this one and update it on our own, so I'm going to remove it from the field mapping.
15:50 You can also see that from that context menu, we can do other things.
15:52 We can add a new field or rename a field, but for...for this demo, that's all I'm going to do.
15:59 So we'll click OK. You can see the tool runs, and the feature class has now been created.
16:04 Opening up the geodatabase, we're going to see that the feature class is there, and we can preview that.
16:10 And we can see that the data has been loaded.
16:13 So that's the...the first step that I would encourage everyone to do when they're moving to the geodatabase is just to go do that step.
16:19 Get your simple features into the geodatabase, and we can...we can start building from there.
16:24 So now, the next part of the demo is a...a new piece of functionality at 9...at 10, sorry.
16:32 A common issue we hear is that people in their organization have data at a current release.
16:39 So in my case, I'm using ArcGIS 10 as my client, and I've just created a new geodatabase.
16:44 If we right-click on that geodatabase, we can open up its properties.
16:48 And on the General tab, we see some information about it, and at the bottom, we see the status of the geodatabase.
16:54 This is the 10 geodatabase. Only 10 clients are going to be able to connect to this geodatabase.
17:00 So you can start to see how this might be a problem.
17:02 If you had some clients in your system that were working at 9.3, for instance, you wouldn't be able to share this data with them.
17:11 So how do we solve that? Well, at ArcGIS 10, we can actually create geodatabases at previous releases.
17:20 So I'm going to use the new...
17:25 I have a new Search tab here, so I search for a tool to create a personal geodatabase.
17:31 Now this...this holds true for personal and file geodatabases, just...using this tool as an example.
17:36 So we can give it a location and the name of the personal geodatabase, my...
17:48 ...and then we can also choose the version at which we'd like to create it.
17:51 You can see that for personal geodatabases, this goes back to...all the way back to 9.1. So we select OK.
18:00 Close. We look at the contents of this folder...oh, and I put it in the wrong place
18:06 And we can see that...let me just put it back for you...that a new, personal geodatabase has been created.
18:13 We can check the properties of that geodatabase, and we can see that, at the bottom, it is indeed, a 9.3 geodatabase.
18:19 So now we have an empty 9.3. How do we get that data that was in our 10 back to our 9.3 geodatabase?
18:25 Well, we can copy it. Just right-click, copy, choose the target, paste, and it will load that feature class and schema...
18:34 ...along with all of those features, into a geodatabase that that older client can read.
18:44 That was almost as good as me.
18:53 Colin...Colin and I are technically challenged.
18:57 I'm sorry.
19:00 So anybody have any questions about what they just saw? It's pretty basic...functionality. No?
19:07 OK. So now, we know what the geodatabase is.
19:09 Let’s take a look inside the geodatabase at the different datasets used to model real-world entities.
19:15 And these are all the things we'll be looking at. I'll go through each of these in the following slides.
19:19 And then Colin will blow your minds.
19:22 Inside the geodatabase. So, the geodatabase is a container for geographic datasets, like I keep saying.
19:28 And these datasets represent collections of information with a real-world inpetate...interpretation.
19:33 So you're taking networks in the real world and trying to model them within this geodatabase.
19:39 There's lots of different types of geographic datasets to do this.
19:42 The three fundamental datasets are tables, feature classes, and rasters. I'll get into those.
19:50 Feature datasets are containers for other feat...for feature classes and tables.
19:54 Within feature datasets, you build networks, topologies, and terrains.
19:59 Now all of these datasets have information associated with them.
20:03 And all this information is there to maintain your attributes' integrity, to add behavior to your datasets...
20:09 ...and to give it that real-world interpretation.
20:12 These things are things like domains, relationship classes for maintaining relational integrity...
20:17 ...topology for maintaining geometric coincidence, and, of course, metadata...behind the scenes.
20:24 So here's a graphical depiction of what a geodatabase is and the elements within it.
20:30 We see the feature dataset, a bunch of things that can be inside a feature dataset.
20:36 Feature classes like polygons, points, lines, and annotation, those things can be within a feature dataset or stand alone...
20:42 ...in the geodatabase outside as can relationship classes.
20:45 That's why, in my brilliant diagram here, that box extends outside the feature dataset.
20:50 Things that have to be created inside the feature dataset are things like geometric networks, topologies, network datasets.
20:58 Parcel fabrics and terrains should be under here too. Those are made up of the feature classes within the feature dataset.
21:05 And we'll get into how those work later. Also inside the geodatabase we have tables, your raster data.
21:11 You also store your tools and models and your scripts inside the geodatabase.
21:16 And then, like I said, the behavior is on those objects or on the geodatabase themselves.
21:22 And we'll get into attribute defaults, domains, connectivity rules, relationships, and all these things.
21:29 So, very basest level; the first fundamental dataset within a geodatabase are tables, which are objects and object classes.
21:37 So objects are entities that have properties and behavior.
21:40 At the bottom, we see a table for customers, and it has all of the different attributes that these customers will have.
21:47 One row in that table is an object; the table as a whole is an object class.
21:54 And you can relate things in one table, one row, to things in another table through relationship classes.
22:01 And we'll talk about those in a few slides. Now something important to note here is that highlighted column on the left.
22:07 The OBJECTID column. What this allows the geodatabase to do is to give each row in the table a unique identifier.
22:15 And this is how the geodatabase remains aware of the table and the rows in that table.
22:20 And it uses that unique identifier to do all sorts of geoprocessing functions and analysis.
22:27 One step up from a table is a feature and feature classes. So feature classes really just are tables.
22:35 The only difference here is there's an added column to maintain that feature's shape.
22:41 And the example at the bottom, we see a parcel feature class; all the parcels have a shape of polygon.
22:47 The shape length and shape area determine how that...that feature is represented within ArcMap.
22:57 So, like I said, you can have points, lines, and polygons.
23:01 Points will be things like well locations; lines are, of course, things like roads or streams; polygons for parcels and buildings.
23:08 And these can be single and multipart features.
23:11 So when I'm talking about a multipart feature, an example would be Hawaii.
23:15 You see, the islands of Hawaii are all individual polygons.
23:19 But we can just make that a multipart feature so it maintains just the one row in that table.
23:24 It's not a bunch of different polygons; it's one row in the table that represents Hawaii.
23:29 The geodatabase can also support text and surfaces, so things like annotation and dimensions is text.
23:35 We have slides on those in a bit. Surfaces are things like a raster, terrain data.
23:40 And the geodatabase has flexible coordinates. So you have your x- and your y-coordinates.
23:45 You also have zed-coordinates for modeling elevation.
23:48 And you have m-coordinates for modeling measurements along a line. So think about signposts along a highway.
23:57 The third most fundamental dataset is raster. We're seeing huge growth in raster, people using an implementations for raster.
24:06 In the plenary, you saw all those basemaps; here I see aerial photography being used underneath of a roads layer.
24:16 That's very common; you see that all the time. Some other imp...imple...implementations of raster are continuous surfaces.
24:24 So things like rainfall or temperatures, say. And then they're also used to categorize data a lot of the time.
24:32 And then, another example here, we see it being used to categorize land use.
24:37 Now the geodatabase supports tons of different formats of raster data; you have TIFFs and BMPs and JPEGs and GRIDs.
24:45 GRID is actually the native ArcGIS format.
24:49 But there's also a whole pages and pages of supported formats like dot MrSID and ERDAS and PCI.
24:57 How the geodatabase manages all this different raster data...there's a few different ways.
25:02 There's raster datasets, where you're managing your rasters as separate datasets.
25:07 You can use geoprocessing tools to mosaic all of these together.
25:11 You can also manage your rasters as attribute fields in a table.
25:15 So say, you were doing quality control; I think you're showing a demo on this later about manholes.
25:21 You can actually take a picture of that manhole and have it associated with the feature inside that table so that in ArcMap...
25:28 ...when you go to it, you can click on that and see a picture of the feature itself.
25:33 You can also manage your raster data in raster catalogs, and these are collections of raster datasets.
25:39 And each raster in that raster catalog can be a different format; it can have different properties.
25:44 But when you access the raster catalog...
25:46 ...you're accessing a mosaic of all those things together or just individual datasets if you wish.
25:53 Sorry I spent...the raster catalogs. See, we have mosaic datasets now at ArcGIS 10.
25:58 And these are far more powerful, kind of eclipsing the raster catalog.
26:03 Basically what these are, they're a data model for managing raster collections.
26:07 They're still managed within a catalog.
26:10 And these mosaic datasets are creating on-the-fly mosaics of the raster datasets within that catalog.
26:18 So you define a bunch of parameters about how you want things to be mosaicked.
26:22 And when you're panning and zooming, it will, on the fly, create a mosaic from your raster datasets.
26:28 The mosaic dataset also has a lot of advanced raster querying and processing functions.
26:34 And it outperforms raster catalogs in every department.
26:38 So feature datasets. These are a little different, because they're really just a container for other datasets.
26:45 And the reason you want to put things within a feature dataset is because it maintains the same spatial reference.
26:50 So where things are located on your map or things are located on the planet...
26:54 ...it maintains feature classes within the same spatial reference.
26:58 On the right, we see a subdivision feature dataset with all the things that make up that subdivision within it...
27:04 ...such as points, lines, and polygons representing the parcels within it, dimensions.
27:09 We see a topology in there for managing the geometric coincidence of all the features within.
27:15 So a few of you said you were using coverages.
27:18 Feature datasets are similar to coverages but less restrictive in the sense that you can have different feature...
27:24 ...or you can have the same feature types within subdivisions...or feature datasets.
27:29 So in the subdivision example, we see lot lines and boundary lines within one feature dataset.
27:35 Now, things don't have to be in a feature dataset, like feature classes and things.
27:40 But there are some datasets that have to be created within a feature dataset.
27:45 And these are geometric networks and topologies and terrains.
27:49 Like I said, they're made up of the features within the feature dataset.
27:53 And it's really because we're maintaining the same spatial reference on those features that we want to create connectivity models...
28:02 ...like geometric networks and things like that, inside them.
28:06 Now the geodatabase maintains a broad range of validation rules, and there's three main types.
28:11 There's attrib...attribute validation rules, connectivity rules, and relationship rules.
28:18 And all these rules are stored on the objects that you're creating as part of a geodatabase.
28:23 So these are predefined when you're creating feature classes and creating networks and all of these things.
28:28 And they're parameter driven, so you're creating rules to restrict edited or input values into a specific range in your attributes.
28:38 Or you're setting predefined things that you would have to pick for your attributes.
28:44 I'll get into this in the next slide.
28:46 Or connectivity rules, so that one thing can only connect to a certain other thing.
28:50 So say, a fire hydrant can only connect to a water lateral; it can't connect to a main line. Things like this.
28:57 And then if you're a developer, you can perform custom validation by writing code.
29:02 So the first type here is domains.
29:04 And what domains do is they describe the legal value of a field so, what you're doing with domains is...
29:09 ...you're restricting the valid values for when you're editing.
29:13 These are defined at the geodatabase level, so when you create a domain on the geodatabase...
29:19 ...it's accessible for all the feature classes and tables within the geodatabase.
29:24 And there's two types here; we have range domains. So these are valid values between a minimum and maximum range.
29:30 We see in this example here, the red square of pole height can be between, say, 25 and 100 feet here.
29:37 Other examples are trees, for some reason, can only be between zero and 300 feet.
29:42 Or a road can have between one and eight lanes.
29:46 The second type of domain is a coded value domain, and here is where you're choosing between a valid list of...of items.
29:54 So in the right, we see land use is restricted to being industrial, commercial, or residential.
30:01 Trees can be oak or redwood or palm; a road, dirt, asphalt, or concrete, for example.
30:09 And that brings us to subtypes. Now subtypes are a way to categorize your data into like groups.
30:16 So you're taking things that share the same attributes; you're taking similar things.
30:20 This, the example at the bottom, we see parcels being subdivided into residential, commercial, industrial, and agricultural.
30:27 Now the reason you'd want to do this is, instead of creating a feature class for each of these types of things...
30:33 ...you create the one feature class, which is parcels, and then you subdivide it into those things.
30:38 Why we're doing that is, if you create a whole bunch of different feature classes, you're creating tables for each feature class.
30:45 So when you're drawing and querying your geodatabase, it has to go through more tables.
30:50 So by creating subtypes, you're actually increasing the performance of your geodatabase.
30:58 And these are defined at the class level, not the geodatabase level, so they're defined on the feature classes and tables themselves.
31:04 And how it works is, you select a field to base the subtype on. And this has to be a short or long integer field.
31:11 In the example here, we see that the zone codes on the right, we have 201 representing a residential zone...
31:18 ...202 would represent commercial, and all these different things.
31:21 So you can have different default values on these subtypes so, say, you can create a subtype of, in your roads network...
31:29 ...so that every time that you create a main road, it'll have a speed limit of 35 miles per hour.
31:36 You can create domains for each of your subtypes as well.
31:40 You can define behavior on your subtypes, so behavior rules, like I was saying.
31:45 Say your...your hydrants can only connect to water laterals, not water mains. That example still applies here.
31:54 Another type of rule is relationship classes. What you're doing with relationship classes is...
31:59 ...you're building association between an object in one feature class or table with objects in another feature class or table.
32:06 And your feature classes and tables can participate in multiple relationship classes at the same time.
32:12 There's two types of relationship classes; there's simple and composite relationships.
32:16 A simple relationship class is really just giving an association between two different things.
32:21 A composite relationship class, when you edit one thing, it can trigger behavior on the related feature.
32:30 So, for example, you could have a utility pole with transformers on it.
32:34 If you delete that utility pole, all the transformers get deleted as well.
32:39 If you move the pole, all the transformers will move to follow the pole.
32:43 And you associate rules with relationship classes, so you can have, like I said, the water lateral with the fire hydrant thing.
32:50 You can associate rules so that only certain things can connect.
32:53 Or so that, in this example we have, each parcel can only have between one to three buildings.
32:59 So we see the residential parcel having two townhouses on it. You can't have four townhouses on it when you set these rules up.
33:08 Another type of feature class is annotation.
33:11 What you're doing with annotation is you're...you're placing text or graphics on the map to label locations.
33:17 And these can be feature linked or non-feature linked annotation feature classes.
33:21 So a non-feature linked annotation feature class isn't really associated with the feature that it's labeling.
33:28 So, say, a mountain range, you'll just label that.
33:30 You don't want it to...there's no specific one point that's going to move that...that you're labeling.
33:36 But a feature-linked annotation feature class uses a composite relationship class...
33:42 ...to associate the thing that's being labeled with the annotation.
33:47 So if you delete the feature, the annotation itself gets deleted; if you move or rotate it, so, too, does the annotation move or rotate.
33:55 Then you can store text as well as other graphics and things.
33:59 One thing that you see a lot of the time with annotation is the visible scale ranges.
34:03 So you can set a visible scale range for when you want your annotation to appear.
34:09 So when you're zoomed way up in the heavens and you look down, you don't want to see every road you've ever labeled.
34:16 You might just want to see major cities. And as you zoom in, you can maybe see the main roads.
34:20 And you zoom in closer and you can see arterial streets and things like that.
34:26 [Inaudible audience question] Uh hum. [Inaudible audience question]
34:36 She's asking if it functions the same way as a layer file. So you're talking about the symbology you use in a layer file?
34:44 One thing I didn't mention about annotation is that there is a whole toolset involved with annotation.
34:51 So it is...it's similar. You can actually use the labels from your layer to create the annotation feature class if you want.
34:58 But, yeah, I forgot to mention that there's a whole suite of tools that you can use to create annotation feature classes and styles...
35:06 ...and different symbology. So it's similar, but it's...it's a whole thing unto itself.
35:10 Oh, does that answer your question? [Inaudible audience response] OK...you're welcome.
35:19 Another type of feature class is dimension features.
35:21 This is a type of annotation. It's just used to display distances on a map or distances between things, the length of things.
35:29 In this example, we see waterlines having, you know, dimension feature classes associated with how long that waterline is.
35:38 These can be automatically created from features, like I was just saying, with annotation.
35:43 Or you can use the dimension toolse...tools...at the toolbar for dimensions that you can use to create all sorts of different types of dimensions.
35:52 And what you do is, you define a style, which is giving a description of how you want the dimensions to be symbolized.
35:58 You can define different styles so you can quickly change between how things are symbolized on your map.
36:06 So that was a whole bunch of object behavior. Just to recap all that stuff.
36:11 You can control default value and accepted values, so the valid values that you can input into your features using domains.
36:18 You can partition your feature classes into subgroups with subtypes.
36:25 You can instantiate classes with predefined behavior like, with dimensions and annotation, like I was saying...
36:30 ...you...you define styles, and then every time you create that feature, it has a specific type of symbology.
36:36 And you can control general network relationships and how things can participate in those relationships...
36:43 ...using relationship classes. The great thing about all of this stuff is that it's right out of the box in ArcGIS.
36:48 You don't have to do any programming to get this functionality.
36:52 It's all highly configurable and customizable. Colin will show us some examples of these things...right now.
37:00 Don’t scare us.
37:04 So we're back in ArcCatalog. In the first demo, I showed you how to create a basic geodatabase and load some simple features.
37:09 In this example, I'm going to walk through a subset of the Cook County, Illinois, cadastral dataset.
37:14 And just try to reinforce some of those things that Jonathan's talked about in that last section.
37:19 So here we have a file geodatabase on my local drive.
37:23 Opening the workspace, we can see that it contains a feature dataset as well as several other classes at the workspace level.
37:31 These are relationship classes and tables.
37:34 We can take a look at what's inside the table by right-clicking and opening up the properties.
37:40 On the General tab, we see the name and the alias. Now the alias is where you can set your really not long descriptive name.
37:48 You should keep your table name to less than 30 characters, but your alias name can be as long, well, don't go crazy...
37:55 ...but 150 characters, sure. See, what else can you see? On this tab, we have, at ArcGIS 10, if the table has attachments or not.
38:04 And in file geodatabases, if the table has been compressed. Now when you compress a table in a file geodatabase...
38:10 ...that table is then read-only. No more editing can be done to that until you uncompress it.
38:17 The next tab I'd like to take a look at is the Fields tab. Now in this tab, we see the first object is the OBJECTID field.
38:24 Now as Jonathan said, this is...this field gets added when the table's registered with the geodatabase...
38:29 ...or when it's created by the geodatabase. This is what links the table to the geodatabase. It knows about this table.
38:38 When a new row is created in this table, the geodatabase will...will generate the ID for that row and place it in this field.
38:46 The next field is the pin A field. See this is a short integer field, and at the bottom, we can see the field properties.
38:53 It has an...an alias, it allows nulls, and it also has some business logic assigned to it.
38:59 So this is the first thing we see that's...that's beyond the simple features.
39:03 This has a domain, the pin A domain, which is restricting the valid values on the pin A field.
39:11 The next field I'd like to show you is actually the last one. It’s the job number field.
39:15 The job number field's a long integer, and looking at the field properties again, we see that in this case, a default value is set.
39:23 Every time a row is created in this table, a value of zero is going to be set for this field.
39:32 So that's the workspace level; let's take a look and see in the feature dataset.
39:36 So opening the feature dataset, we can see that it contains a number of classes.
39:41 These are the classes that are needed for this cadastral dataset to participate in the topology.
39:48 So if we take a look at one of these classes...
39:51 Actually first, let's recognize that all of these feature classes are constrained to the same spatial reference.
39:57 That's what the feature set...feature dataset does. It makes sure that that is being maintained for all of its contained classes.
40:05 The next thing you can notice is that there are feature classes...multiple feature classes of the same feature type.
40:13 So this is where it's less restrictive than a coverage.
40:17 If we take a look at a feature class, again, we have the name and alias and some geometry properties.
40:24 If we look at the fields, it's really a table. Looks exactly like our table, has an OBJECTID, has a pin A field in...in fact.
40:32 But where it differs is that, in this case, we have a field which is storing our geometry, the shape field.
40:39 We also have some fields which are storing information about the geometry, the shape length and the shape area fields.
40:45 These are calculated by the geodatabase and maintained by them.
40:50 The next thing of interest in this feature class is the parcel type field.
40:54 Now, it's a long integer field, and the reason that it's interesting is that this class participates in subtypes.
41:03 And the parcel type field is what we're defining the subtypes on.
41:08 We can look at the Subtypes tab and see this a little closer. We see that the subtype field is a parcel type field...
41:15 ...and that there’s a default subtype, a default type of object that gets created whenever you create a new feature in this class.
41:22 And that's the base parcel.
41:26 In the next grid, we see the different subtypes that this class participates in.
41:31 There's the base parcel, and looking at the third grid, you also see the fields that are in the feature class...
41:38 ...and any values that are assigned to them. So we could have default values at the subtype level or domains at the subtype level.
41:46 Now that doesn't immediately sound powerful, but think about it.
41:49 We're...we're actually joining multiple tables into one feature class here.
41:54 We can define different behavior based on the value of the parcel type.
41:59 So for instance, the base parcel, pin A field, has a domain of pin A. We've already seen that in the table.
42:06 But in the same table, a different subtype, the pin A field has no domain at all.
42:12 So we can define this business logic at the subtype level.
42:18 Question? [Inaudible audience question]
42:26 The question is, are the tables in the subtype, or are the subtypes in the table?
42:31 The subtype...subtyping is...is based on a table. It's a single table in the database.
42:40 We logically split them into subtypes based on the values in a ...in a field. And that field in this case, is the parcel type.
42:46 So it's still just one physical table in the database, which means one cursor, less queries, better performant.
42:53 [Inaudible audience question] The feature class...subtypes are defined within the feature class.
43:02 The feature class is a table itself. Is that correct?
43:06 Any other questions? [Inaudible audience question] Correct. So I'll just highlight that again.
43:18 The item that I have selected in blue is the feature dataset, and that feature dataset contains other objects.
43:25 Those other objects are like line feature classes, annotation feature classes represented by the A...
43:33 ...relationship classes, and a...a dataset that Jonathan will talk about next, which is the topology dataset.
43:43 So you can do a couple other things while you're in ArcCatalog.
43:46 For instance, we could actually preview this feature class, since it has geometry.
43:52 And we can see 100,000 or so feature...features being drawn. You can zoom in as well.
43:59 And...and we'll just zoom in here, and you can also identify these features.
44:04 Now this allows you to see the values that are associated with this feature in that table.
44:10 Also in the Identify window, it gives you the ability to drill down through any relationship classes...
44:15 ...that this parcel participates in.
44:17 So, here we can see a tax parcel. And if you can see on the...the image there, a green block is...is highlighting.
44:24 And this is actually the composite relationship to the annotation for this parcel, so as the parcel moves...
44:30 ...this piece of annotation is going to move with it.
44:37 All right.
44:40 Well, I almost made the same mistake twice. Great.
44:45 So good news; my food coma is pretty much gone. Things should get more interesting here.
44:53 How are you guys doing? Good? Little more awake?
44:58 Okay, so now that we’ve seen the geodatabase and inside the geodatabase...
45:00 ...we’re going to look at some more complicated datasets...
45:04 ...such as geometric networks, network datasets, and topologies.
45:09 So geometric networks, these model things that...that flow through a network, so think of like pipelines, gas pipelines...
45:17 ...utility lines, road networks, and things like that.
45:22 And how it works is you create edges and junctions to model those systems.
45:27 These are all built within a feature dataset, and each class, each feature class in the feature dataset has a role in that network.
45:34 So, line feature classes correspond to edges in your network.
45:38 Point feature classes correspond to junctions in your network.
45:42 And you’re building this network through connectivity relationships between those feature classes.
45:48 And this is all based on geometric coincidence, which is just a lengthy way of saying things that are right on top of each other.
45:56 So, you create connectivity rules within your network, so...
46:00 I keep using that one example of, you know, fire hydrants connecting to water lateral lines.
46:07 Your hydrants would be junctions; your water laterals would be edges.
46:11 So, only certain types of edges can connect to others with specific types of junctions.
46:16 All of this connectivity is maintained on the fly while you’re editing, so...
46:21 If you’re editing a feature and you’re moving it around...
46:25 ...the other features that are connected will kind of rubberband with it.
46:28 Colin will show us how that all works in a demo later.
46:32 So, when you create a geometric network, ArcGIS also behind the scenes creates something called a logical network.
46:39 And what the logical network is...it’s just a series of tables that maintains a graph of your connectivity.
46:46 So, it’s these tables behind the scenes that you’re running these algorithms on to perform any sort of analysis...
46:53 ...like downstream tracing, upstream tracing.
46:57 It maintains the flow of your connectivity through your network.
47:02 An example here...this is Colin’s favorite part of the entire demo...
47:07 ...where I on the fly come up with some stupid example for downstream tracing.
47:11 Today it will be Colin loses his wedding ring down the drain, and his wife also works at Esri...
47:21 ...knowing Colin’s behavioral tendencies, she put a GPS tracker on it and was able to downstream trace that wedding ring...
47:29 ...from the sewer drain that you dropped it in into the bay.
47:34 Dude. Now I have to go swimming.
47:35 That’s not the only reason she put a GPS tracker on the ring.
47:41 Another type...another type of network in the geodatabase are network datasets.
47:46 These are similar to geometric networks; they’re designed for the transportation industry though.
47:53 And network datasets have an advanced sort of connectivity algorithms going on behind the scenes that allow you to...
48:01 ...to model multimodal scenarios, so things like...this is a map of Paris and all its transportation networks.
48:08 You can see some of these intersect, so maybe you could have bus lines connecting to subway lines.
48:13 Actually, I have a graphic of that on the next slide.
48:16 These are also designed with edges and junctions, so your line features and your feature dataset become edges in your network.
48:23 Your point feature classes in your feature dataset become junctions in your network.
48:28 And with network datasets, you can associate different attribute values and properties on these features.
48:35 And these properties are designed to control traversability through the network.
48:39 So, we’re looking at things like the cost it takes to travel a certain path like certain...certain roads only have...
48:46 ...you know, speed limits. Or maybe it’s a restriction like no U-turns on that road.
48:51 And these properties allow for on-the-fly calculation of...of routings like 911 routing and things like that.
48:59 You guys noticing my accent? I keep saying non-American stuff.
49:04 And all of these attributes are used to improve the analysis of your routing through this network.
49:11 So, like I said, you can...you can model multimodal networks such as bus lines connecting at subway stations to other sub...
49:21 ...to the subway line, and these are points that span between connectivity groups.
49:27 You can also model things with turns.
49:29 This is an optional thing in your network dataset that you can...you can put on your...on your features.
49:34 And turns don’t really alter how things are connected but just how you move through that network.
49:40 Downtown San Diego, for example, one-way streets everywhere.
49:45 It’s a nightmare to get around down there.
49:47 So, if you had a network dataset, you would have those sorts of turns and restrictions on all the...
49:52 ...on all the streets in downtown San Diego. Another type of...of dataset in the geodatabase is topology.
50:01 Topologies are used to manage a set of simple feature classes that share geometry.
50:05 So, what you’re doing here is you’re creating rules, and you’re adding behavior to constrain how features are...share geometry...
50:15 ...and to maintain geometric coincidence.
50:19 And what you do is when you create a topology, you define all of these integrity rules on it...
50:23 ...and there’s a whole slew of rules that you can use.
50:27 So, in this example, or this diagram, on the right here we see some states...the state polygons, we see counties within the states.
50:36 So, you’re creating rules such as, you know, this...the state boundary lines are...are allowed to share the same line...
50:42 ...or counties, one state has to be wholly filled by the county polygons.
50:49 You can’t have any gaps; there’s no no-man’s land in Texas.
50:53 You don’t want your counties from California falling into Arizona or anything like that.
51:00 So, you create these data integrity rules, and then topology also has a whole bunch of editing tools.
51:07 It has an editing toolbar.
51:08 And all of the tools on the editing toolbar are designed to restrict how you edit, so that you’re not breaking these rules.
51:16 There’s also a way to validate features to see if any rules have been broken in any of your geoprocessing functions...
51:21 ...or anything like that. And all of this together is used to ensure the quality and data integrity of your geographic datasets.
51:34 So, like I said, you create topologies in a feature dataset.
51:37 Feature classes and subtypes within that feature dataset all participate in the topology.
51:42 And you also, when you’re creating a topology, define something called a cluster tolerance.
51:48 I’m going to try to tell you what that is right now.
51:50 Cluster tolerance is the distance that two things can be...before they’re considered to be at the same location.
51:59 Does that make sense? It makes sense to him.
52:02 Okay, you can define cluster tolerance on x- and y-coordinates and also on your zed-coordinates.
52:08 You also define ranks with your feature classes that are participating in your topology, and these ranks are associating...
52:16 ...you’re ranking them based on spatial accuracy.
52:19 So you want to give your submeter GPS data a higher accuracy ranking than something digitized by Keith Richards.
52:31 You also define rules when you’re creating the topology, and these rules are used during your validation...
52:37 ...and so, when you validate your datasets, if any of these rules have been violated, these are expressed in ArcMap...
52:46 ...and you manage these as...in the database as part of the topology.
52:50 And if you see errors, you can make exceptions to these rules, and you can fix them in ArcMap.
52:55 Here’s a few examples of the rules like I was saying...polygons can’t overlap, lines can’t have dangles...
53:02 ...all these different ways of you to restrict exactly how your features are geometrically coincidenced.
53:09 We added six new rules at 10. Don’t remember what they are.
53:13 What’s that?
53:14 [Audience question] Do you [inaudible] list of rules when you create a topology?
53:17 Yeah, basically.
53:19 You’re going to show...
53:21 I’ll show...in my next...We’ll show you what we’re talking about here.
53:24 But, yeah, there’s basically a list of rules, and you choose how you want your...your features to maintain that integrity.
53:29 So, I briefly went over this already, but very quickly, when you edit a topology, it creates a dirty area.
53:36 And these areas just show that it’s been edited and it may contain errors. Those errors can be symbolized.
53:43 And these errors are found during validation. And your errors have properties...
53:47 ...such as what rule was violated and which feature or features were the responsible party for creating that error.
53:56 And at that point, your options are to either ignore the error like a jerk or mark it as an exception.
54:03 I’m sorry I said that already. Or you can fix the error. So, in that...sorry, one sec...let’s go back.
54:14 [Audience comment] You have issues.
54:15 Pardon? [Inaudible audience comment] I have issues with what?
54:19 [Inaudible audience comment] I have a lot of issues, pal. Ignoring errors is just one of them. All right, Colin. Take it away?
54:25 Yup. So, we’re going to continue from the last demo, except I’ve switched here to ArcMap.
54:33 This is our Cook cash...Cook County cadastral...cadastral data, and we have a topology in the map.
54:38 And we’re actually symbolizing based on those error features that have been recognized.
54:43 So, we can see here in red that some errors have been introduced, and let’s take a look at the dataset that’s allowing us to...
54:51 ...to find these errors in the...in the properties.
54:53 So, new at 10 is the ArcGIS...is...is Catalog basically in a window in ArcMap.
55:01 So, we can use that to navigate to this MXD’s home directory and take a look at the data.
55:05 This is the same data we looked at from the...from ArcCatalog...it’s just here in Map in this window.
55:11 So, it’s my file geodatabase, and inside my feature dataset, we can take a look at this topology...
55:17 ...this cadastral topology’s properties.
55:21 [Inaudible audience question]
55:28 So, the question is, Does the cadastral topology define rules for the entire feature dataset?
55:35 [Audience response] Yes.
55:36 The answer is, almost. So, the topology only defines rules for the classes in the feature dataset that participate in the topology.
55:47 Those classes must live in the feature dataset with the topology.
55:51 But it does not mean that all of the classes in the feature dataset have to be in the topology.
55:56 [Audience response] Okay.
55:58 So, on the topology property page, we see the first tab is the General tab.
56:02 Here, we have the name of the topology and the cluster tolerance.
56:05 Now, in case you can’t remember Jonathan’s wonderful description of cluster tolerance...
56:11 ...the property pages give us the ability to use the Help.
56:13 And we can select the question mark and then click on the object in question.
56:18 And we’ll come up with a full description of what that thing is.
56:21 It’s basically the distance between two points before they’re considered equal.
56:24 [Audience question] Who came up with that weird number?
56:26 With that weird number?
56:27 [Audience response] Yes.
56:28 The question is, How does it define the default tolerance?
56:32 And it is a mathematical equation based on the resolution of your data.
56:36 [Audience comment] Okay.
56:38 The next thing is the status of the topology.
56:41 Has it been validated, and have any errors...do any errors exist in that topology?
56:46 You can see here as we see in the background, it’s been validated, but there are errors.
56:52 The next tab shows you which of the classes in this feature dataset do participate in this topology.
56:57 It also shows the ranks, the relative accuracy of each of these classes that the user has given to them.
57:06 So, the boundaries have a rank of 1, and the site addresses have a rank of 3.
57:10 What this really means is that during validation the topology is going to believe boundaries more than it believes the site addresses.
57:18 On this tab, we can also add classes, remove classes, or remove everything from the topology.
57:25 The next tab shows us those rules.
57:27 Now, these are all the rules that this particular dataset has defined as being valid for its...its data.
57:34 We can see there are some rules like this tax parcel must not overlap rule.
57:38 That one’s just saying there must not be overlaps in your data.
57:42 Now if you forget what a rule is, you can always click on the rule and then click Description.
57:48 This is going to show you a little diagram that shows you some examples and in red what the error feature would be...
57:55 ...if this rule is in error.
57:59 So this tax parcel feature class, we already took a look at that, right?
58:01 It was the...it was the feature class which had subtypes defined on it.
58:06 Here, you can see that the topology is defining rules at the feature class level.
58:10 This is for all features in there as well as at the subtype level.
58:16 Individual subtypes can participate in rules in the feature class...in the topology.
58:22 We can also see that here there are six different subtypes for the tax parcel feature class.
58:27 When defined at...in the feature class, there were eight, so all that’s saying is that you can define...define rules for some...
58:34 ...and you don’t have to define them for all.
58:38 This page also lets you add rules; remove rules; and, very importantly, save rules.
58:44 Now, why do I say very importantly?
58:46 This is really good for when you’re prototyping, defining what are the valid rules for your workflow.
58:52 You can add some rules, see how they work for you, save them out, load them back in, change them.
58:59 I cannot stress how important prototyping is to developing the proper rules for your GIS.
59:06 So, the last tab gives us the ability to generate a summary of all the errors by error type for our feature...for our topology.
59:15 Then we can export this to a file, and as you can see, maybe I need to talk to my editors.
59:21 There’s some 6,000 errors in this particular dataset.
59:24 Keith Richards, you’re fired.
59:28 So, the next thing I’d like to show you is some more...some more of this business logic.
59:32 We’re building on simple features.
59:35 In this map document, we have a sewer network.
59:40 The sewer network is built with a geometric network.
59:42 This is one of those datasets that Jonathan talked about. These features are more than just simple features.
59:48 They’re actually features that know a little bit about them.
59:50 They know that they’re a manhole or they know that they’re a sew...a storm pipe or that type of main, for instance.
59:59 So, if I was to start editing on this feature class, we can start editing and new at 10, we see the new template.
1:00:06 I’m going to try to connect a...a storm pipe with a type of main to some of the other existing storm pipes.
1:00:15 So, we can see right away that for any of you who have done editing before, the snapping is a little bit different.
1:00:20 Now, normally, you’d have to enable snapping for geometric networks...
1:00:24 ...and that’s because the connectivity between network features is based on that spatial coincidence.
1:00:30 So, it’s really important that you always use snapping.
1:00:34 So, we can start to digitize, and here’s a hint. You notice how it’s snapping to everything and everything in the map?
1:00:40 If you hold down the space bar, it will turn off that default snapping.
1:00:46 So, I can create my feature, and we can see now that the feature’s been created, a junction, a user junction...
1:00:53 ...a manhole has been placed at the end, and that these features if I move them around are actually connected.
1:01:00 But if I unselect that, we can see that here where the two mains connected, there’s not one of these pretty yellow manhole covers...
1:01:09 ...there’s just a default junction.
1:01:11 So, I’m going to show you how we can add business logic to the geometric network to make the correct type of feature...
1:01:16 ...show up there when we connect the two.
1:01:20 So, I’m just going to stop editing and not save my edits, go to the Catalog window...
1:01:25 ...and here I have the geodatabase which is housing this geometric network.
1:01:29 In the geometric network properties, we can open up the connectivity page.
1:01:33 And this is where those rules, some of those attribute rules are applied.
1:01:37 Now, I’m going to add a rule that says storm pipes with a subtype of main connect to other storm pipes with a subtype of main...
1:01:47 ...through a manhole junction.
1:01:50 I can set that manhole junction as the default type of junction...
1:01:53 ...so whenever two features of that type are joined, the manhole is going to be created.
1:01:58 So, click Apply. Okay?
1:02:00 We’ll go back to Map, and I’ll start editing again.
1:02:04 Scroll down; select my main; snap to the line...
1:02:13 ...and, of course, it won’t work...perfect.
1:02:21 And it didn’t work. It’s supposed to create a nice little storm hole right there. Perfect. Done.
1:02:30 I’m not sure what I did wrong, but I'm not going to go back. Okay.
1:02:32 We get the idea. I’m moving on.
1:02:34 So, storm flow direction. What else does this...does this dataset get us?
1:02:41 Well, because these features are connected, we can actually do traces.
1:02:45 We can find my lost ring that I dropped into the sewer system for today.
1:02:53 Let’s see.
1:02:54 Yesterday, it was a kitten.
1:02:55 Oh, poor kitten.
1:02:58 I need to...first thing I need to do is enable my utility network Analyst toolbar.
1:03:02 Now, this gives me the ability to do traces on this geometric network.
1:03:06 I can then set a flag at a location in the network and try to determine where the flow is for this...for this sewer system.
1:03:15 So, if I go to my trace tasks, I can look through my trace tasks, I can find a downstream trace, and I can execute that trace.
1:03:23 And we can see that if something entered the sewer system here, it would flow downhill through and out into this river.
1:03:31 So, we could go there and wait for the object to come out, hopefully.
1:03:37 The next thing I would like to show you is not specific to geometric networks, but it’s something to do with rasters.
1:03:45 Jonathan said that I was going to show you how to add a raster to a specific feature, so if I start editing...
1:03:50 ...and I select this manhole, I can bring up the attribute editor.
1:03:56 If we scroll down through the attributes, we’ll see the list of fields, and the last field in this feature class is actually a raster field.
1:04:03 It's manhole photos. So, if we select this manhole photo field, we can choose to load a photo, and in here we can...
1:04:12 ...you can select the JPEG from the place on disk and click Add, and we’ll see that that photo has been added to this feature.
1:04:19 Now, you can also access this through Identify.
1:04:23 So, if someone comes back through later and identifies this feature, scroll down, you’ll see that there is a raster field...
1:04:29 ...and this hyperlink indicates that there are...it’s populated.
1:04:33 If you select that, a viewer will be opened with the picture in it.
1:04:39 That is geometric networks and topologies. We added that.
1:04:42 [Inaudible audience question]
1:04:44 The question is, Where are the pictures stored? The pictures are actually stored as binary in with the feature class.
1:04:50 [Inaudible audience question]
1:04:58 The...the question was, Is this going to increase the size of the feature class?
1:05:02 The answer is correct. Yes, it will.
1:05:05 There are alternatives to this. You can use hyperlinks, a field with a hyperlink, and it will actually reference the raster on disk.
1:05:13 Just open it up. That’s actually a key point about mosaic datasets at...at 10. They do not necessar...
1:05:21 ...so one of the things that I dislike about rasters is that you have to load them into the geodatabase, and that’s takes a long time.
1:05:26 Raster...mosaic datasets allow you to mosaic those features without adding them to the geodatabase...
1:05:31 ...so they can live on a big share somewhere or a network drive and access them directly from there.
1:05:38 Is there any other questions...at this point?
1:05:41 Yeah? [Inaudible audience question] Right.
1:05:48 [Inaudible audience question]
1:05:52 So the question is, Do you have to upgrade your ArcSDE database at 10?
1:05:56 [Audience response] Well, from 9.3.1 to 10.
1:05:58 From 9.3.1 to 10. So the story is that yes you do if you want to take advantage of things that are at ArcGIS 10.
1:06:06 ArcGIS 10 will read a 9.3.1, ArcSDE, or personal or file geodatabase.
1:06:11 [Inaudible audience question]
1:06:31 The question is, If...if you have replication between two ArcSDE databases and you upgrade one, do you have to upgrade the other?
1:06:38 [Inaudible audience question]
1:06:49 Right. We should talk afterwards, but the...the rule is the parent must be a lesser release than the child.
1:07:00 So, I’m not sure which way you have your replication set up...which one’s parent, which one’s child, but that’s the rule.
1:07:11 Okay. Are we back?
1:07:15 So, we just learned a lot about the geodatabase.
1:07:18 Now, I just want to go through a few...a few...just kind of quickly run through a few other datasets that you might find in the...
1:07:25 ...in the geodatabase that are...that are kind of interesting.
1:07:28 The first is terrains.
1:07:31 These are used for modeling 3D surfaces, mainly from massive point layers like from lidar...lidar information.
1:07:40 And what these are...are multiresolution on-the-fly-generated TINs, and so, you’re not actually...
1:07:48 ...interestingly about...about terrains is you’re not actually storing a surface...
1:07:53 ...but you store all the feature classes and points and polygons and...
1:07:57 ...oh, sorry, points and lines that make up that terrain, and you give parameters and define pyramid levels, they’re called...
1:08:06 ...for scale dependencies and through all these parameters, the terrain just gets on-the-fly generated as you’re panning and zooming...
1:08:16 ...which is pretty interesting.
1:08:18 This requires 3D Analyst to...to edit.
1:08:22 You can view it in any license level, but it requires 3D Analyst to define and edit terrains.
1:08:31 That would...that came out in 9.2, I think.
1:08:34 Terrains were introduced at 9.2, correct.
1:08:37 Another dataset or cartographic representations, this is...well, basically just making things look really pretty.
1:08:47 So, these are stored as a property on the feature class, and you define symbology and things like that.
1:08:53 It has...it has a...a lot more functionality than, say, just defining symbology on your...in your layer’s property page.
1:09:00 Or, actually, you access cartographic representations through the layer’s property page now at 10.
1:09:05 Anyway, you define rules and things like that, so in this example down here, we see if two trailheads hit...
1:09:13 ...you don’t want just hatch marks going everywhere, you want them to combine with a T junction, so you can define rules and overrides for...
1:09:21 ...for things on your map like that.
1:09:23 And there’s a whole toolset designated to creating and managing cartographic representations.
1:09:31 Talked a little bit about cadastral and a topology, and another you work with cadastral data is through parcel fabrics, they’re called.
1:09:40 And these are a little different than topology...
1:09:41 ...they’re actually geared towards the whole parcel editing workflows and things like that, so...
1:09:50 ...this is through the Survey Analyst extension...
1:09:52 ...and you create parcel fabrics in a feature dataset just like you do with topologies in geometric networks.
1:09:57 All the points, lines, and polygons are used to make up this parcel fabric.
1:10:02 They have a few other things like in this...in this diagram, you see control points.
1:10:06 Those are points that have a known location that are very spatially accurate line points and radial lines.
1:10:13 So, all of these things come together to create this thing called a parcel fabric.
1:10:17 And there’s editor tools...there’s another toolbar for parcel editing...
1:10:22 ...and this is geared towards streamlining how people work with parcels and the workflows that people in the parcel industry use.
1:10:32 And all of these tools are also geared towards increasing the spatial accuracies through...
1:10:38 ...it’s similar to the ranking thing that we were talking about...
1:10:41 ...how terrible Keith Richards is at digitizing, and use these control points to increase your spatial accuracy.
1:10:49 And...another type of...this is new...this is new, Colin, I threw this in here yesterday...is geocoding.
1:10:57 And what you’re doing with geocoding is you’re doing address matching and location services.
1:11:02 So, you’re using a location description to find a specific location...
1:11:07 ...so you give something like coordinates or a street name or a place name...
1:11:12 ...and it will give you back, you know, points of interest or coordinates on specific addresses.
1:11:18 And this is really useful for address analysis, so think of things like crime analysis, stuff like that, customer lists...
1:11:25 ...you can do all sorts of analysis based on where your customers are, where they’re coming from, useful in voting.
1:11:33 And these work through something called an address locator, and that address locator is stored in your geodatabase...
1:11:39 ...and there’s three different things that make up an address locator.
1:11:43 There’s the rules for interpreting addresses, because there’s lots of different ways to put an address into a system.
1:11:50 We see on that little graphic there all of those different parameters that make up a single address.
1:11:59 Well, the address locator’s job is to parse out whatever you put in there...
1:12:03 ...run it against the rules for interpreting addresses that you’ve created...
1:12:07 ...and...and come back with, hopefully, the location that you’re searching for.
1:12:12 It also runs against standard street components, so things like if you abbreviate boulevard or street or things like that...
1:12:19 ...and then, of course, there’s map data that it’s referencing underneath, so it puts all these things together...
1:12:24 ...and comes back with location services.
1:12:27 And...here’s the summary of everything we’ve learned today.
1:12:32 We learned about the geodatabase. It’s the ArcGIS data model. It’s a storage container.
1:12:38 It’s the transaction model for editing and it's COM components for programmatically accessing those...
1:12:45 ...geodatabase elements, creating custom behavior.
1:12:48 We looked inside at all the datasets, points, lines, and polygons that make up feature classes, raster data, tables, all of these things...
1:12:56 ...we looked up the behavior, the rules you can set up between them, how you’re maintaining that data’s integrity.
1:13:02 We looked at some more advanced things like geometric networks, topologies, and network datasets and then something really fluffy...
1:13:09 ...terrains and representations, all those extra little things that you can do.
1:13:14 So, thanks for listening, everybody. Don’t forget to fill out your surveys.
1:13:21 And if there is any other questions, we’ll take them.
1:13:27 [Inaudible audience question]
1:13:33 Why are you doing that?
1:13:34 [Inaudible audience response]
1:13:35 Yeah. The question was, Is there a place where you can find best practices for modeling your data or setting up your data?
1:13:46 There is...in a couple slides, I have other resources.
1:13:52 A good place to look is the Resource Center, the Geodatabase Resource Center, 'cause you can download templates...
1:13:58 ...and you can download data models and see how those are set up and you can even pour...
© Esri 2013 http://www.esri.com