Transcript

00:01This is Sharing of Geoprocessing Packages, which is something that is new in ArcGIS 10.1.

00:08We're just kind of expanding on some of our packaging technologies that we had or that we had with...

00:13...we started with 9.3.1, I think, with layer packages, and then had map packages in 10...

00:18...and now we're going to be introducing geoprocessing packages in 10.1.

00:23And to us, this is very important; and this is actually the real power of sharing, as we see it.

00:31My name is Ashley Pengelly; I'm one of the lead product engineers on the geoprocessing analysis team.

00:36This is Bill Moreland; he's the lead developer, so if you guys have any questions...

00:42...we should be able to answer them for you guys.

00:44And we want to keep this informal, so if you do have any questions, don't - you know, stick your hand up...

00:49...we want to kind of address them as we're going.

00:50[Inaudible audience comment]

00:52I'm sorry?

00:53[Inaudible audience comment]

00:54Don't hesitate; what'd I say?

00:55[Audience comment] Don't stick your hand up.

00:56Oh, it's don't hesitate to stick your hand up. Sorry. And this shouldn't take us the full 75 minutes...

01:05...the concept of sharing is pretty simple. But we just want to walk you through it, make sure you guys understand...

01:10...what's kind of happening with this functionality.

01:13[Inaudible audience comment]

01:15No. So let's just give a little bit of an overview of what we're going to talk about.

01:20So we're just going to talk about a little bit about sharing analysis in general - very short...

01:24...and then we're going to talk about just the basics of a geoprocessing package.

01:28Then I want to go into a little bit about creating and sharing the geoprocessing packages, and then...

01:32...we're going to talk about using them and customizing them, so once you've got them, what you can do with them.

01:37And then we're go into a little bit of a deep dive here and get a little bit geeky...

01:41...and Bill's going to talk about the anatomy of a package.

01:44So when you go to that extracted folder, what exactly do you see? That's right.

01:50So let's just jump right into the analysis, or the concepts of sharing.

01:55So the idea of sharing analysis is really simple, right? Everybody wants to share their hard work...

02:00...and their tradecraft and what they've done with others. But the implications are very, very powerful.

02:06Just think about what it leads to in terms of knowledge sharing and the collaboration that you can have now that...

02:13...you know, you spent hours, if not days, building something - you can just easily give that to somebody...

02:17...and they can learn about it, they can rerun it, they can augment it...

02:20...they can do whatever they want with it, and you don't have to worry about anything anymore.

02:23We're going to take care of all that hard work. Once you get that successfully run result...

02:27...and you right-click, and you go share as a geoprocessing package.

02:36So maybe some of you have seen this slide before, but this is just about sharing in general.

02:40So there're two ways to share analysis and your workflows.

02:42One is as a package, and one is as a service. Services aren't new at all - geoprocessing services...

02:49...but with 10.1, what we've done is, we've made it a lot easier for you to share your analysis, right?

02:53It's the same sort of idea. You run your tool, you right-click on that result, and you go share as either package or a service...

03:00...and when you're sharing as a service, you can specify all the parameters...

03:04...go through the dialog, and up it goes to the cloud or to your server, and you're able to have people consume those.

03:10Packages are more for the professional to professional, right? They're made within ArcGIS Desktop...

03:15...and they're consumed by people who are on ArcGIS Desktop, alright?

03:18If you decide you want to create a package that's consumable in ArcGIS Runtime...

03:22...you can do that as well; it's just a simple check box.

03:28So let's go into a little bit about the basics of a geoprocessing package.

03:32So do you guys remember this? Who's tried to share their analysis and their workflows in the past? Show of hands.

03:40And how was it - was it a lot of fun? Do you remember - remember in the doc, all those topics about...

03:48...oh, for heaven's sakes - browse to...

03:56Do you guys remember this? This structure for sharing tools? Having to know about relative paths, all that kind of stuff?

04:05Controlling your workspaces? Yeah?

04:08And even then, when you got it all together, and you tried to zip up that folder and share it...

04:11...sometimes, you know, you'd wonder if it would work or not.

04:14That's all gone, right? Just forget all about that now, because all you simply need to do, to worry about...

04:20...is making sure that your model runs successfully.

04:26Your model tool or your script tool - if it runs successfully, we should be able to package it.

04:31Custom tool - any kind of tool that you're running. So that's the power of this.

04:36If you take anything away from this class, and we could end this session right now...

04:40...and say, You know what, if you have a successfully run result, and you right-click and share it...

04:44...and then you give it to somebody...

04:46...it packages successfully and you give it to somebody, and they have a problem consuming it...

04:49...that's a bug. It's a bug with us, and we need to fix that, but we've done a lot of work and a lot of testing...

04:56...that hopefully that doesn't happen, but that - it's as easy as that.

05:00You get a successfully run result, right-click Share as, and off it goes.

05:07So what is a geoprocessing package? Well, basically, it's just a single file, a GPK file.

05:12It contains all your ArcGIS data and all your tools, alright? So it's a file.

05:16So that means you can share it by any means - you know, through e-mail.

05:22It's designed and enabled for GIS professionals to easily share their analysis work, and it can be shared...

05:28...like as a file uploaded to ArcGIS Online. You can do that automatically through the dialog...

05:32...as an attachment to an e-mail, even across the network. So it's just a file.

05:39Who here is working - is on ArcGIS 10.1 right now? Have any of you guys tried creating geoprocessing packages?

05:47Yeah? Did it work? Alright. And was it easy? So, alright!

05:54A package or a service or both?

05:56[Audience response] Package.

05:58And the service was easy?

06:01[Audience response] Not as easy as the package.

06:03Why?

06:06I'm sorry for taking this time, but this is interesting to me.

06:07If that fails, I'll go to the current workspace. If that fails, I'll go to the scratch workspace.

06:09[Unintelligible audience response]

06:21Alright. Yes.

06:23[Audience question] Do you have to have a subscription to ArcGIS Online in order to share a package?

06:31No. The question is...

06:32I tried to use that and I couldn't.

06:35Well, in the option...

06:36You're going to show all the...

06:38...Ash will show how - there's an option for saying...

06:41...Do you want the package to go to ArcGIS Online, or do you want it to become a file on your local drive?

06:46Just click the option for the local drive, you know, generate a GPK...

06:49...that you can just hand around and share, as Ash was saying. So you don't need the online option.

06:55[Audience question] But what if I wanted to send it somebody...

06:58Do you want to share it online?

06:59[Audience response] Well, yeah, so that another person at another...

07:02Yeah, you don't need to have a subscription. If you have an ArcGIS Global Account, you should be able to...

