00:01My name is David Crawford and joining me on stage is Colin Zwicker.
00:03We both work on the geodatabase development team in Redlands.
00:07And today we're going to take you through a geodatabase, an introduction.
00:12As we go through here, I'm going to lead us through some slides...
00:14...and then presenting the foundation of knowledge about the geodatabase...
00:18...and then Colin will lead us through some demos to cement those ideas and how they are actually applied.
00:25Try to hold your questions till the end of the presentation if you can.
00:29That said, please turn your cell phones to vibrate or off if you can, and let's begin.
00:35So we'll start with the session path and sort of how we're going to approach this talk, and we'll start with the geodatabase.
00:42What is it? Why use it? What types are there?
00:45Then we'll get inside the geodatabase and discuss some of the datasets, as well as the business logic behavior...
00:51...that is introduced through the geodatabase.
00:54Then we'll get into more advanced behavior and advanced geodatasets.
00:58And, lastly, we'll just talk about some general miscellaneous stuff in the geodatabase.
01:04So to begin, what is the geodatabase?
01:06It is the core ArcGIS data model.
01:09It is a comprehensive model for storing and using geographic data.
01:13It's a physical store of all your geographic data.
01:16It's a scalable storage model available on multiple platforms.
01:20It's a transaction model for managing GIS workflows.
01:23And it's a set of common components for accessing data.
01:27These are available so through programmatic access, you can extend the behavior of your geodatabase...
01:32...and the datasets within it.
01:35So why use the geodatabase?
01:37The first and foremost is because it is simple.
01:40We have made the process of getting data into and out of the geodatabase and utilizing your geodatabase and your geodata...
01:47...as simple as possible.
01:49And the second is because it's the model to best support the entire GIS system.
01:54ArcGIS has a system if you want to consume your data, whether it be through a desktop client, a mobile application, or server...
02:01...the geodatabase allows you to work on all of those platforms seamlessly.
02:06And the question that spawns from that is sort of, Where do I get started?
02:09And the best place to get started is at the ArcGIS Resource Center, which I'll show you here quickly...
02:15...and it is labeled Geodata, and it's under the community of geodatabase on the resources.arcgis.com.
02:22And as you can see on the right here, we have some quick links for Getting Started, What's New in the Geodatabase...
02:28...some release-specific help, as the geodatabase at different releases has had different functionality.
02:35We also have the database system support as well as a gallery of data models, information models...
02:42...as well as applications that are put up there for you to use with your own data in your own industry-specific ways.
02:50We also have some featured videos on the right-hand side, which include ways to consume your data and work with it...
02:56...using the geodatabase.
02:58And at the bottom here we have a link to the geodatabase forum where you can go on and speak with other Esri users...
03:05...who are running possibly the same issues you have, or post your issues where Esri people can come on...
03:10...and respond to you, possibly giving you a way to fix those issues.
03:17So that leads us into the first demo here, which Colin is going to give us.
03:20It's called Using the Campus Place Finder, and this is sort of the power that you get with the geodatabase...
03:26...once you've created it.
03:32Thanks, Dave. Can everyone hear me? Can't tell. Yes. Think that's a thumbs-up. Okay. Thank you.
03:41Yeah, so I'm actually going to start the demonstration here from the geodatabase gallery...
03:46...and I've searched for an application that Esri has created called the Campus Place Finder - the Campus Building Viewer.
03:55And I have that open here in my web browser, and it's a, you know, it's an application to view our data...
04:03...and to display back a very succinct story from it.
04:09So this application uses some of the geodatabase concepts that Dave's going to talk about in our talk to tell users, you know...
04:21...where the buildings are located and who is in each of the rooms of those buildings.
04:27So let's take a, you know, here on the display you can see there's a parking lot and there's some tree features...
04:35...and building outline features.
04:36These are all just simple features in our geodatabase.
04:40You can think of them like a shapefile, right? Just simple features.
04:44But you'll also notice that there's the ability to find a person and to switch between the levels of the buildings.
04:53So let's do a search for one of these people, and it links us to this table, right.
04:59It shows us - zooms in to the office and shows us the related information for the current occupier of the office.
05:10This could be done with a relationship class.
05:12The information wouldn't have to be stored all in the same class.
05:15We could do the link using relationship.
05:19The next thing, we see this, you know, express drop-down here, and it has a list of all of the different floors for the building.
05:28This would be a really good thing, you know, a drop-down list, to use a domain for.
05:36So these concepts I'm starting to say here, we haven't introduced them yet, but when Dave starts talking about them...
05:41...just think that they're, you know, advanced logic built on top of our simple features...
05:46...that help us build applications to display that information.
05:58So now to the last of the questions from this section, which is, What types of geodatabases are there?
06:04There are three types of geodatabases. We have the personal geodatabase.
06:08This was the original geodatabase introduced at 8.3.
06:11It is a single-user editing environment, stored in Microsoft Access...
06:16...and the entire geodatabase is limited to the 2-gigabyte size that Access restricts on their files.
06:23The next is the file geodatabase.
06:24You can think about this as an upgraded personal geodatabase with much more storage size.
06:30As you can see, we allow up to 1 terabyte per table, which can optionally be expanded up to 256 terabytes per table.
06:38The file geodatabase is also cross-platform.
06:41And, lastly, we have the enterprise geodatabase, which is stored in enterprise DBMSs...
06:47...and supports multiuser editing via a technology called versioning.
06:51It also supports extremely large datasets.
06:55So you might ask yourself, Which of these geodatabases do I need in my particular environment...
07:01...and my particular use case?
07:03So this is a handy chart that can help you figure out which one to use.
07:08So first thing to investigate would be, what is the storage format?
07:12Do you have access to Microsoft Access, and are you okay with using that?
07:15If so, personal geodatabase may be the way to go.
07:19File geodatabase is stored as files on a folder on the disk.
07:23And the enterprise is stored in a DBMS, so you'd obviously need the DBMS in order to use it.
07:29The next thing to consider is, are you using Windows?
07:32If you're using Windows, then any of the options are available to you.
07:37If you're off of Windows, then you cannot use a personal geodatabase.
07:41You're restricted to a file geodatabase for local use or enterprise geodatabases on DBMSs that support off-Windows applications.
07:51And the last to consider is the editors and the number of editors that you have.
07:56Personal and file geodatabases are designed and optimized for single editor environments...
08:01...where enterprise geodatabases, again through that versioning technology, are designed for multiple editors.
08:09So speaking of editing, datasets, all the ArcGIS datasets in a geodatabase, are editable.
08:16For example, you can modify building footprints and parcel management, add water mains to a water network...
08:22...or update land information stored in a table.
08:25There is a transaction model for editing in ArcGIS.
08:29Edits are performed in an edit session, which means you start editing, perform your edits, and then save your edits...
08:35...or don't save your edits.
08:37That series of operations, the edits you perform after clicking Start and before Stop, make up a transaction.
08:45And if you choose not to save those edits, that entire transaction is rolled back.
08:49If you choose to save those edits, then the entire transaction is committed.
08:56The personal geodatabase is specifically designed for single user editing small datasets.
09:02The locking mechanism is where these databases generally differ.
09:06In the personal geodatabase, the locking mechanism is done at the geodatabase level.
09:11So if I am editing my geodatabase, someone else cannot come in and edit the same geodatabase.
09:16The file geodatabase is very similar. It is single editor, but you can be modifying very small to very large datasets.
09:24And the edit locking is done at the dataset level.
09:28So two people could be editing within the same geodatabase as long as they are working on isolated datasets.
09:36And last is the enterprise geodatabase, which extends the transaction model using versioning...
09:42...allows multiuser editing without locking.
09:46The benefit of this is, again, you have multiple editors.
09:48You can edit over long periods of time without impacting other people's work.
09:52It also enables technologies such as archiving which allows you to see the state of the historical representation of your features...
10:01...as they were edited in the past up to the future, or up to today.
10:05And we also enable replication through this process.
10:10This brings us to Colin's next demo of creating a geodatabase.
10:18So let's start here by asking, How many people are using the geodatabase?
10:26Okay, so quite a few of you. How many people are using something else like shapefiles?
10:35Text files? Excel? I got a "kind of"; there's one back there. That was excellent. Okay.
10:43So one of the first questions I usually get is, you know, How do I start using the geodatabase?
10:48And the Resource Gallery actually gives, you know, domain-specific templates to start with.
10:55But let's say that you are a user who has been using shapefiles, and you have the data, you know, your schema's set...
11:02...the data that you wanted to collect.
11:03Well, how do you start using the geodatabase?
11:05So the first thing I want to do is show you how to create one.
11:09I have ArcCatalog open here.
11:11I have a folder which contains one of my shapefiles. It's a buildings footprint shapefile.
11:17The first thing I want to do is right-click and say New, and then it gives me an option to create a file or a personal geodatabase.
11:26I can go over in my head the things that Dave said in his presentation, like, Will my company be using this data on UNIX?
11:36Yes. Well, then my decision is made for me. I create a file geodatabase. You know.
11:41Will I want to access it through Access itself? Well, maybe I want to use the Microsoft version, the personal geodatabase.
11:48For this demonstration, I'm going to create a file geodatabase, and all you do is you select it.
11:56And then you can give it a name.
12:02So now our geodatabase is created, but we don't have any data in there yet.
12:05It's still empty, right?
12:07So the next thing we want to do is we want to import our existing feature data from our shapefile.
12:14So I can, again, right-click on the geodatabase, say Import > Feature Class.
12:22Now this is going to start a geoprocessing tool, which we can fill out, and then it will import the class for us.
12:30So the Feature Class To Feature Class tool allows you to move features between places.
12:35I can populate the input features by dragging and dropping my shapefile.
12:40I can give it an output class.
12:44The location's already populated, because I told it to import into my geodatabase.
12:50And then optionally, I can actually remove or add fields.
12:55So one of the benefits of having your data inside of a geodatabase is that we maintain the area for you.
13:02It's no longer you have to maintain a field - a user-maintained area field.
13:07So I can actually open that up and delete that field from the mapping, and it won't be...
13:13...this particular field won't be created in the geodatabase table.
13:19Okay. I'm happy with all my other attributes. I can click OK.
13:25The class has been created, and the data has been transferred over.
13:29And now if I expand my geodatabase, we'll see that it has a buildings feature class in it.
13:35The same attributes, the same features.
13:40So another common workflow is that we've been working away here on the current release, the 10.1 release.
13:46But some of my colleagues need a 9.3 geodatabase.
13:51Well, how do I get this data back to them now? Before, I just passed the shapefile to them.
13:56Well, we can create a new geodatabase inside a previous release.
14:01So if I search for Create..., can bring up that geoprocessing tool.
14:14I can drag the location in and give this a name of fileGDB93, and I can select the previous version.
14:25So this functionality was new at 10. I'm not sure how many people here are using 10.
14:29But it's continued forward into 10.1.
14:34Select OK. The new geodatabase was created at the previous version.
14:40How do I get my data in there?
14:42In ArcCatalog, it's really simple to move the data.
14:44You can right-click, Copy, select the new geodatabase, right-click, Paste.
14:53Now I can give this older version of the data to my colleague to use.
14:59I think that's the creation demo.
15:05Thank you, Colin.
15:07So now to move inside the geodatabase and the datasets and some of the business logic that we add to features...
15:14...simple features at that level.
15:16Begin with object classes, feature classes, rasters, and move on to feature datasets.
15:21And then as we get into validation rules, domains, subtypes, relationship classes...
15:24...is where we'll see that business logic get introduced.
15:27Then we'll discuss annotation and dimension classes after that.
15:33So what is - so what is inside the geodatabase?
15:35From a user perspective, it looks like a box that holds datasets.
15:41It's essentially what it is. It's a - each dataset is a collection of information that has a real-world representation.
15:49And the types of geographic datasets we have are simple datasets, such as tables, feature classes, and rasters...
15:57...to more advanced behavior datasets like networks, topologies, and terrains.
16:02It is within these datasets that we introduce logic to manage data integrity, behavior, and interpretation.
16:13So this is the geodatabase element diagram.
16:17And on the left, you see the feature dataset, which within it has a dashed box that says Spatial reference...
16:24...and that is because the feature dataset maintains the spatial reference within itself for everything that is in it.
16:30It contains features classes, relationship classes, as well as advanced datasets like the network dataset...
16:36...topology, and network datasets.
16:38Outside the feature dataset, we have tables, feature classes as well, rasters, as well as toolboxes...
16:46...and the behavior lives outside that feature dataset in the geodatabase itself, such as default values and domains...
16:53...and relationship rules.
16:58So to begin with the most primitive dataset type, which is object classes, which contain objects.
17:04The only difference between an object class and a table is that left column which is highlighted.
17:10That is the Esri-maintained OBJECTID column.
17:14Every object class in a geodatabase must have that OBJECTID column, because it ensures that each row is unique.
17:23We use that unique number to identify each row.
17:27Within an object class, every row is an object, and all the objects within an object class share the same attribution.
17:39That moves us on to features and the feature class.
17:42The feature class builds upon the object class in that it is the same thing. It has the same Esri-maintained object ID...
17:49...except it also has a shape component.
17:51That is the highlighted field there which says Polygon in it.
17:55It is where all the geometry of each row is stored.
17:59Each row in a feature class is called a feature, because it is spatial.
18:08The geodatabase and the feature class not only supports basic geometry like points, lines, and polygons...
18:15...but also advanced geometry like multipart features.
18:19The example here is the drawing of the Island of Hawaii, which is seven multiple polygons...
18:26...but in the actual feature class table, it is only a single record, because it is, in fact, one record.
18:34Then we have - it also supports text and surfaces and flexible coordinates so you can locate things...
18:40...not only in the x- and the y-coordinate system with their locations, but also in the zed to get a third dimension...
18:47...and for some lines, you can add Ms, which is a distance-along measure, such as mile markers along a highway.
18:58Rasters and imagery. Yeah, we support - Esri supports many formats of rasters, TIFFs, BMPs, among many other.
19:07Grid is the native Esri format.
19:10We also enable a raster to be an attribute field in a table.
19:15Rasters also can participate in a mosaic dataset.
19:19This is a collection of raster images that, using a defined set of rules and overlaps and precision points...
19:26...we can draw them as if they are one seamless, very large raster, so that you can navigate around them...
19:33...and perform advanced querying and processing along the entire area.
19:41That brings us to the feature dataset.
19:43The feature dataset is a container for other datasets.
19:48It maintains the spatial reference within itself so that every dataset within it has the same spatial reference.
19:56It is analogous to a coverage, but less restrictive, because you can have multiple datasets of the same type...
20:03...within a single feature dataset.
20:05And feature datasets are required for more advanced dataset types, such as the geometric network, topologies, and terrains.
20:17And this is where we start to add some of the business logic to our simple features.
20:22So, so far we've had our datasets that have the simple features in them.
20:25How do we give them some intelligence so they know if they're valid, if they're good, if they're bad...
20:30...what our data actually looks like.
20:32So we have these things called validation rules.
20:35There's three types of them.
20:36There are attribute validation rules, connectivity rules, and relationship rules.
20:42These are stored on objects in the geodatabase.
20:46They are predefined and parameter driven.
20:49They're - some examples of them are an attribute set rule, which is that for a particular attribute...
20:54...only a specific set of values are valid to enter.
20:59Or connectivity rules in a network saying that a particular type of overhead wire...
21:05...can only connect to a particular type of transformer.
21:08You can also perform custom validation by writing custom code.
21:19The first type of business logic that we add next to the rules are domains.
21:23Domains describe the legal value of a field type.
21:28We use them to ensure that any attributes you enter are valid within however you've defined the valid entries in a particular field.
21:37You define domains at the geodatabase level, and there are two types of them.
21:41There are range domains where you define a minimum value and a maximum value...
21:47...and then every value that is within that field must be within that range in order to be considered valid.
21:53There is also the coded value domain where you define a specific pick list, a set list, that says...
22:00...These are the valid values that can be entered here and nothing else.
22:03And in the editor, when your user edits, all they are presented with is a drop-down of the valid values they can enter.
22:12This helps, again, maintain the data integrity.
22:19That brings us to subtypes.
22:21Subtypes categorize objects or features into groups.
22:25These are objects or features which share all the same attributes except for their type.
22:31You define a subtype at the class level. You select a field to base the subtype on.
22:37That field must be of a short or long integer type, and you can set different default values and domains...
22:46...for each field at the subtype level.
22:50You can also define behavior rules between subtypes.
22:53In the example picture below, we have one class, which contains multiple types.
23:00So this is a parcels feature class. In it, there's four different types of parcels.
23:05There are residential, commercial, industrial, and agricultural.
23:09Instead of having to create a separate feature class for each one of those types, a residential parcel feature class...
23:16...and a commercial parcel feature class, an industrial parcel feature class - instead you define the zone code as the type...
23:25...as the subtype.
23:27So anything with a zone code of 201 in this case is residential. Anything with a 202 is commercial.
23:35It allows that within that class, we can identify what type each of those features are.
23:44And relationship classes. These allow an association between objects in one class and objects in a different class.
23:52A class may participate in many relationships.
23:56We have simple relationships, which are just essentially a join from one to the other, and composite relationships...
24:03...where related - which allow related objects to message each other and have some behavior triggered...
24:10...such as a cascading delete.
24:12I delete my object in my feature class, I want the related objects in the table to get deleted as well.
24:19You can also associate rules with a relationship class, such as, in this case...
24:23...each parcel can have between one and three buildings in it.
24:27In this sample, their relationship is drawn between the parcels feature class on the left and the buildings feature class on the right...
24:35...using the Parcel_ID column in the buildings class and the parcel OID column on the parcels class.
24:42So as you can see, the parcel, which is marked as residential with an OID of 794, is related to two buildings...
24:51...both of which are townhouses, which have the parcel ID of 794 and their own unique OID within their own class.
25:03Annotation feature classes place text and graphic on the map.
25:08They don't have to be linked to features, but they can be.
25:12If they are linked to features, it is a composite relationship that manages that link.
25:17And they can store text as well as graphics, lines, arrows.
25:22They can also set the visible scale range of their features.
25:29And dimension features. This is a type of annotation that displays specific distances on a map.
25:37Graphic features are stored in a dimension feature class, and you can create dimensions automatically from features.
25:44There is a rich set of dimension editing tools available in ArcGIS, and they are defined as a style.
25:55So in summary, for object behavior, you can control default values and acceptable values of any attribute...
26:05You can partition objects within an object class into like groups using subtypes.
26:11You can create classes with predefined behavior like dimensions and annotation.
26:16And you can control the general relationships in which an object can participate using relationship classes.
26:22The benefit of all these is they are out of the box in ArcGIS.
26:26There is no custom programming required.
26:28They are all configurable settings that can be done through the UI.
26:34So now Colin's going to take us through a demo of exploring the geodatabase...
26:37...and each of those datasets and behavior that I just talked about.
26:46So in the first demo, we created a file geodatabase and imported some simple features.
26:50I want to look at a little more complex database this time, the cadastral data from Cook County, Illinois...
26:56...and take a look at some of those advanced business logic things that Dave was talking about, working with simple features.
27:04So let's start at the geodatabase level here.
27:06If I expand that, we can see that, you know, the first thing in the list is a feature dataset...
27:12...which contains feature classes and controller datasets.
27:17The next thing's a relationship class, and then we have an attribute table.
27:21Let's take a little closer look at that attribute table by opening up its properties.
27:26On the General tab, we can see the name of the table.
27:30This is as it exists in the database.
27:32And then we can also see the alias.
27:34Now the alias is where you want to put your fancy name, your really long descriptive name...
27:41...the one with the space in it, for instance.
27:43You don't want to name your table in the database that. You have an alias field for that.
27:48In map, you can display the tables using the alias field, if that's the textual description that you want to give to the user.
27:56It also indicates it's a table that supports attachments and, in this case, since it's in a file geodatabase, if the table's compressed.
28:06The next thing I want to look at are the fields for this table.
28:10The first field I have highlighted is the OBJECTID field.
28:14Now this field's added when the table's registered with the geodatabase.
28:17Dave said that it's used to track the individual features in this object class.
28:25The next thing I want to look at is this PINA field.
28:28It has a type of short integer. It allows nulls and has a domain assigned to it, the PINA domain.
28:38This restricts the valid values for this field.
28:41We'll take a little closer look at the PINA domain in a second.
28:45The last field I want to take a look at in this class is actually the job number field.
28:49It's of type long integer and has a default value.
28:53So when new rows are created in this field, the default value for this field...
28:57...in this table, the default value for this field will be 0.
29:05So our table had a domain assigned to it, which restricted the valid values.
29:09Domains are defined at the workspace level.
29:13This is so domains can be shared between multiple classes and multiple fields in a class.
29:20Let's take a look at the properties of the workspace.
29:24Again, on the General tab, we have things like the name and the type and the upgrade status.
29:31In this case, we matched the current release.
29:34Also listed are the domains.
29:37Here's the PINA domain.
29:39If I select it, we can see that the field type is of short integer.
29:44It's a range domain with a minimum acceptable value of 1 and a maximum acceptable value of 33.
29:51Anything outside that range will be flagged as an error during validation.
29:57Validation in the geodatabase is an active thing.
29:59It doesn't occur all the time, meaning you could programmatically put - you could type in 45 in this field...
30:06...and we'll accept it. We'll store it in the database.
30:09But when you do your validation on that feature, it's going to come back and tell you that it's outside the acceptable domain.
30:17You might be asking, Why don't you do it all the time?
30:20It's expensive. That's why we let you choose when you want to validate your features.
30:30The next thing I want to show you is a different type of domain.
30:33It's the coded value domain.
30:36Here we have a left and right domain.
30:37It's applied to a text field, contains coded values that symbolize what left and right are.
30:48So let's take a look inside of our feature dataset.
30:52He said that a feature dataset is like a coverage except for that it's a lot less restrictive.
30:58Inside here we have line polygons. We have a controller dataset called a topology.
31:05We also have annotation, relationship classes for classes that participate in this feature dataset...
31:11...and multiple tables which have the same geometry type; multiple polygon tables, in this case.
31:19Let's take a look at a feature class and see how it differs from our object class.
31:27So the fields list looks very similar, has an OBJECTID. In fact, it also has a PINA field...
31:32...which has the same PINA domain that our table did.
31:38It has a PINB field with a different domain assigned to it for a different set of valid values.
31:45It also has the job number field, and it has a shape field.
31:51This is where the actual geometry's being stored, which is displayed in ArcMap.
31:57Furthermore, I said that when we imported the shapefile, we didn't need to worry about the area field...
32:02...because the geodatabase manages that for us now.
32:05You can see there's a length and an area field added at the end of the class.
32:11This is where those values are stored, calculated from the geometry that's stored in the row.
32:18The next thing on here I want to take a look at is this PARCELTYPE field.
32:21It's of long integer, and it's significant because, for this class, it's what our subtypes are defined on.
32:30Let's take a look at the Subtypes tab.
32:33See that the subtype field is the PARCELTYPE field and that it actually has eight different subtypes.
32:42Now subtypes group like types of features together in a single class.
32:48You're not restricted by doing this, because you can define all the business logic you want at this subtype level.
32:54When a class has subtypes, what's defined at the subtype level wins for that feature.
33:01What does that mean?
33:03If you have a domain defined at the feature class level, and you create a subtype...
33:10...and you define a different domain for that field at the subtype level, the subtype level domain wins.
33:17That is what's considered valid for that type of feature.
33:23So let's take a look at a couple of these subtypes.
33:26We have the BaseParcel and below here we see a list of the fields, and we can see that it has a PINA field for the PINA field...
33:35...PINB field for the PINB field.
33:38If we take a look at one of the other eight codes, in this case, the PINA field does not have a subtype...
33:45...or does not have a domain.
33:48So, again, BaseParcel does have a domain. Subtype 4 does not have a domain.
33:55We're free to define our business logic at the subtype level.
34:01So we can preview this tax parcel feature class and see the geometry.
34:05It's about a hundred thousand features drawing.
34:08And we're able to identify, zoom in, pan and zoom, and identify features...
34:15...and see the attributes from that feature in the Identify window.
34:20The object ID, the PIN field. We can also drill down through our Identify dialog here and see the related features.
34:32In this case, there are related features, which - here, I'll zoom in a little bit so you can see that better...
34:40...which, when I select them, they actually flash on the screen.
34:45Now in this case, it's the annotation related to this feature class, and it's related through a relationship class.
34:51It's feature linked.
34:54So we can take a look at that, go back to the feature class's properties, and go to Relationships...
35:01...and see that it participates in two relationships, and this first one, Parcel2Num...
35:06...happens to relate the parcel to an annotation class.
35:13If we open up the properties of that relationship, we can see that has a type of composite.
35:18Remember, that composite meant that the origin feature's lifetime is what manages the destination feature's lifetime.
35:25So in this case, if the parcel is deleted, the annotation was deleted.
35:31It has a cardinality of one to many, one feature to many annotations, and has a notification of Forward.
35:41So forward notification means that when we move the parcel, the annotation is going to move with it.
35:47The geodatabase will generate a message, ArcMap will listen to it and will move the annotation with it.
35:55Unless you're going to do custom programming...
35:59...composite relationships are the only time you should enable forward messaging.
36:04Otherwise, the geodatabase is generating the messages for you, and nothing is listening to it.
36:14We can also see the name of the relationship class and the primary and foreign keys...
36:18...which are used to link the feature class to the annotation.
36:28And that is the demo.
36:35Thank you, Colin.
36:36So now we'll get into some of the advanced behavior of the geodatabase.
36:41We'll start with attachments then talk about geometric networks, network datasets, and lastly, topology.
36:49Attachments allow you to associate any type of file with a feature.
36:53It is available, or you can see what is attached to a feature on the feature identify...
36:59...and in ArcMap, if the file type is known by Windows, it can be directly accessed.
37:04So in the screen captures there, the far left one is me clicking on a fire hydrant with the identify.
37:11Then the Identify window comes up, and I can see that it has one attachment, as it says attachments...
37:16...and then, in brackets, 1.
37:17I click the down arrow, and I can see that it has a picture attached to it.
37:21So I click on that picture, and it opens up a Microsoft Office picture viewer...
37:26...and I can see the picture of the fire hydrant that I've attached to this actual feature.
37:37Geometric networks are a common way to model network systems such as utility networks, river systems...
37:45...anything that has some sense of flow to it.
37:49You build the geometric network in a feature dataset, and each feature class in the network has a role.
37:55Connectivity relationships between feature classes exist, and they are based on geometric coincidence.
38:03If two features connect in geometric space, they connect in the network itself.
38:10You can associate connectivity rules with the network to establish what type of junctions are valid...
38:15...to connect two edges together, or what type of junctions are valid to end an edge.
38:22And connectivity in the geometric network is maintained on the fly.
38:28The geometric network, what actually runs it in the background is a logical network...
38:33...which is created when you create this geometric network.
38:36Each network feature is associated with one or more elements in the logical network.
38:42And trace solvers work on the logical network to provide information when you click a feature...
38:48...about what it's connected to, where it's going, upstream or downstream.
38:54You can perform very specific tracing for each particular industry, such as isolation valve tracing for the gas industry.
39:03The example here is a downstream trace.
39:06So if I dropped at that flag location at the very top of the screen capture, if I drop something in the water there...
39:13...and I needed to know where it went, I'd place a flag and then run a downstream trace...
39:18...and I can see where the trace results, which are displayed in red there, end...
39:22...and that is all of the features which are downstream from where I selected.
39:29The network dataset is another network model, except it was designed and is optimized for the transportation industry.
39:36It supports multimodal scenarios, which really just means it supports multiple networks within the same network dataset.
39:43It runs through edges and junctions the same way the geometric network did.
39:48But it has a much more rich set of attributes that allow you to control traversability, travel time, travel restrictions...
39:56...speed limits, as well as quick, on-the-fly calculation of costs of travel.
40:02There's also, through the Network Analyst, a very rich set of analysis tools that can be used on the network dataset.
40:11To show what we mean by a multimodal network is the example here, which is a bus line and a subway system.
40:19If I was mapping out the transportation network in my city, I would map my bus lines, my subway lines, my street network...
40:27...and then each of them would be in their own, what we call, connectivity groups...
40:31...meaning you can't be in the middle of your bus line and then be transferred down to a subway line and continue on.
40:38You can only transfer between those two modes of transportation at a specific junction.
40:44So in this instance, it would be a subway station.
40:47You go on the bus. You hit the subway station which allows you to enter down into the subway line...
40:52...and then you can travel along the subway lines until you hit another junction...
40:55...which allows you to travel out into a different mode of transportation.
41:00The network dataset also supports turn modeling.
41:03So you can set - you can model that U-turns are or aren't allowed at a particular intersection...
41:10...or there's left turns allowed here but not here or one-way restrictions.
41:15These, again, do not affect connectivity, only traversability when you're doing your actual network tracing.
41:25And the geodatabase topology.
41:26It is a - topology manages a set of simple feature classes which share geometry.
41:32We use it to constrain how features share that geometry.
41:36We can define rules, and we have very specific editing tools for the topology.
41:42It allows us to validate features and ensure the quality of the data.
41:51You create your topology, like all the other controller and advanced datasets, in a feature dataset.
41:57You define the participating feature classes.
41:59And then you define a cluster tolerance, ranks, and rules of those feature classes and subtypes.
42:07Cluster tolerance is the point at which two features are treated to be equal in the x, y, or zed domain.
42:15You define rules within that topology, which are used during validation...
42:19...to determine if the features that are in your topology are valid or not.
42:25And violations are expressed as error features, which are managed in the database as part of the topology.
42:31You can work with both errors and exceptions.
42:34And you can examine and fix the errors in ArcMap.
42:39These are some quick examples of topology rules.
42:42Within ArcGIS we've added more since 10.0.
42:46We're well over 25 topology rules at this point.
42:50Some examples are the must not overlap rule.
42:52If you have, for example, state/county boundaries and the state boundary...
42:57...well, you don't want the counties to overlap each other; otherwise, you'll have disputes as to who owns what.
43:03And you also don't want your state/county to overlap your state line; otherwise, the other state will not be happy with you.
43:11There's also lines for must properly be inside polygons.
43:13You wouldn't want, for example, on this one on the right, if you had buildings inside of parcels...
43:19...you wouldn't want some of your buildings to be located outside of any parcel.
43:24And the last one there is the must not have dangles, which is just to say that edges should end at other edges...
43:30...and not just be left off in space.
43:35When you're editing with a topology, we create dirty areas.
43:40The dirty area defines an area in the topology which needs to be validated...
43:45...as it may or may not contain features which are in error to the rules that you have set up.
43:52You can symbolize them optionally on the table of contents.
43:57And errors that are found during validation have properties, such as which rule was violated...
44:04...and, specifically, what feature, or features, created that error.
44:08And you're given three options to deal with every error that shows up on validation.
44:13You can choose to ignore it, mark it as an exception, or fix it.
44:21That takes Colin to his exploring a geodatabase demonstration on the advanced logic.
44:30So we're back in our cadastral dataset, and inside the feature dataset...
44:34...which is constraining the spatial reference of all the classes that are in there.
44:38But in this case, we wanted to take it one step further.
44:41We wanted to actually manage the spatial relationship between our cadastral features.
44:46So a topology was implemented.
44:50And I have the topology properties open here.
44:53I'm just going to walk through those and explain what they mean.
44:56On the General tab, we have the name and the cluster tolerance.
44:59This is the acceptable distance between two points before they're considered equal.
45:04We also have a status of at what state our topology is in.
45:10Right now, it's been validated, and errors do exist.
45:14The next tab shows us which feature classes participate in our topology and their general rank.
45:20A lower number is a higher rank, meaning it's more spatially accurate.
45:26You would probably want to have a higher rank on your survey stuff...
45:30...and a lower rank on your digitized lines from orthophotos.
45:37You can also add classes and remove classes from this page.
45:44The next page describes all of the rules that the spatial features have to obey.
45:50An example is tax parcels. Like Dave said, they must not overlap themselves.
45:57If you forget what this rule means, you can click on the description...
46:00...and it'll show you a little image with, in red, where the error occurs.
46:08Another example of a rule is the tax parcels. Their boundary must be covered by another class called boundary.
46:16This is a topology rule between two of the feature classes that participate in the topology.
46:24If you remember the TaxParcel class, we have classes - we have rules that are defined at the class level for the entire class.
46:32We also have rules that are defined at six of the eight subtypes.
46:36So we'll be able to build up information on this at the subtype level.
46:42The elevated parcels have to obey this rule versus the leasehold parcels have to obey a different rule.
46:51We can add rules and remove rules from this page.
46:54We can also load and save rules.
46:57This is very important for your prototyping stage.
47:01Fill out the rules that you think you need.
47:03Save it so that you can iterate on it and come up with the exact case to make your data the best it can be.
47:12The last tab is the Errors tab in which we can generate a summary.
47:17And we can see each of the rules and how many errors are occurring for those rules.
47:22In this case, it looks like I have about 6,000 errors, and I may need to talk to my editors.
47:31So the next thing I want to show you is a geometric network.
47:37So, so far, we've been working with basically simple features, right?
47:41They're just geometries with some attributes.
47:44Geometric networks are the first time they really start to add extended behavior to those features.
47:52These features actually know that they're pipes, and they know how pipes connect to each other...
47:58...using specific types of junctions.
48:01They also know that they are connected to each other, right?
48:05This is what the geometric network brings to the geodatabase.
48:10So the first thing I want to do is I want to edit the geometric network.
48:13I'm going to zoom in here a little bit.
48:16And I'm going to create a new feature.
48:19I'm going to create a - let's see - a storm pipe with a type of main...
48:23...and I'm going to snap to an existing storm pipe.
48:27Now snapping's really important with geometric networks, because it's the coincidence of the feature...
48:31...that first establishes the connectivity.
48:35So let's snap on there.
48:38If you're ever editing, and it's snapping to things that you don't want it to snap to...
48:42...you can hold down the space bar and move it free from the snapping.
48:49So I'm going to finish digitizing my feature.
48:52I'm going to create it.
48:53We can see that, right away, connectivity is introduced.
48:57I can rubber band. It knows that it's connected at its join location.
49:02But if we look at this feature, a manhole wasn't created when I joined my two storm pipes.
49:09That's what I want. At every junction, I want a manhole.
49:11So let's teach this feature class how to do that through the geometric network.
49:19I'm going to not save my edits and go into my Catalog window and look at my data.
49:25I can open up my geometric network, go to the Connectivity tab...
49:32...and start to teach those features how they connect to each other.
49:35So I was connecting a storm pipe with a type of main to another storm pipe with a type of main...
49:42...through a specific junction type.
49:48Right now I want to create - I want to make sure that every time those two different types of pipes connect...
49:55...it's connecting through a storm manhole, and that in this case, the manhole is set as the default.
50:10So let's start editing again.
50:13Go in and digitize my feature - it didn't work.
50:23That's an excellent demo.
50:31A storm hole - a storm manhole should have been created, but I'm not sure - I made a mistake there.
50:38Basically, with geometric networks, you can teach features how to connect to each other.
50:45So let's move on to the next thing that geometric networks give us.
50:48It's the ability to do traces.
50:49Because they know that they're connected, we can do different types of traces on the features.
50:57So this trace, I'm going to say that we had a - let's say a chemical spill.
51:06And we want to find where downstream those chemicals are going to travel.
51:11So I've added my utility network toolbar.
51:14I'm going to add a flag here to one of the junctions, and then I'm going to do a trace which looks downstream.
51:24I can ask it to do that trace, and because these features know that they're connected to each other...
51:29...it returns the results downstream to this - oh, what - into an actual stream.
51:42The last thing I want to show you is attachments.
51:48So attachments are new at 10, and they allow you to attach objects, files from the file system, to features in the geodatabase.
51:59It's a one-to-many relationship so you can have - for one feature, you can have many objects in the geodatabase.
52:06So let's take a look at that.
52:08Here I have a manhole, and we can open up its attributes...
52:13...and you notice in the middle of this class there's an Attachments section, and it currently has zero attachments.
52:20But we can open up the attachment manager, and we can add things like a manhole, for instance...
52:26...an image of the manhole.
52:28We could actually add multiple images if we wanted to, or other types of files like maintenance history.
52:37Now if we identify this feature, we also see that they're there, and like Dave said...
52:44...since a JPEG is something that Windows knows how to open, we can just open it and view it.
52:52Additionally, ArcMap allows us to access these through HTML pop-ups.
52:58When I open a pop-up, now the first image in the list is displayed at the top.
53:05In the geodatabase, this is just a manholes class on which attachments have been abled [sic]...
53:13...and we see the attachment table, which is storing the blog for the attachments...
53:17...and the relationship, which is a composite relationship.
53:21So if I deleted the manhole, the attached features would also be deleted.
53:34Thanks, Colin. And now we'll finish up with just some geodatabase potpourri.
53:38We're going to briefly mention terrains, cartographic representation, parcel fabrics, and geocoding.
53:46Terrains are massive point datasets.
53:49They are multiresolution, and they can be made into on-the-fly TIN.
53:53They're a dataset used for modeling 3D surfaces.
53:56They are modeled within a feature dataset, and they allow for user-defined terrain levels or pyramid levels...
54:04...which apply different resolutions and vertical tolerances.
54:08This requires the 3D Analyst extension to define and edit a terrain.
54:12There's no extension license required to view a terrain.
54:17We have cartographic representations.
54:20These are a property on a feature class, and they store information about feature symbology.
54:26One feature class can have multiple representations, and there are rules and overrides that you can set up.
54:33The example here is in those red circles.
54:36You notice that where dashed lines meet, there is a nice T intersection.
54:41That is because there is a representation with a rule that says wherever one dashed lines meets the next...
54:47...to make sure that you don't have that empty space meeting an empty space...
54:52...that, instead, it's replaced with this nice black T.
55:01There are parcel fabrics which are our solution for parcel data management.
55:05Previous to 10.0, it required the Survey Analyst extension, but as of 10, it is part of core.
55:12It is used for the storage, maintenance, and editing of parcels, and it's created in a feature dataset...
55:18...and there's a very rich set of editing tools specifically designed for parcel management...
55:23...to allow you to streamline workflows and increase your spatial accuracy.
55:29And geocoding is the process of placing locations and addresses on a map.
55:36You can use location descriptions to find a location, such as coordinates, street name, place-name...
55:43...or you can use an address locator, which takes an address from some set format, parses it out...
55:51...and then places that onto the actual map.
55:57So, in summary, we looked at the geodatabase, which is the main ArcGIS data model for storage.
56:03It is a transaction model, and it is a bare bones set of COM components that can be used to program customized behavior against.
56:12Inside the geodatabase, we have datasets, we have simple features, we have validation rules...
56:18...which allow data behavior and integrity.
56:23We also have advanced behavior through advanced datasets such as geometric network, network datasets, and topology...
56:29...and we have the other datasets that are available within the geodatabase.
56:37These are some of the other geodatabase resources that are available around this week.
56:40We have the island downstairs in the main showcase.
56:45Meet the GIS people, the geodatabase specialists, at the Geodatabase Management Island.
56:49There's the geodatabase resource center which has the link directly below that in the geodata community.
56:55That is the best place to start if you're moving to the geodatabase...
56:59...which it has pointers to the geodatabase blog, as well as ArcGIS.com.
57:04Also check out the demo theater schedules at the islands in the showcase area.
57:07They have some interesting things about more specific aspects of the broad parts we've talked about today.
57:14So thank you for listening.
57:16Please fill out the surveys. The offer ID for this is 601, and are there any questions?
Geodatabase - An Introduction
Esri staff explore the geodatabase information model, including object and feature classes, raster, annotation, geometric networks, network datasets, and topology.
- Recorded: Jul 24th, 2012
- Runtime: 57:23
- Views: 441
- Published: Sep 6th, 2012
- Night Mode (Off)Automatically dim the web site while the video is playing. A few seconds after you start watching the video and stop moving your mouse, your screen will dim. You can auto save this option if you login.
- HTML5 Video (Off) Play videos using HTML5 Video instead of flash. A modern web browser is required to view videos using HTML5.