Transcript

00:01Stephen Ervin from Harvard University.

00:06Let’s see, I wanted to say three things about this talk.

00:11One, I didn't actually bribe the editors to put my talk about object orientation right after Philip...

00:18...talked about objects multiple times.

00:22Two, if most of our talks in the geographic scale are at the 1:25,000 that we’ve been seeing here, and Carl's was out at...

00:31...one to a million or ten million or something, mine is at about 1:10 or 11.

00:37It's a very small topic, really, but I think it's important or I wouldn't be here.

00:44And it came up because I was doodling, as is a habit of mine, and I was doodling words...

00:52And it's just not point, lines, and polygons; that's pretty clear.

00:53...actually, not in PowerPoint but originally.

00:56In case you didn't get it I discovered that they lined up.

01:04And I thought, now, is everybody going to agree with me about that?

01:08I just took it for granted when I wrote this.

01:11But I'm not sure that everybody would agree with me about this and so I thought I would say a few words about it.

01:19In the last 10 years or so, certainly in the last 20 years, anybody who has been programming...

01:24...has been working around computers, has seen the emergence of this thing called "object-oriented" something.

01:30Usually object-oriented programming systems, which has the unfortunate acronym OOPS.

01:37Or, object-oriented databases, which are coupled with them.

01:42And many of the good ideas that have come out of object orientation, object-oriented programming...

01:47...and object-oriented databases, are applicable at higher level, not just for programmers'...

01:54...activities, such as the activities of geodesign.

01:59Hence, I've got one more acronym.

02:02No, wait.

02:03No wait! I've got...

02:05There we go - object-oriented geodesign.

02:11Object-oriented programming says Wiki, "a programmatic paradigm that uses objects," end quotes.

02:17Data structures consisting of data fields and methods.

02:22This may turn out and seem to many a quibble among programmers about something...

02:27...or other and so, and part, it is.

02:30But I'll try and clarify where I think it's not.

02:34Many modern programming languages now support OOP, because there have been some obvious benefits...

02:42...that have accrued to people writing code.

02:46A little bit of history, back in the early days, the prehistoric, preweb days, there was a little language called...

02:54...Small Talk that emerged from some very smart folks.

02:58And they wrote a very interesting little program called Thinglab, both of which you can Google...

03:03...if you're interested in, but not right now.

03:06And, there...it was really great, because in Thinglab, you could actually see things.

03:11There were balls that bounced.

03:14And that was interesting because they were able to encapsulate real physical objects...

03:19...and real physical attributes of these things that were just in code and make them so they could...

03:23...collide and respond to gravity or be elastic, and various other kinds of things.

03:27So that was interesting and cool in the early days of computer graphics.

03:31And it also turned out that there was this idea that, for example, a rubber ball was both an instance of...

03:37...something spherical and an instance of something elastic, and it got some of its properties from...

03:42...being spherical and being a member of the class of all spherical things.

03:46And it got some other properties from being elastic, and a member of the class of all elastic things.

03:51And as a programming convenience, you could write what you knew about elastic things in general...

03:56...and then you say, oh well, you know, rubber balls, a special case that happens to be spherical...

04:00...has some other attributes.

04:02A spring is another kind of elastic thing, because you could reuse all the stuff you knew about elastic things...

04:07...and then specialize what was unique about a spring.

04:10And a rubber band was an example of all things that are rubber and all things that are elastic...

04:14...and all things that are toroidal or cylindrical or something and also had these other attributes.

04:19That turned out to be a very powerful way of thinking about aggregating large, complicated assemblies...

04:25...of knowledge about things like the real world, or very small things like bank accounts and so on.

04:30And so this idea about this kind of programming directly led, quite directly, to Java...

04:36...which is one of the preeminent programming languages in the world out there, and the other two...

04:42...sort of main production languages in the world right now, Objective-C, which much of the Apple industry...

04:48...is built upon, and the dot net/dot com structures that the Microsoft Windows world uses in.

04:54And so this is happening out there.

04:57Indeed, much Esri software is object-oriented.

