Transcript

00:01Welcome to this presentation, "Back to the Future."

00:05We like to tell you something about our adventures traveling in time using ArcGIS instead of a DeLorean.

00:16My name is Marc Hoogerwerf. I work with Royal Haskoning Engineering and Consultancy Company, and this is...

00:23...Maarten Tromp, my copresenter, and he works for the Dutch Ministry of Economic Affairs, Agriculture, and Innovation.

00:32It's quite a mixed bag of civil servants.

00:38Okay, an outline. I will be doing some of the - well, providing you with some of the background information...

00:46...on our project and on time travel, and then later on, Maarten will take over and do some demonstrations...

00:54...and maybe we see some codes and see what we did and then have some time for questions and answers.

01:07So to provide you with some background on the crop parcel registry in the Netherlands, well, first of all...

01:17...the Netherlands in Europe, if we transpose ourselves to this area, this is about the size of our whole country.

01:28And there is about 70 million of people of us living there, and most of us are dwelling in urban areas...

01:39...so a large part of our country is still agricultural land, about 70 percent or so.

01:48And as you can see here, in the dark areas, that's where we live, and the lighter areas is where we grow our crops and stuff.

01:58We have a crop parcel registry in place since 2001, and we use it, well, in order to comply to some European directive...

02:08...and also as a fundament for the payment of European agricultural subsidies.

02:21In this system, there are about 800,000 current parcels, and we have an archive of about 11 million parcels.

02:32And our farmers use an online system to enter their parcels and enter the crops they grow on those parcels...

02:41...and they have to do that every year.

02:45In a six-week period starting from April, they start filing their applications, and as you can see here...

02:53...towards the deadline, we get more load on our system, about 5,000 farmers a day doing their applications online.

03:08Another interesting thing, in this chart is also the dips in the graph; these represent Sundays.

03:17Farmers don't like to fill in applications on Sundays, but as you see, when the deadline approaches, more of them start doing that.

03:28So what are the challenges in a system like this?

03:32Well, first of all, accountability.

03:36Because the system is being used to pay subsidies, it is also being audited, so an auditor will come in and ask...

03:46...Okay, you paid this farmer this much of subsidy; well, how did you come to this amount?

03:58And we have to do it now but also in the past because auditors can also audit stuff that happened in the past.

04:07Then there's the question of consistency in space and time.

04:12Parcels should not overlap the parcels of the neighbor, and they should be consistent in time...

04:17...that when the farmer stops growing one crop and plants another, they should be consistent as well.

04:26And of course, we have an issue with the quality control of our input data, because we have 70,000...

04:35...well, non-GIS editors entering sometimes complex geometries into that system.

04:47So our proof of concepts. The system has been in place since 2001, but now it's up for a redesign.

05:02And in preparing this redesign, we are conducting a series of proof of concept studies...

05:12...to see if we can meet those challenges I just mentioned before with out-of-the-box functionality...

05:19...or at least a minimum of customized tools and using the ArcGIS frameworks to do that.

05:29Because over the past 11 years, we've been building lots of custom tools, mixing and matching...

05:39...all the technologies available at that time, so we used some Esri tools but also from other technologies and platforms...

05:49...for validation, workflow management, and editing...

05:52...and doing that with different solutions on the desktop, on the web, and in the database environment.

06:04And, well, what we found, that we have been reinventing the square wheel several times...

06:11...coming up with less-than-optimal solutions, and one of the things in the proof of concepts here...

06:17...is that we try to think about this again and see if we can use, well, the round wheels...

06:24...that are available in ArcGIS at the moment and the frameworks that support.

06:34A bit about time travel. We have a formal information model in the Netherlands that defines two types of time...

06:46...material time and formal time, and material time being the time that records stuff and, well, what's out there.

06:57What was on this piece of land between April 2004 and October 2004?

07:04And the formal time being what did the geodatabase know at a certain point of time of what happened at that time?

07:15So two different time concepts that are in this information model.

07:22And as you can see here, in order to apply some changes in your database, recording those changes...

07:32...takes quite a few steps because you have to record those changes in crop growing from winter to summer corn...

07:43...to potatoes to barley to onions in several steps, stopping and ending the formal and material time.

07:57So what we did is, well, we looked at what kind of time support there is in ArcGIS 10.1, and there are several mechanisms.

08:09One, editor tracking, where we can record who created an object or feature and when it was last edited and by whom.

08:20Geodatabase archiving, a mechanism to record this notion of formal time in an archive...

08:29...and time-enabled layers that will allow you to travel through material time and through formal time.

08:38And of course, in other extensions like the Workflow Manager, there are even more concepts of time and recording time.

08:47But we'll focus on these ones.

08:52Then if you want to implement this time in a geodatabase, we found out, well, we have two options.

09:00One, I just call it traditional option, and it's traditional in the sense of, you know, when we all used Workstation ArcInfo...