07:07...just share it up to ArcGIS Online.

07:09Or you could e-mail it to someone, or you could just do anything.

07:12Yeah, if I don't show it here, then I can - we can talk to you afterwards, and we'll definitely show you how to do it.

07:19[Audience response] Okay, good.

07:21So these geoprocessing packages, of course, can be unpacked, and they can consume by ArcGIS Desktop...

07:27...or the ArcGIS Runtime applications, if you have the Support ArcGIS Runtime check box checked.

07:33Now, if you're wondering where this is, it's not actually enabled that the whole check box...

07:39...you have to go into your ArcGIS options in there, and enable for Runtime; and then you'll see this on there, so...

07:45...if you will go up and go, Hey, I saw this check box but I can't find it, you actually have to turn it on.

07:53So why use geoprocessing packages? Well, lots of reasons we kind of talked about a little bit before, but...

07:59...one reason is to improve productivity, right? You can learn from others - from other experts...

08:03...other experts that you know, within your organization, but other experts that you know or don't know...

08:09...that share their stuff and their expertise to ArcGIS Online...

08:13...and you just go on there and search for them and you find the tool that sounds interesting...

08:16...or you think is going to be useful and you download it, and sure enough, it is.

08:21There's a lot fewer resources wasted on duplicate efforts, right?

08:24You can actually take your geoprocessing package, you can collaborate with it, you can share it with others...

08:29...you know, they can add stuff to it, so you're not actually building on the same...

08:33...you know, trying to solve the same problem.

08:35You can actually collaborate with these packages.

08:38It enables more people to work in parallel.

08:41Also, this is what we were talking about with the enhanced collaboration, right?

08:44It encourages efficient teamwork within the organization.

08:50All your analysts can be collaborating; we can be sharing your package around...

08:54...people can be putting their expertise on it if they want to. Yep - question?

08:57[Inaudible audience question]

09:04Yes, geoprocessing packages are new at 10.1, and they're not backwards compatible. Yes - only 10.1.

09:11[Audience response] Alright, so if you have a tool that you've written to make work with others, will it work in 10.1?

09:20So your question is, If you have tools that worked in previous versions of ArcGIS, will they work in 10.1?

09:25[Unintelligible audience response]

09:27Yes. Yes. All your tools - one thing that we stand by is that any previously created tool that you've made...

09:36...custom tool, script tool, model tool, it's always going to work in our newer versions.

09:39We- that's a very strict rule with us.

09:43Model, scripts, [unintelligible] it's all upward.

09:46Yep. Okay? So what's in a geoprocessing package? This is where it gets fun.

09:54So the tools, right? Obviously, if you've created a model or a script tool, that tool's going to get packaged along.

10:00But also, that tool may contain other submodels or other subscripts.

10:05All that stuff gets consolidated and sucked up within that package.

10:09There's the models, all the scripts, the Python files - they all get brought up along with the package.

10:14And the data - the input data and the output data that you need...

10:18...for somebody to be able to successfully reexecute that script tool or that tool is part of that package, right?

10:27The settings, the environment settings that were in effect when that tool was originally run, and that result was created...

10:33...and documentation, right? So a big part of sharing is making sure your tools are well doc'ed, right?

10:39But there's also the ability to, with additional files, to add more documentation in terms of PDFs or graphs...

10:45...or whatever you want in terms of other files. You can actually attach those.

10:50And all this stuff combined is all what's contained inside of a single GPK or a geoprocessing package.

10:58So now let's just jump into creating and actually sharing geoprocessing packages.

11:02So the steps. I'll quickly go through these. So you construct your tools, right? You build your model, right?

11:09Everybody's - I hope everybody's had a chance to play with ModelBuilder or write a Python script tool...

11:13...this is the construction of that, right?

11:15Your system tools.

11:16Or just your system tools, as well, yep.

11:20Part of this too is, in the construction of your tool, is to make sure that it's well documented, right.

11:24This is the part where you're preparing and constructing it for sharing.

11:28You're actually thinking about you want to be able to share it with somebody else.

11:31You run your tool, right? This may take several iterations. Does it run correctly? Does it run without errors?

11:36Does it create the output that I expect, right? You run it until you get the result that you want.

11:41When you get the successfully run result, then you can go ahead and you can share that result as a package. Simple as that.

11:47Okay, let's go into a little bit more detail into that. So, constructing your tools - testing and debugging the model scripts, right?

11:54Take the time and effort to document your tools. Go beyond the minimum requirements.

11:59The considerations for sharing? The size of your data, right? I mean, you're sharing this GPK.

12:05You know, you could be acting on gigabytes and gigabytes of data, which is very good, you know, because, you know...

12:10...other people may want to do the same sort of thing, or they want to understand that your model or your tool...

12:14...works on large datasets, but it doesn't make sense to package that all up and put it online or e-mail it to somebody.

12:20Probably not. But - so these are considerations you have to take into account.

12:23To get around this, one thing that we've done is, we've given you the ability to only package the schema, right?

12:28So no data goes in - none of the records for the input or output go along with the package, just the schema.

12:34So they get the - that way your tools will continue to run successfully, because we still know the schema of the data...

12:40...we know the table structure, we know all that kind of information.

12:44You run the tools, right? Everybody who's done any geoprocessing knows how to run tools.

12:49You execute them, the result gets written to the Results window, and only valid results can be shared as packages.

12:58A geoprocessing package can have more than one result, right? That's powerful as well.

13:03You may have three or four different model tools, or any kind of tools that have run, but you want to share all of them...

13:09...three or four of them, five of them, however many you want, that have all successfully run.

13:13You can do this in two ways. You can select them within the Results window, do like a multiselect and share as...

13:19...or you can, from the packaging dialog, you can click Add result...

13:23...and it'll take you to the Results window, and you can add them in that way.

13:29So let's talk about sharing the analysis, right?

13:33So share as, right? You right-click on the result, the actual result in the Results window...

13:38...and you click Share as geoprocessing package. This is where you decide if you want to share it to ArcGIS Online...

13:43...or you write them right the file straight to disk. There's the dialog right there for you where you can pick your option.

13:51You can pick whether you want to do schema only or including data.

13:53Including data is the argument for if your tool has been running on ArcSDE data...

14:00...and you're sharing your package in-house; you don't want to package up that data; it's already...

14:06...your colleagues have access to the data through your enterprise server, so you can just share it that way...

14:10...and keep the data within - on the server.

14:13And you want to support ArcGIS Runtime. So these are for - if you've created a Runtime application...

14:19...you could take a geoprocessing package, and you can consume it within that Runtime application. Yep?