05:00There are ArcObjects that some of you have heard of references to in the talks to date.

05:07And at the underlying level, the level that programmers and developers who get access to the stuff...

05:13...are using objects and extending them.

05:16That's a great thing.

05:17You can take a standard class and extend it to your unique needs, and you inherit all the good work...

05:23...that was done by people before you plus whatever unique customizations you have to make yourself.

05:28And developers get all kinds of useful predefined objects to work with.

05:33There's the terrain data importer object, and you can say, oh! I'd like one of those in my application...

05:38...and just effectively import it and say “take it”, but in my case, I've got this additional thing that I want to do to it.

05:43And all you have to work on is the additional thing that you want to do, which is efficient...

05:47...and that's great, and it inherits and builds up things that can be traded.

05:52So Esri can hand out these objects to other people to use, refine, and use in different ways.

06:00But, geodesign community, unless they happen to be programmers working on this, don't get the same rich...

06:06...and expressive library of useful objects, which I think we could use.

06:12We mostly get, you know, PGP, and PLP, and many tools for making them look like...

06:20...or represent real-world objects, and we can say, oh, this icon, this double line with black...

06:28...in the middle and gray at the edges represents a road.

06:31And so it's sort of object-like you could just fake yourself into thinking you're working with a road...

06:35...but you're not really; you've just got a line with some attributes on it.

06:44And we don't get the two most valuable things that object-oriented programmers get...

06:48...which is encapsulated attributes and behavior; that is, not just the attributes but also the behavior.

06:53What do roads do - and how do they work - and how do they intersect with other things...

06:56...are all wrapped up in one package that you can hand around.

07:00And, this notion of class and instance inheritance.

07:03Where you can say, my road is a special case of all dirt roads but mine’s got this very special...

07:08...interesting characteristics about it, and build on that.

07:12And all of those things - those two things - have added up to a whole bunch of benefits that...

07:16...programmers enjoy, but most geodesigners don't.

07:22Things like, trees, forests, cars, fire hydrants, watersheds, are indeed objects that we could use.

07:30They come with a whole bunch of useful attributes already built in.

07:33You've got the tools to extend the attributes that you need, and share them in various ways.

07:39And indeed then, models and simulations can be built upon these, and even built into these...

07:46...kinds of objects that can be handed around and shared.

07:50There's an asterisk; that means, something to follow later.

07:54So, we could actually have a library - wouldn't that be great - of the kinds of things that we want to...

08:00...geodesign with, some of which are well known and understood and some of which are absolutely new...

08:05...and to be invented by you in a way that might draw upon some previous class attributes...

08:11...methods, and so on, and handed down, and moved along.

08:15 And there's the asterisk.

08:17It's not easy; that's what I'm saying, if it were easy it would have been done.

08:23There are many problems.

08:25How do you goactually what is the...and I’ll...

08:28...probably should have used the word ontology, but it's been used so many times here...

08:31...at this conference I didn't think I had to.

08:33But what is the ontology? What are the taxonomies?

08:36And how do you choose what are the appropriate top-level classes and instances that you want to use?

08:43There's no probably one right answer, and so what is the taxonomy of taxonomies, and the...

08:47...ontology of ontologies that we're going to have to work with that will be helpful?

08:57And indeed, the object-orientedness is interesting and fascinating, but as I and some others have...

09:02...pointed out for some time...

09:05...in the geoworld we have these things called fields like forests which are more than just the...

09:10...aggregation of the individual object trees, or so on.

09:13And they're not readily modeled in the object-oriented paradigm, which makes it interesting.

09:18It's a challenging, possibly even research-worthy, enterprise to think about.

09:25There are emergent methods.

09:29You search the literature and you'll find object-oriented this and object-oriented that in a wide range of...

09:35...applications that, and this is in the research environment, mostly. Researchers are sometimes a little bit...

09:42...ahead of the development industry.

09:47And, we've heard a couple of times about our friends at CityGML, and CityGML certainly...

09:53...I think right now, is one of the frontrunners in having both a starting set of taxonomy...

