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