14:25[Audience question] Is there a way, other than probably doing some preprocessing, to selectively include data...

14:35...instead of a - either an all-data or a schema-only, is that the current...

14:38...configuration - you can't use parameters in ModelBuilder to...

14:44We have a whole workflow and literally...

14:47...there's one that just hits this giant national wetlands inventory dataset...

14:51...we actually want to include the rest of it. The only way to work around that now...

14:56...is to do a feature selection to make it a tolerable sized file before we could do that.

15:03Right. If you select those features within your model itself...

15:08...and correct me if I'm wrong - that's what you're doing - then you should only get those features.

15:11And that's not what you're seeing?

15:13He's talking about combining selectively schema only and include data per process in the model, correct?

15:22[Audience response] Correct.

15:24And no. There's your answer.

15:29It's a good idea - I mean, we may add that as an enhancement for after 10.1. It is a good idea...

15:36...because it's not black and white on that.

15:41Can you guys all hear me fine throughout? Good.

15:44So let's just go through a quick demo here about creating and sharing a geoprocessing package.

15:51So basically - I'm just going to take over the role - I'm going to be a crime analyst here in San Francisco.

15:55And what you see here is a bunch of crime data. And the different sizes are based on the intensity of these crimes, right?

16:03Some crimes are more intense, and they have a different rating than other ones.

16:08What I want to do is I want to create a surface based on two things - based on location and based on time.

16:14So I've created a model here that basically allows me to do that.

16:19And I'll just quickly open this up so you can see it.

16:27So let me just - so what you can see here is, the two variables that I'm interested in are location and time.

16:34So I have a feature set that's going to allow me to do the location, and then I have a time-of-day variable as well...

16:39...and you'll see it when I run the tool.

16:41I'm going to create the surface here, and then we're going to create the output surface, and it's going to come onto the map.

16:47So let's just close this, and let me just quickly run this tool.

16:54So it took me a long time, you know, to figure out...

16:56...and this is something very useful that I think other crime analysts are going to want to do.

16:59Fortunately, I have a friend in Washington, DC, who is also a crime analyst...

17:05...and he's been looking for something like this. So I have this tool, and I'm going to run it...

17:08...and actually, I want to share it with him.

17:11So here's where you can see afternoon, so I'm basically what I'm going to do is...

17:15...I'm going to draw an extent around some of these points, and I've chosen the afternoon here...

17:20...and so each of the crimes that were committed within that time frame...

17:23...are the ones that we're going to create the surface on.

17:26So I'm just going to go ahead and run it.

17:34And this could be any scenario, right? So we'll get to - what I really want to show you is how to share this.

17:41There you go. So you can see that the surface was created, and you can see that the hot spot shows...

17:44...that the most intense crimes in the afternoon are within this area with the darker red, okay?

17:50So from the result - it successfully ran - and I want to share this.

17:54So let's just right-click Share as geoprocessing package. Then I get introduced to a dialog.

18:00So within this dialog you see a few things, right? We see this geoprocessing package.

18:03The first window that comes up, I have the option - here's where I can check to share with ArcGIS Online.

18:07If I do that, you can see that the Sharing button comes up, and that allows me to connect to ArcGIS Online from here.

18:13This is where I'm putting in my global user name and password, so it already knows about me.

18:18And I could have groups and things online, and I could share it that way.

18:20But for this case, I just want to write it to disk.

18:27Here's where my options are to package schema only or to include enterprise data, and even the ArcGIS Runtime.

18:35We can see here some item description, and here's where I can put some additional files.

18:39Now, along with this analysis, I also have a PDF file that I want to include...

18:46...that includes some additional documentation that I had written about this process.

18:50I'm just going to open it, and that's going to get included in my package.

18:54One of the things that we've done - this is cross-packaging in general...

18:57...across layer packages, map packages, all of them...

19:00...is the ability to analyze them, to check for errors, right?

19:03Every - even before you click Share, an analyze is performed; but if you want, you can click on Analyze.

19:08I'm just going to go right ahead and click on Share, and just to show you that the analyze does actually happen.

19:13And what you can see here is that I actually have - the tags are missing in here. And tags are very important...

19:18...part of sharing any kind of package, because if you don't have good tags, no one's going to be able to find it...

19:24...when they try and search for it.

19:26So if I double-click on it, it's going to take me to where the error is, and it's actually here, so I can add some tags on here.

19:40This is one way I could fix this. But what I want to show you guys is actually, this information...

19:45...and you could save yourself the work, when I was talking about preparing.

19:47I'm just going to close this dialog. And I'm actually going to go to my tool, and I'm going to right-click on it...

19:50...and I'm going to look at the item description.

19:53We inherit, or we pull from the item description of your tools, so when you're building them...

19:58...and you're considering them for sharing, this is where you can put a lot of good work in...

20:01...to making sure that your item description - this is part that gets forgotten about a lot is the metadata, right?

20:06People who consume these - you may not know who they are, but they need to know information about...

20:11...the model that they're going to be running, so...

20:13...I just want to edit this, and in the tags, I'm going to add my tags here...

20:18...Crime hot spot - and I'm going to save it.

20:32And saving takes a while, and then click OK. So now when I go in here, and I go share as geoprocessing package...

20:39...it's all the same, except for now when I analyze, I don't see any errors.

20:44The window came up, and there's no errors in here.

20:47When I click my item description, you'll see here, my tags are already populated.

20:49So the point there was, I wanted to show you that you'll save yourself some time and effort...

20:50This goes along for your layer packages, map packages, anything as well.

20:53...in making sure that the packaging process goes a lot smoother...

20:56...if you take the time ahead of time to make sure you properly document your tools.

21:03And I'm just go ahead and I'm going to make sure I know where this is going, and I'm going to share.

21:16And right now, what's happening is we're preparing that data. We're taking all this information...

21:20...we're taking the surface, in input points, the model that I had run, that additional file...

21:26...and we're throwing it all into one package, or one GPK file that I just wrote out to disk.

21:34Okay. So here we can see - there it is right here - here is my package.

21:41So let me just go ahead, and I'm just going to close this.

21:46And just pretend that through e-mail, I'm now in Washington, DC, and I received that package from my friend...

21:53...either though e-mail or FTP or however he shared it with me.

21:57But this is my DC map with my DC crime. Here's the package; let me see - let me just refresh this...

22:09...there's the package. And I can double-click it, and I can just add this directly to this map, right?

22:15And what you'll see is - well, you won't see it right here, because we're on a different extent, but it's unpacking...

22:20...it's unpacking to my local hard drive; the data from the San Francisco is here.

22:25I can see that I can actually go to it. I could rerun it on top of this San Francisco data if I wanted to...

