Transcript

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:56Thanks, Colin.

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:31Okay. Coverages?

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:03...using domains.

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:44Thanks, Dave.

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:48So attachments.

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:35Geometric networks.

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:27[Inaudible]

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:36Click OK.

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?

Copyright 2013 Esri
Auto Scroll (on)Enable or disable the automatic scrolling of the transcript text when the video is playing. You can save this option if you login

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.
Download VideoDownload this video to your computer.
<Embed>Customize the colors and use the HTML code to include this video on your own website
480x270
720x405
960x540
Custom
Width:
Height:
Start From:
Player Color:

Right-click on these links to download and save this video.

Comments 

Be the first to post a comment
To post a comment, you'll need to login.
If you don't have an Esri Global Login ID, please register here.