09:11...and an occurrence at a certain point in time, we had one dataset with nonoverlapping features.

09:20And the other option is the heap option, and this is something that is now in place in this crop parcel registry.

09:29We just keep adding parcels one on top of the other...

09:34...and meanwhile, keeping the history of those parcels in our geodatabase archive.

09:49So to help us in our proof of concept, we developed this user story about two farmers...

09:55...Wallace and Gromit, and the type of changes they recorded in the crop parcel registry.

10:03So first, we started out with nothing, then there's this Farmer Wallace who grows some corn in 2004.

10:13Then he decides to build himself a new farmhouse, so the crop parcel gets changed.

10:21He's still growing corn then switches over to summer corn and decides to sell part of his parcel to Gromit.

10:35Gromit starts a new crop, and at a later point in time, Wallace decides to buy this parcel back from Gromit...

10:48...and a year later, changes it into one-crop parcel with potatoes and then, in the end, decides to have some onions.

10:59So this is fairly straightforward, but our system also has to support another notion, is that, well...

11:07...what happens when we find out that, instead of winter corn in 2004, it was actually barley that was grown on this crop parcel?

11:23And as you can imagine, in this option 1, where we have only one parcel, you have to go out to the archive...

11:33...get your data, change it, and then store it again.

11:37And in the heap option, you just go to the correct parcel in time and then change whatever was there.

11:46And another one is, well, Wallace made a mistake or someone made a mistake and there was no application in 2005...

11:58...so we also have to be able to delete some stuff that happened in the past.

12:05And these were the bases for what we did with time.

12:11So, and with that, I'll turn it to Maarten.

12:15Thank you. I will show you some things about what you can do when you have this heap of parcels sitting in your database...

12:30...and you want to visualize that. That's my first demo.

12:35So I just show the basic functionality in 10.1; actually, this was there in 10.0 already, so I'll start with that.

12:45If you have any questions, you can just ask, and we can have a discussion. I think we have some time.

12:54So I will open up ArcMap. I have my feature class sitting there, and the feature class has certain fields...

13:05...and this material time is modeled in two columns. It's validfrom and validto.

13:15So what you can do, if you have those two columns, you can go into the Time tab, which is there since, like I said, 10.0...

13:26...and you can enable time on that specific layer and fill out the start and end times, or the validfrom and the validto fields.

13:41And ArcMap, ArcGIS for Desktop comes with a time slider, and with that time slider, you can look at those two columns...

13:55...and it's basically a query definition that takes place in the background.

14:00And right now, I'm looking at the year of 2000.

14:03Like Marc said, we started recording all the parcels starting in about the year 2000...

14:12...so that's why, basically, we see those three parcels in that first year of recording.

14:20If I switch to 2001, we get the parcels that were there in 2001, well, et cetera. You get it.

14:29So you can go through time and look at the parcels valid in that specific period of time.

14:38And the nice thing is the services of ArcGIS Server are also time enabled.

14:45So if you take this map, this MXD, and you publish it to your ArcGIS Server...

14:52...this notion of time is also implemented in the services.

14:58So that's what I did here, so I published the MXD as a map service.

15:07I switched on the capability also of WMS, the OpenGIS standard, and the service that's now there...

15:17...because the MXD was time enabled, has also time-enabled functionality.

15:25The next thing I did was I went into the samples of the ArcGIS API for JavaScript, and there's a dynamic layer example...

15:40...and underneath here you have this slider bar, and I think this is about gas fields. Whoops.

15:49Well, I took that sample and used that to visualize my crop in using the time steps.

16:01So we look at the same area of the Netherlands; it's the island of Texel.

16:06And again, under here, you can see that we're in the year 2000, and if you look very well...

16:13...you can see those three parcels that we just saw in ArcGIS Desktop.

16:19And the API also provides you with a slider, and you can go through time.

16:26And we're now in the year of 2001, 2002, and with every step...

16:34...it shows you the parcels that we have in our database for that specific year.

16:43Like I said, I also switched on the WMS capabilities, and what I just did during the plenary...

16:56It was a good plenary, but I was also a bit thinking about this presentation.

17:02And we have in the Netherlands quite a large group that uses OpenGIS and open source software.

17:12So I looked at a sample of WMS-T, so time-enabled WMS, and I thought, Well, I have 20 minutes...

17:20...so maybe I can turn this into a nice sample I can use.

17:26And again, I zoom in to the island of Texel.

17:32This, on top, it says the year 2000, and again, we see a few of those crops that were there.

17:39And it doesn't come with a nice slider bar, so I have to type it in. I go to the year 2001, 2002.

17:49Well, basically also, this OpenGIS-enabled WMS layer is capable of requesting the time from our ArcGIS Server.

18:06Any questions about this part? Okay.

18:12Then I switch over to the coding part. This is more about how to build the formal and material time into the database.

18:28This [unintelligible] 3616, how do you - how can you capture that formal and material time in the geodatabase?