22:34...but I want to go back to my DC data.

22:40I'm going to open up the tool. Before I do that, I just want to show you here...

22:55...okay, let me double-click on this, and what I can do is, I'm just going to swap the data for my DC data.

23:05Now I can do the same thing, but I'm interested in doing crime on the morning.

23:08I'm just going to draw my extent and go ahead and run the tool.

23:24So you can see, it was very easy for me to be able to share this, and just as quickly as that, give it to somebody else...

23:30...they were able to substitute their data in, and all the knowledge that I had in creating my...

23:35...the surface with my data now can be easily shared with other people.

23:39This can easily be put on ArcGIS Online for others to consume and use as well.

23:43And there's the surface that was created for - with the DC data.

23:50Any questions? Oh - lots of questions. Okay, go ahead.

23:56[Inaudible audience question]

24:21Right, so it actually, when - the question is, when you open the GPK in the map...

24:26...where do you see that actual tool to reexecute?

24:28It's actually - you're right; it's in the Results window. I'm sorry I didn't emphasize it...

24:33...but there's a little Shared node that comes up. So you'll see Current, Previous, and then the one called Shared...

24:38...and then there's, that's where all your shared geoprocessing will be.

24:41From that share, you can do a few things. I'll show you a little bit later, but you can actually edit the model...

24:45...you can locate - go to actually the place on disk where the file is located, where we've actually unpacked it.

24:50Because when you open these GPKs or any package locally on your machine...

24:55...they're actually getting extracted, and they live on your machine. We're putting them in a default location.

24:59My part will explain that.

25:00Okay, and Bill will talk a little bit about that - later, in the deep dive. Yes?

25:06[Inaudible audience question]

25:20Yes. Okay.

25:22Yeah, it doesn't need the original data. I mean, if you tried to run it as is...

25:27...it may be pointing back to those datasets, but when you substitute those parameters...

25:32...because it's just a tool with parameters, right? And you can substitute it with your own data...

25:35...and it should be able to work.

25:37So when you say, "Remove the layers out," and then you're going to open the tool and you're going to put in different inputs...

25:47...I'd be careful, because if you had a model, and one of the big, cardinal sins of creating models is...

25:56...you can have project data that's not a parameter but references a layer, and then if you try to share that...

26:05...that layer doesn't live anymore anywhere, and the model doesn't work. Well, we copy that layer over.

26:11That's one of the layers that shows up in that group layer.

26:15So you can't blindly delete them all, because some of them may be project data layers that were inside the model.

26:22That's my only caveat there is to be cautious at that point.

26:25[Inaudible audience response]

26:29But you could sit there and do a schema only, if you don't want to do the data.

26:33You're going to get the schema then, and as a caveat to that, we only did the schema only on parameter data...

26:41...not project data, because project data is required in its entirety to run.

26:48So schema data is only for the inputs and outputs of whatever tool that you're packaging.

26:55Okay. Any other questions? Yep?

27:01[Inaudible audience question]

27:10It's exactly what happens when we do that. So at the beginning, when Ash showed sharing in general...

27:16...you can share to a professional, and that's as a package; or you can share to the server as a service.

27:25Through the demo - are you going to demo again?

27:27I'll show them.

27:28So result - when you right-click the result, you say "Share as," you've got two choices, as a package or as a service.

27:35If you share it as a service, you get a similar experience...

27:39...but you'll be asked what server do you want to share it to, do you want to want to do it to a service draft...

27:45...and - but we're concentrating on packaging here, mainly because we're talking about the actual...

27:50...what happens to the models, what happens to your folder and your data...

27:55...how is that consolidated, how is that copied? It's the same process for both packages and services...

28:01...but it is what allows us to silently or quickly or nicely or whatever you want to add to that...

28:10...take your result and automatically push it up to the service, create the service for it, and get it up and running quickly.

28:18And there's a lot more options to that, and there's other sessions that talk about how you create a service...

28:24...which we'll make reference to later in the slides, right?

28:27I don't know; I don't think we have any slides for those. But they're in the agenda.

28:30They're in the agenda. And the key there is, when you do the data, you have more options on...

28:36...do you want to copy the data up? Do you want to - Is the data in the data store? Or are you creating it by reference only?

28:42There's a lot of different data, when you're talking about services.

28:49[Inaudible audience question]

28:58Like on a UNC path drive?

29:00[Inaudible audience question]

29:04You can specify, yes; there's an option that you can specify where you want your package - all packages...

29:09...it's not just for geoprocessing packages, but for all packages to be unpacked to. So by default...

29:14...we package - we extract them to inside your profile - Bill will show you - but you can change that...

29:20...so that you can put on a UNC path or a network drive or any other place on your local machine if you wanted to.

29:26But Ash says it's for all packages - layer, map, and geoprocessing.

29:27...and you'll find a whole bunch of geoprocessing packages; and you can sift through them...

29:32Okay? So let's talk a little bit about using and customizing.

29:36I've already shown you a little bit of stuff about using the packages. So the steps are to get the package.

29:41So how do you find a package? Well, we've already talked about a few. It's not rocket science, right?

29:45Somebody e-mails them to you; they say, Hey, go to this shared location, open this GPK; or, you know...

29:52...if you want, you go to ArcGIS Online, and you can search for the keyword .GPK...

30:00...and download the ones that you think will make your life easier.

30:04You unpack it. Well, unpacking is pretty easy; you saw me just drag and drop it in there...

30:09...right from your e-mail. I don't know if you've tried this, but you can then double-click the attachment in your e-mail.

30:13It'll open up in - if ArcMap is already open, it'll open up in that session, or it'll open up in a new session, right?

30:19So just like working with any other file that you have, you know, all those expectations will still be around.

30:25And then you use it, right? You can rerun it to learn about what they've done...

30:31...or you can go ahead and edit it or customize it, like I'm going to show you here in this next demo.

30:38So here we are talking about getting the geoprocessing packages using keyword searches.

30:41This is where the tags become important when you're sharing it.

30:44You get options to download the whole GPK or just download it itself, and it just opens up in ArcMap.

30:51Here's the options for receiving your package - via e-mail, file sharing.

30:56Unpacking - so you open from ArcGIS Online, double-click from Windows - these are just different ways that we can do it.

31:02You right-click from the Catalog window - so you can right-click Open; it'll open up.

31:06Drag and drop - you saw me do that; and use the Extract Package tool.

31:10So one thing that we haven't talked about yet is, there is a geoprocessing tool that we've built for automating...

31:15...some of the packaging workflows. So there's an Extract Package tool that will accept any type of package...

31:20...that basically just dumps it out to a folder that you specify...

