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?
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: 179
- 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.
Right-click on these links to download and save this video.
- 480x270:MP4 (132.8 MB)
- 960x540:MP4 (407.5 MB)
If you don't have an Esri Global Login ID, please register here.