18:40And there are some challenges to record that time, especially the material time.

18:50The formal time with the editor tracking, you can basically track when a parcel is formally changed in your database...

18:59...so that helps tracking the formal time, but with the material time, there's a challenge how to build that history.

19:11So what you can do is customize your application, your JavaScript API application, your Flex application...

19:21...and build custom logic to build the material time in the correct way.

19:29But that's not a very nice solution because that's for - you build a solution for that one client.

19:37If another client comes in and is starting editing your data, your data gets corrupted...

19:43...because you don't have the code running that's building your material time correctly.

19:51So what we did was, looking at the possibilities in ArcObjects to interfere with what is happening while storing the data.

20:08In Desktop, you can build an Editor extension, but then, again, it's solved in your ArcGIS for Desktop.

20:17What we did was looking at the feature class extension possibilities...

20:22...and with 10.0, there was a TimeStamper class extension sample...

20:36...which is basically what is now implemented in 10.1 as being the editor tracking capability.

20:46So we took that sample and looked at ways to correct the material time correctly.

20:59So it basically does - let me see, how can I...

21:10I implemented two things in this extension, which is I want to track in which version of the database the edit has taken place...

21:21...so in that way, you can, like, separate web editors, mobile editors...

21:26...and in the changed feature, it will capture the type of editor that did that specific change.

21:36That's one feature I implemented.

21:39And the other one is related to building the material history, and what we want to do there...

21:53We can dive into the code if we have some time, but I will show what is happening in the desktop version.

22:08So what we have here are three parcels, which those parcels have no end date on the validto date...

22:20...which actually means that the crop that is actually listed here is there in present time.

22:28What we now want to do is to create a new parcel on top of that starting on a certain validfrom date...

22:38...and what should happen is the parcels that are sitting underneath the new parcel should have a validto date, should be ended.

22:49So the validto date should be the same as the validfrom date of the new parcel.

22:55And that's basically the functionality that we programmed in this feature class extension.

23:01So I can start editing and wait a little bit. It's all sitting on my laptop, so it sometimes needs some time to spin up.

23:30Okay. So I pick a new type of crop and I start tracing, just use the edit functionality of Desktop...

23:48...and make myself a nice new parcel. (I didn't see that one. Ah! Bummer!)

24:13We did screw up last night, I guess. We tried to fix something.

24:41Do we have time? Well, not too much.

24:57Just try to run it from Visual Studio, see if that works.

25:11I'll continue, I'll wait...no. I'll show you the other demo.

25:23Basically, if this feature class extension is sitting also on the server and you are editing through the REST API...

25:33...the same behavior should happen when editing via another API.

25:44And that's the strength of this solution.

25:46You build it in a place, and you just keep using your normal APIs to do the editing...

25:53...and the building of the material time is happening automatically.

25:58So hopefully this one works fine.

26:04I go into the study area. I think my computer is about to die. Okay.

26:35So I'm looking at parcels. Because we have this stack of parcels sitting on top of each other...

26:43...we have a lot of parcels that have been valid in the past.

26:49So I click through them, and in the end, I will find parcels that have a validto date which is not filled in.

26:59So when I'm going to draw a parcel on top of this one, this specific one, the maize one should be closed.

27:09The validto date should be filled in, so hopefully - let's cross fingers. Yep.

27:17And I draw myself a new parcel on top, I fill in the validfrom date, so this new parcel is valid from this date...

27:36...so the parcels underneath there - I should have drawn a better parcel, really, on top of the previous one, but this will work.

27:48I'll zoom out and in again a little bit because the experience was that the caching kicks in and we won't see any changes.

28:03So I do the identify again on the same area, go through the parcels that sit at that location, and I will find myself right here.

28:21This was the parcel I just showed which had a validto date, which was null.

28:27Because there's a new parcel sitting on top, the feature class extension kicked in at the moment I filled in a new validfrom date.

28:37And that date is taken and put into the validto date of the underlying parcels.

28:45This is another one where we see the new validto date.

28:52And this is the new parcel, and we have a little bug because it says 1970.

29:00And that's behavior we see in the web application and not in the ArcGIS Desktop application...

29:08...so we have to figure out where the null and the zero are confused with each other and where that error sits.

29:19But I think the message is clear.

29:23Draw a new parcel, put a validfrom date; the underlying parcels that have an open validto date are changed.

29:35So in conclusion, I think we can say that in our proof of concept, we've shown that we can use standard functionality from ArcGIS...

29:45...and we do have to do some customization, but use the existing frameworks to get things done...

29:54...instead of, well, reinventing our own square wheels again. And, well, that was it, and thank you for your attention.

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

Back to the Future: Travel through Agricultural Parcel History

Marc Hoogerwerf and Maarten Tromp demonstrate using ArcGIS to create an agricultural crop registry.

  • Recorded: Mar 28th, 2012
  • Runtime: 30:05
  • Views: 648
  • Published: Apr 30th, 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.