31:23...so here's another way that you want to specify where a specific package goes, you can use the Extract Package tool.

31:31It's important to note, though, that because we don't have a GPK, and a GPK is what triggers off the file handler...

31:35...to do all the right things, there is an RLT file - Bill will talk a little bit about that later...

31:40...a new file called a result file, and that's what you would take and drag into your ArcMap...

31:44...to get the same experience as you would with a GPK.

31:49ArcCatalog, ArcGlobe, and all that stuff.

31:52Right. And all these geoprocessing - Bill makes a good point.

31:55Geoprocessing packages are supported in all the different - ArcCatalog, ArcGlobe, ArcScene...

31:59...all the different applications. Good point.

32:05So when you use a geoprocessing package in ArcGIS, the results are available in the Shared node in the Results window.

32:10We had a question about that a little bit earlier.

32:12And what do you do with that Shared node? Well, you can run it as is.

32:14So you understand how the analysis workflow works. I mean, you supply with your own data.

32:19We've already talked about that.

32:21So some optional steps is the customization that I talked about - where you can edit it, you can run it...

32:26...and if you want to, you can even reshare that new result as well.

32:31So when you're editing a geoprocessing package, you're making modifications, you can document those modifications...

32:37...and then you basically go ahead, rerun, and then share that new result.

32:41So let me just go through a quick demonstration about this.

32:48So I'm going to take on a new persona here. So now I'm a city worker...

32:53...and what you see here are tornado swaths; and they're basically different scenarios...

32:56...made-up scenarios. And what I want to do is, I want to be able to understand the property damage...

33:05...based on the proximity to the center or the center of that tornado path.

33:10So I have these five different scenarios here, and I know that my colleague earlier had...

33:15...on ArcGIS Online - let me just go there...

33:29...let me see here. I'm going to sign in, and he's already told me that he's shared this model that he had done...

33:50...that he did for just one swath. And let me just do a search here - I'm going to find lots of results...

33:58...so this is kind of handy, to be able to just search for tools...

34:05...and here's Estimate Tornado Damage, which is exactly what I want...

34:09...and let me just go ahead and open it. And I'm going to open this...

34:19...and if we go back to my ArcMap - go back - you'll see in the Shared node, it happened to open up.

34:31So what you see here is the input data, which is our parcel data, and the original swath that he did his analysis on.

34:38You can kind of see up on top here. And you can see the Shared node...

34:42...to answer your question, this is where that package has come in, and made itself present to me so I can use it.

34:48Okay, I'm just going to go ahead, and I'm going to turn off what he had there and go back to my original data...

34:53...and I'm just going to right-click on this, and I'm going to go edit.

34:57And this is actually going to take me to the original model that my colleague had created.

35:02And I want to make some edits to this to take account for the five.

35:04I want to make an iterator that's going to iterate through all these.

35:07The first thing I want to do - because I don't want change the - or ruin the integrity of this...

35:13...I'm just going to go ahead and I'm just going to save this as geomodel, so I know where it goes.

35:17You can see here that this is the original model that was in the impact location, but I'm just going to go in here...

35:24...the original consolidated model, and I'm just going to call this here Damage, and an assessment, and click Save.

35:36And I'm going to start making my model. So this is just - it's not a static model - it's like any other model...

35:41...I can do whatever I want to it. So I'm going to go ahead and I'm going to delete this, I'm going to add in...

35:45...an iterator for the feature classes.

35:49I'm going to go ahead and make sure I specify my workspace that I have all the scenarios in...

35:54...add that, click OK, move this around a little bit so you can see, and make this a model parameter.

36:03This becomes my input. And I just want to open this up. I'm going to make a few changes here...

36:13...because I want to have five new tables that are going to come out, and I want to make sure that they maintain...

36:17...a unique name. I'm just going to put in the variable the name here, Cool K...

36:21...I know that for here, I'm going to change the output location.

36:32[Inaudible audience question]

36:35The name from the iterator?

36:36[Inaudible audience response]

36:38Okay, one sec. Name, Damage, hit Save. The last thing I want to do here is I want to add a Collect Values...

36:59...and I'm just going to drag this in here, Input Value. So the actual name is actually kind of off here.

37:06This is the variable, so for the different scenarios that I have in here, see scenario 1 through 5?

37:13That name is going to get pushed through this variable down here from the iterator. Does that make sense?

37:18Does that answer your question, Curtis?

37:21Okay, so then I'm going to go ahead, I'm just going to save this model, close it.

37:29There's my Damage Assessment model; I'm just going to go ahead, and I'm going to run it.

37:39So what you've taken away from here is, somebody's shared me some work that they've done.

37:43What I've gone ahead and done then is I've modified it to make sure that it fits with my workflow...

37:47...and the things that I want to accomplish. I'm taking their basic workflow...

37:50...and a lot of the hard work that they've already done, but I'm modifying it so that it suits my needs, right?

37:55So this is that power of collaboration that I was talking about earlier...

37:57...where you can take these packages - somebody's idea, somebody's model, somebody's hard work...

38:01...take it, modify it, change it so it suits your needs, you know...

38:05...and then I can reshare this again if I wanted to, you know?

38:08It's just as simple as right-clicking and sharing it and away it goes.

38:17This should be done soon. There - and then it completed. So, any questions about that? Yep?

38:29[Inaudible audience question]

38:46Your results will be saved within your MXD.

38:50[Inaudible audience response]

39:09Well, your result - if you save your MXD, your result will be saved there.

39:13Your result will always have ties back to the original tools, so...

39:16...from within the Result window, you should be able to - you can right-click and you can locate...

39:21...where that model is, or you can, you know, even edit it right from there, so...

39:28...your result has the trail of exactly where your tools will exist.

39:33Does that answer your question?

39:36[Inaudible audience questions]

39:53Right. Well, let me - Bill's going to go on this deep dive, and he may address some of these...

39:58...answer some of these questions. If he doesn't, make sure you let us know at the end.

40:03That's a good segue, because Bill's up now to talk a little bit about the anatomy of a geoprocessing package.

40:09Oh, we'll have plenty of time for questions, because we're moving along on a pretty good pace here...

40:15...and this is the type of questions and back and forth that both Ash and I really love.

40:21But I think we can answer a lot of your questions with this deep dive...

40:25...and we're going to go into exactly where your packages go to...

40:33...what's the philosophy behind multiple unpacking of your packages, and why we...

40:39...it's important to have a single location. So to start.

40:45So as we've seen, normally when you unpack a package using any of the - doesn't matter which of our apps...

40:54...it's going to show up in the Shared node of the Result window.