10:00...and ontology and sets of words and classes that are already shareable and can be specialized...

10:05...and can move around and be shared.

10:07So this is, I think right now, the best example of how this is working out, where you can add and subtract...

10:14...attributes from classes in ways they can use things.

10:20Is an acorn an object?

10:22Is an ecosystem an object?

10:25What about clouds?

10:27Well, there is no predefined class right now for clouds, but you can represent your clouds as generic city objects.

10:35That's a useful thing.

10:36Or, you could sit down and define the concept of a cloud, and all of the attributes that you want for it...

10:40...and all of the behaviors that you expect out of the cloud, and add it into the library for all to change...

10:45...or you could petition the OGC to add it into the canonical list of things that people might care about.

10:51And that's what the great benefit of object-oriented approaches will be.

10:58And, OOGIS is an old idea.

11:02Our friends Egenhofer and Frank wrote in '92, "The concept of complex objects and...

11:09...pertinent operations are more powerful modeling methods than the currently popular structure...

11:14...of relational tables and relational algebra."

11:16Not to diss relational tables and relational structure that most of us grew up with, with points, lines and...

11:22...polygons as the way to express a coherent world, but at least some smart folks out there have been...

11:29...thinking about alternate ways and costs and benefits of them, and I recommend some of this thinking...

11:35...to you for understanding some of this.

11:38Object-oriented geodesign may well require object-oriented database management systems.

11:44That's part of what they were saying - as opposed to the relational database system that most Esri users...

11:51...and certainly most database users for the last two decades have used.

11:54There's some different paradigms, and indeed, in the world of the web with large, huge cloud-like data...

12:01...you may have, some of you may know that there's a no-SQL database movement...

12:06...trying to understand the needs of the database systems and knowledge representation.

12:11And so you can read all about it at odbms.org.

12:17These kinds of geo-objects that I've just described would naturally reside in the library that I...

12:21...described when I first talked three years ago in Santa Barbara about something...

12:26...the spatial concepts and GIS and design.

12:28Before we had settled on geodesign, I simply said computer-aided geographic design system...

12:34...at the time, and one of the things, including the elements, including the objects and the classes that would...

12:39...be required in this design system that I proposed, was a library where you could store such things...

12:44...and share them and loan them out and a number of other important...

12:49The idea that objects, like elements, can have relationships between them, can be encoded and encapsulated...

12:55...in this paradigm, this way of writing code, and I’m beginning to think about models, and I think that's useful.

13:02And indeed, the diagrams that I talked about last year from this very same podium are all about objects.

13:10We say, oh, there's going to be a park over there, and the concept "park" carries...

13:14...a whole bunch of attributes with it, which I don't want to have to stop and fill out right now...

13:18...I just want to put this placeholder called "park" for the moment.

13:20I may replace it later on and say no, park's no good, what I want is building, parking lot...

13:24...and then from parking lot I want to go oh, you know, the kind that's got trees with pervious soils...

13:28...elaborate these ideas.

13:30So there is a process I think, of going from high-level objects with mostly default attributes to highly...

13:37...specialized objects with very detailed attributes, that is, part of the design part activity of...

13:43...geodesign, which object-orientedness, as a way of thinking, I think, helps.

13:52It's obvious that there are many, many, many use cases and many different kinds of applications of...

13:59...geodesign, and there will be various sorts of objects.

14:03And indeed, object-oriented methodology is not a panacea.

14:07You'll find, if you look in the literature, people will say, oh that stinks, that it takes too long...

14:11...it's got all kinds of problems with it.

14:13But you can find people saying that about anything these days, especially on the web.

14:18They are a proven approach, and I think they're what every geodesigner needs.

14:24Thank you.

Copyright 2014 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

Object Oriented GeoDesign

Stephen Ervin from Harvard University presents "Object Oriented GeoDesign" at the 2011 GeoDesign Summit.

  • Recorded: Jan 7th, 2011
  • Runtime: 14:31
  • Views: 25561
  • Published: Feb 24th, 2011
  • 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.