40:59And as we've been seeing, the name of the package is the first node...

41:03...and then any of the tools that you added into the package become tools within that subnode...

41:10...and if you have any additional files, they show up underneath the subnode there, or underneath the Package node.

41:19If you want to find from here where it went, you right-click either the tool or the result and click Locate...

41:30...and will take you right to where that is in the Catalog window...

41:36...either in Catalog, or the Catalog window in Globe, Scene, or Map.

41:42Now, this is normally, unless you - there's a setting through the options of the apps...

41:50...as to where you want your packages to unpack.

41:53But the default is putting it inside of your documents, or My Documents, ArcGIS Packages.

42:01Now, all packages, regardless of if it's the extract package and you give it an output location...

42:06...get unpacked here. Reason why we do that, and they get referenced from here...

42:11...and they only get copied in the case of extract package, the tool...

42:16...reason why we do that is, if you ever forget where's my package...

42:21...or if you have the package and you unpack it again, you're not making multiple copies of your package.

42:29It sees that it's there, and it won't unpack it again. There's a checksum that goes with your package...

42:35...and it knows the location, and it won't undo it, especially from [ArcGIS] Online.

42:42It's very useful from [ArcGIS] Online, because every time you - let's say you found the package, and it was useful...

42:49...and you double-clicked it or you opened it and it brought itself down, it'd say you did a search again and you found it...

42:56...you just forgot where it was on your drive or your whatever. It's going to know where it put it...

43:00...it's going to know that it didn't change, it's going to know it doesn't need to copy it, but it will still open it for you.

43:08So we tried to minimize the amount of bandwidth that we need...

43:11...we tried to minimize the amount of work that we have to do in copying and unzipping the package.

43:18We tried to do that only once, but we'll utilize that package over and over and over again from this location.

43:25Does that clear up the questions that at least started this session? Okay.

43:31[Inaudible audience question]

43:34If there's one of the same name but it's different, because of the checksum, it's going to create a second...

43:40...it'll create one with another number at the end. So it'll - and then it'll associate that on your system with the checksum.

43:48So it tries its best to keep track of where the package was that you unpacked, what the package contained...

43:56...from its size, from its other criteria, so it knows it hasn't changed.

44:03And feel free to ask any questions, or slow me down if I'm going too fast.

44:08This is for your understanding, not for the fun I have of telling it - which I do have fun. Yes?

44:15[Audience question] I'm probably coming at this from a different perspective than most everybody here.

44:20We're a software development company and we're a partner of Esri's, and we package our analysis tools...

44:26...sometimes as extensions, sometimes as [unintelligible] projects or products...

44:32...and I guess we're looking at maybe geoprocessing packages as a way to distribute some of our technology.

44:38This looks like it's completely open, so is there a way to, I guess, secure this from being just wildly distributed and shared...

44:47...in the sense that you've said? Shall we take this offline to try to figure out...

44:52Well, I'll - I'm talking a little bit about custom tools at the end, and then maybe use that as a segue to taking it offline.

44:59[Audience response] Thank you.

45:00But I do talk about custom tools, and I'll try to go a little more depth, since you're here.

45:05[Audience response] We'll do it offline.

45:06Oh, that's fine. We've got the time, I think. Okay. So let's look a little more deep into the folder structure...

45:15...that got unpacked. It's the same folder structure that you would get...

45:22...if you actually unzipped the GPK and looked inside it.

45:27So the top-level folder is the name of the package. We create a folder called Common data.

45:37We separate our data into two groups - versioned and nonversioned.

45:43We've been doing that since we've been doing layer packages and map packages.

45:48That is so we're not creating huge packages for support - and when we support...

45:54If you create a package that supports multiple versions, we don't want to copy the shapefile over and over and over.

46:00We don't want to create some of the file-based rasters over and over and over...

46:04...or anything, so we're trying to be clever in separating any of this out.

46:10And as we can see from the model that Ash shared earlier, the input was a shapefile...

46:17...which we moved over here. I'm going to explain the folder names in a second.

46:23The - when you created a package with additional data, that will be unpacked inside a directory called User data...

46:34...underneath Common data, because it normally holds things like PDFs, doc files, JPEGs, TIFF files, that aren't...

46:44...when we talk about versioned data, we talk about our versioned data.

46:49Next, the versioned data. Now, for geoprocessing packages, we shipped this at 10.1. It's the only version we have.

46:58But we've created it in a folder called V101 for 10.1, and with the thought in mind that...

47:06...later versions we're going to create earlier versions and be compatible.

47:10So looking into the version folder, the original toolbox is copied over.

47:20And only those tools that are required to support the packaged tools are also brought over.

47:28In this case, there was only one. But if you have a toolbox that has a hundred tools...

47:33...you packaged one tool, and that one tool relied on two others, three tools, if it came from that same toolbox...

47:39...would be in the output. Again, we're trying to minimize the amount of information we're putting in the package.

47:50Next is the raster output. In the middle here, they actually already set it to be the scratch workspace...

47:57...we interpreted that scratch workspace and dropped it in the scratch GDB.

48:03And since it was a grid, it was worth it.

48:08Now for some new stuff that we do that makes the package the package.

48:14We created a top-level toolbox with the same name as the result, putting in it new things called a geoprocessing task.

48:24You'll never see that as a stand-alone tool type; it's an internal type of ours that we use...

48:30...to wrap the tool that you consolidated or packaged. (Internally, we refer to it as consolidation.)

48:38Now, for services, this becomes a more important concept...

48:43...because when we take the packaged tool and wrap it in the task...

48:50...we do so in order to remap the 80-something parameter types, or 150, I think, parameter types...

48:59...down to the 12 supported by services. Our wizard helps you with that mapping, but we have to do that mapping...

49:07...so it's the same thing. How many of you have created geoprocessing services?

49:13It hasn't been easy, has it? 'Cause mostly you've created a model, the model had to sit there and convert...

49:19...all of these parameters from this type into this type so that you could pass it up to the service.

49:24We're doing all of this for you...

49:27...and we provide a wizard to help you with some of the common different choices you have.

49:33But for packages, which we're talking about right now, it's a thin shell.

49:38But we do it for consistency, so we can have the same file layout for packages versus services.

49:44And the last thing is a new, as Ash alluded to earlier, a result file.

49:50This result file is nothing more than the serialization of the toolbox that I just talked about and the tools...

50:03...and any table of contents objects that are needed for any of the tools - any of the tools that are in that package...

50:13...the layers, the stand-alone tables. You can think of this as kind of like a headless MXD...

50:21...but we can't put an MXD in here, because packages work across the board...

50:28...it works on Linux, it works on the Engine, it works on server, it works on desktop...

50:32...so we have to make sure it - it deals with Linux, as being in the key target there...

50:40...so anything that we can run on Linux, the package has to work with.

50:46So I want to talk about - Yes, Curtis?

50:49[Inaudible audience question]

50:54No, because group layers can't support tables. That's why I threw that little ... yeah, okay. Good question.

51:06So I want to talk about what we do with each of the different tools - model, scripts, and custom.

51:17So for a model tool, we, of course, we scan it. Model tools are easier, because there's no doubt what's going on.

51:26The tools, the processes tell me what's going on.

51:30So all I have to do is worry about nonderived, or parameter-based project data. I consolidate that...

51:40...be it input or output. If it's output and it's a parameter; if it's input and it's a parameter or it's nonderived, I copy it.

51:51I also take every output - if you have a multistep model, all of those intermediate steps...

52:02...I have a right to the scratch, either the scratch folder or the scratch GDB. I'll talk about...

52:11...now's a good time. At 10.1, in order to help us support better packaging...

52:18...we have created two new environment variables that the user can make use of.

52:26That's the scratch GDB environment variable and the scratch folder environment variable.

52:32They're derived from the scratch workspace. So whatever you've set your scratch workspace to, we look at it.

52:39If it's a folder, I'll create a scratch GDB inside of it and set that as the location for the scratch GDB variable;

52:45If it was already a GDB, that will be the location for the scratch GDB...

52:51...I'll move up one level, and call that the scratch folder.

52:55The reason why I do that is again, part of packaging is to kind of like deal with...

53:02...all the little oddities that you could do when you create models.

53:08I've seen many a model where you've created the model, your scratch workspace is set to Folder...

53:15...you put it all through, everything looks good, the shapefiles got created and everything's in there.

53:22Then, you give that model, or you try to publish it to the service, which is the worst case...

53:28...the scratch workspace for a service, and for whoever else you might give it to, might be a geodatabase.

53:34All of a sudden, the model can't perform anymore, because it's expecting to create the .shp in a geodatabase...

53:41...where all sorts of nasty things are going on. So what we're trying to do is, when we do the packaging...

53:47...we look at what the current scratch workspace is set to; then we update those variables...

53:54...when we copy them over to say Scratch folder, in the case of the original was a folder-based workspace...

54:01...or scratch GDB if the original was a GDB-based scratch workspace.

54:06So we're trying to eliminate a lot of these things.

54:08But you can use those environments outside the package, and you can use them anywhere you want, knowing...

54:16..that wherever you're writing to will be a folder, or wherever you're writing to will be a GDB.

54:22So getting down to that - so every intermediate step of the model, we're going to write to the scratch location.

54:34Even if you had it writing to a physical location on a disk, we're going to change it to write to the scratch location.

54:41Why? Because that's best practices when creating models.

54:46And since I'm updating your model, I figured I might as well make that change as well.

54:52There's a few other changes I'm making, but I won't get into.

54:57And again - so, we can't stress enough that all geoprocessing tools that are called from within the model...

55:06...are also consolidated. They're also - that means they're copied over to the package.

55:14The reason why we do that is, you can't run the tool unless everything that is needed is over there, and...

55:21...that might mean multiple toolboxes - multiple tools across multiple toolboxes. We'll take care of all that.

55:31Now scripts. Conceptually the same thing, but having their own little problems and considerations.

55:39We actually scan the scripts now. Any data that is found and that takes on special significance - and I'll get into that...

55:49...is consolidated, just like with a model. And just like with a model, we update the script.

55:55We actually - and I'll show you - because updating the scripts is a little different than we do for models...

56:01...I'm going to explain it to you in more detail.

56:04So we have to recognize the data. Now when we scan the script, we know where there're tools.

56:13So if there's a string that's inside the parentheses for a tool, we know what that - we know the order where the string is...

56:21...so we know what the parameter is, so we can have a really good guess as to what's going on.

56:26If it's a field map, we'll crack it open, we'll update the table names - we handle all of that.

56:32If it's a stand-alone string, it could still be data, and even in the case of the strings that are input to the tools.

56:41We have to recognize it as ArcGIS data, or else I figure it's just a string, and it's not data.

56:48But there's certain steps we go through. First I try to open it in its entirety.

56:52If that fails, I then look to see if it's relative to the script location that I'm working with.

57:04So I try to have a fall-through as to what's going on.

57:10If it's an Import statement, I'll actually use the path - first, the Python path environment...

57:18...additional to everything else I just said, and...

57:22...I will actually use the system path variable to see if I can find the Python file referenced by the Import statement...

57:31...because we do that ourselves with our script tools.

57:34Python toolboxes, which are also new for 10.1, are handled in the same fashion.

57:40It's just a big script. And again, just like with models, all geoprocessing tools called from within the script...

57:47...be they models, other scripts, are also consolidated, and it goes on and on and on and on and on and on and on.

57:56Now, unlike with models, which didn't have any considerations, scripts have considerations.

58:02One, like I said, I have to recognize the data. I have to know that the string that I'm seeing is data...

58:10...or has a good chance of being discovered as data.

58:12If you build - do something clever, and like do path equals some string plus some string plus some string...

58:22...plus some path separator plus some - I mean, you build the path up out of bits...

58:28...I have no hope of understanding what this is.

58:32I'm not running your script; I'm scanning your script. I'm using Python's own parser to parse it...

58:39...so I know what all of the tokens are - I know what's going on...

58:44...but I'm not running it, so I'm not completing out the sentence.

58:49There are some exceptions to that that you could...

58:52...with some cleverness of - OS path join, which I'm going to show you - that kind of like makes some of this fun.

59:02Now, the other consideration is third-party Python modules.

59:07We have to think of them as installed third-party software, which I'll talk to you about a little bit. But it's the same concept.

59:16We don't block that; we warn against that.

59:20The analyzers that Ash talked to you about will tell you, There's a third-party Python module in there, oh no, oh no...

59:27...just to warn you. Again, package will work. Now, you have to be careful, or you have to be aware that if you have...

59:34...wherever that package is unpacked, those third-party Python modules have to be previously installed.

59:44Now, we're not going to throw them for NumPy, because we always install NumPy...

59:49...and we're not going to throw them for matplotlib, because we always install matplotlib...

59:53...the standard libraries, we're not going to tell you about.

59:55It's the third-party or the nonstandard Python modules we're going to warn you about.

1:00:00Just make sure that they're wherever it is that you're unpacking the package to. That clear? Cool.

1:00:04...and the packaged script is likewise titled with that.

1:00:09Now I'm going to show you the script. The original script is titled with original script...

1:00:18So - hopefully you can all see - so in the original script, someone was clever and said...

1:00:24...the Strategies polygon is equal to the OS path joined to the relpath.

1:00:30'Cause a good script writer should always make sure that all of their generated paths...

1:00:35...are relative to the location of the script...

1:00:38...which we all know is sys.path zero.

1:00:41Therefore, they're telling me here that the data.gdb or the file geodatabase named Data...

1:00:49...is going to live relative to the script, and it's going to then add strategies as a feature dataset and strategies...

1:00:58...trust me over there - polygon as the feature class that's inside that.

1:01:06Now, I recognize this as data, because the data.gdb while on its own...

1:01:12...can't - doesn't exist, or doesn't pass the ArcGIS existence criteria, but relative to the path, it does.

1:01:19So I go, Okay, found the data, I'm going to copy it over, and when I actually update the location in the package script...

1:01:26...if you'll notice, I make sure that all my changes are blocked at the top...

1:01:31...and I tell you what I'm doing, and I'm creating variables for everything I'm seeing as suspect, whether I change it or not...

1:01:40Excuse me. So you see the OS path join of arcpy.env, another new environment, but not one that you guys should play with.

1:01:51It's for my internal use, and that's called package workspace.

1:01:55That package workspace is the location in which I'm unpacking it into, meaning that when I go to run the script...

1:02:05...that's going to be set - the package knows where it lives - and it's now going to create a fully qualified data.gdb path.

1:02:19Then I scan through, and I go, I look for how it was originally used, and I update it with the variable I created at the top.

1:02:27The reason why I move everything at the top is twofold. For services, as we were talking about before...

1:02:35...you have greater options. You've got the data store, data store means swizzling, because you can sit there...

1:02:40...how many know data store in the new services for 10.1, services model? Great! I don't have to talk about it.

1:02:49But I update the variable. Now, what's covered here - and some of you are probably thinking, how can this work?

1:02:56When I go to run this Python script, there's this OS path join of relative path to this variable of a fully qualified path.

1:03:07We're making use of a nicety of Python. Python has been very, very, very, very nice to - when it runs the OS path join...

1:03:21...it will not preappend the first argument if the second argument is already fully qualified.

1:03:28It just becomes a no-op in that aspect; it uses the second argument in its entirety.

1:03:34So - we stumbled on this - it was great. So because we fully qualify it at the top...

1:03:45...I'm free just to use it in the body of the Python script without having to worry about the relative path first argument...

1:03:53...knowing that it's going to be no-op, so these other instances here of Esri variable 2, 3, and 4...

1:04:03...you could think of them just as assignments, and the first one still actually produces the fully pathed out data.gdb/strategies...

1:04:15...which is the feature dataset and strategies polygon.

1:04:21And then I also - so you see two blocks of imported code. The second one is - I need in order to make...

1:04:29...the changes that I make, I need to make sure that there's OS in ArcPy.

1:04:38Custom tools. So custom tools are those third-party via C++ or .NET or whatever, that sit on top of a DLL.

1:04:55You could package those. You could work with those - we'll just copy them over.

1:04:59But just like the imported third-party Python modules, the consideration for that is, before you unpack it...

1:05:12...wherever the machine that you're unpacking it onto, has to have that module or that extension already installed.

1:05:20If it's installed, the package will just work.

1:05:31We have the online help topics to kind of like go into a little more detail, or thing...

1:05:39...but we're basically done here.

1:05:43So this is basically just a plug here for the resource center. One thing that's kind of applicable to the GPKs is...

1:05:50...you know, before, in the gallery, in the script tools gallery, we'd see a lot of these tool share folders.

1:05:55Well, you'll still see some of those, but hopefully, what we want is, we want you to - this is where we want you to log all your GPKs.

1:06:01The GPK is the perfect venue, or the perfect vehicle, for you to be able to share your geoprocessing in the script tool gallery.

1:06:10So if you get a chance to go to the resource center, there's lots of things being added all the time...

1:06:14...we're always modifying it and making improvements to it, so if you don't know about it, check it out.

1:06:21That should be it. There are some quick links - the education gallery, more about the tool gallery there.

1:06:28Did you want to say something?

1:06:29So if you think about what's going on under the covers when we actually package...

1:06:36...so all those little quirks of geoprocessing or scripts or models that have always sat there and plagued you...

1:06:44...whenever you tried to even share it with the guy in the next cubicle...

1:06:49...I mean, my own product engineers, when they were trying to give me bugs and things that were reproducible...

1:06:54...the number of times that they forgot to set the MXD to be relative or even the toolboxes to be relative...

1:07:07...little things like that - we gave you too many options when we first did this, thinking...

1:07:11...Oh, you need the relative, you need the absolute - in the end, you just need to share.

1:07:15So we're making sure we're creating truly shareable packages. Your data...

1:07:20...is moved over and copied. You can set the extent. The packages, when you package them, honor the output extent...

1:07:31...that's inside your variable - I mean, inside the environment manager. You can set that...

1:07:36...and all of a sudden, everything that we moved over to the package gets clipped against that, even geometric networks.

1:07:44And it stays connected; it stays operational.

1:07:50SDE data is the only thing that the default setting is not to copy it over.

1:07:58We convert Access databases into file geodatabases, because Access databases don't work in 64 bit or on Linux.

1:08:10So we do that conversion for you automatically. So we're doing a lot of little tweaks to make sure it's working.

1:08:17And the beauty is, you guys don't have to worry about any of that.

1:08:21Bad news is, we do.

1:08:22We do, yeah. So all that fun stuff that Bill just talked about...

1:08:26...I mean, it's very interesting to know, and I think it's worthwhile to understand a little bit...

1:08:29...but like I said earlier when we began this, if you have a successfully run result, and you share it as a package...

1:08:36...and it doesn't work, then that's a bug, right. Yes. It should be that simple.

1:08:42Regardless of the data source, right, or the data being used. Any questions?

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

Sharing Workflows with Geoprocessing Packages

Esri staff show how to create, share, and reuse geoprocessing packages.

  • Recorded: Jul 24th, 2012
  • Runtime: 1:08:46
  • Views: 286
  • Published: Aug 31st, 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  (1)

All Comments
To post a comment, you'll need to login.
If you don't have an Esri Global Login ID, please register here.
I created a geoprocessing package from a result that ran successfully, but when I tried invoking it from a Runtime project (C#) the resulting geometry that I got was the graphic that was displayed when I originally created the gpk.
Aren’t you supposed to be able to use a gpk file to (in a sense) run that same model, but with different data each time?
reneecammarere 1 Year ago
Report
  • 1 total