ArcGIS 10 enables you to create better maps. Learn how Python scripting can be used to automate, customize, and extend map production.
00:01 As Jack discussed in the video, it's about maps and better map production.
00:08 There's a number of things that we've...
00:10 ...taken a look at in order to improve how you produce high-quality cartographic maps.
00:21 We'll review a few of these components now. You see intelligent map elements.
00:27 Within the 10 release, we have the concept of data-driven maps and information about the features that continually are...
00:35 ...change as you're trying to build a map series, allowing the features that are there...
00:44 ...letting the technology update those things that change continually.
00:49 Think about page numbers or map titles, dates, those kind of things that continually change as you're building that map series.
00:57 Here we have, we're introducing intelligent map elements that take advantage of that, allowing you to...
01:05 ...remove some of that manual updates on...updating those map series...
01:12 ... making your work a little bit quicker and easier to do.
01:17 Second area that we've looked at is also within some of the cartographic production elements.
01:23 When you're creating multiscale maps, there's often a difficulty in producing those...
01:30 ...maintaining the symbology and the shade sets that are there as you're moving within those systems.
01:36 Generalization takes advantage of computer cartography tools and rules that you establish to make that an easier process.
01:48 Third component is about [ArcGIS] Schematics and using that extension to help...
01:54 ...you represent complex networks that you may maintain.
02:00 So some of you may look and maintain water systems or electric or different types of utility systems.
02:08 [ArcGIS] Schematics can be that place where you can represent features on that complex set of networks...
02:16 ...and be able to display that in simple representation of line maps and where are those elements on my network.
02:25 So take a look at that extension if you have the need to deploy out maps that are very complex; you need to get...
02:35 ...the content about the features that you're maintaining on that system available to people.
02:41 And then in the middle, it's about map books.
02:44 How many of you have downloaded over the years the developer sample map books? I see a few hands here.
02:52 What's interesting about that is that it's been used within many of your organizations...
02:57 ... for public safety or public works programs allowing you to generate these map books for use out in the field.
03:06 Well, it's now part of the core feature at ArcMap.
03:10 You don't have to download it anymore; you don't have to maintain that.
03:13 It's part of the data-driven map elements that we've described.
03:18 So you can take advantage of that right off the bat within ArcMap.
03:22 And I actually, I saw someone go a little clapping hand; I mean, that's a good thing.
03:27 We want to bring these features in, things that were popular as developer samples, and make that part of core function.
03:40 Associated with map books is the ability to...how do I automate that?
03:44 So we looked at some of the intelligent map element components...
03:48 ...and how you can take advantage of the features that continually change within that.
03:53 But if I have to do a hundred maps, thousand maps, whatever, for report generation on a quarterly basis, how do I do that?
04:04 How can I make my life easier by utilizing the resources within ArcMap?
04:09 We have some new automation concepts that we want you to explore...
04:13 ...and it's all based upon the scripting environment that we have.
04:17 Python scripting is an introduction. It's introduced within ArcGIS...
04:23 ...and allows you to combine different types of features together in order to help automate the process.
04:29 So think about the user interface as you're building the map book.
04:33 It has changing elements about map title, reports, or different types of elements there.
04:39 Within the ArcPy components, you can add that into the Python script and...
04:48 ...begin to automate that process. And I just said ArcPy.
04:51 Let's go ahead and go into a demonstration...
04:53 ...that describes some of these elements that we had about map automation. Katja?
05:02 Alright. Thanks, Tony.
05:04 So quite a few of you have been using the sample...
05:07 ...and as Tony mentioned, we now have similar ability to create map books right out of the box using the Data Driven Pages.
05:15 So let's take a look at that.
05:17 Usually when we have a map book, we use some sort of grid to generate the Data Driven Pages.
05:25 So let's do that. Let's get the Data Driven Pages toolbar.
05:33 And within here, there is the setup that enables us to have that map book-like functionality.
05:41 So it gives me the ability to choose, certainly, the data frame that is used within the map book for switching the pages...
05:49 ...the layer that is going to be used for those pages.
05:53 And let me change a couple of those parameters.
05:57 I'm going to set the "Planned End" to be the field by which we're sorting.
06:02 Move this up a little bit.
06:05 I'll set the rotation to the Rotation field, and I'm ready to go ahead and create the pages.
06:14 So this way, I'm going to have a page for every one of my projects.
06:21 So I actually didn't use the grid; I used the project areas. So we've got some text that got populated within the layout.
06:27 So we've got the capital improvement projects, we've got the completion date...
06:32 ...and we can go to the next page and see that text being replaced.
06:38 And that is what Data Driven Pages mean. The text on the map is driven by the information within your feature class.
06:47 So now the next step for me is to create a PDF document for that map book.
06:54 And I can do that by going to File and Print and Print to PDF.
07:00 But the reality is that typically when we create a map book, we don't just have the map pages within it.
07:07 We have the title page and the summary page and maybe table of contents.
07:12 So another improvement in 10 is the ability to work with the user interface within ArcMap using Python.
07:21 So how many of you are Python scripters in the room? Okay.
07:25 How many of you are ArcObjects programmers? Alright, just a few of you.
07:31 Well, so it may seem intimidating to start using Python, but it really is quite easy to get started.
07:41 So let's take a look. Those of you that have used Python are familiar with ArcGIS scripting module.
07:48 Well, that module has been replaced by ArcPy. So let's go ahead and import ArcPy.
07:55 And you can see the IntelliSense OS.
07:58 And we can import a number of modules, any module that is available in Python; execute that.
08:06 And then let's do MXD equals and then ArcPy dot and it gives me options, so I'm going to say Mapping.
08:15 So what do you think I'm doing right now?
08:18 So Map Document, and then I'm going to say Current.
08:23 So I'm importing the current map document.
08:26 So I just wanted to show you that so that you guys can see some of this IntelliSense that is available there.
08:33 And also, ArcPy is just a single module, so it's not like learning the whole ArcObjects data model. Okay?
08:41 But yet it is getting more and more powerful to do automation and interact with map graphic interface using Python...
08:51 ...which is something that we couldn't previously do. We had to go to ArcObjects to do that kind of customization.
08:57 So let's clear this right here, and I've created some script ahead of time 'cause I make a lot of typos when I script.
09:06 And what this script is doing...it's going to take a couple of seconds to run.
09:11 But what it's doing is it's creating the map book, first of all.
09:14 It's taking those, I think eight or nine projects that I have in the map, and it is generating the map book out of those.
09:23 And actually, the one that I imported was doing something different. So we'll take a look at the script in a second.
09:29 But this is the map document that was created, the PDF document.
09:34 So I've got the first page, the title page.
09:38 Then I've got one of the maps, which is the one that was displayed in my document.
09:44 And then I've got the summary page.
09:47 Now the reason I've only got this current map displayed in here is because that's what I asked for in the script.
09:55 So I asked for the current page from the Data Driven Pages right here to be imported.
10:06 It takes two to three minutes to generate the whole map book, so that's why I did that.
10:11 But I did create this map document, so see, this one was just created at 11:12, just right now.
10:17 And then I can take a look at all pages, and so this is what you would see. Alright?
10:23 So just simply out of the box, we were able to do a couple of things.
10:27 First of all, create a map book and specify the parameters for our map book;...
10:32 ...alter our layout;...
10:34 ...create some text on the layout using the information, the feature class, for each of those project areas for the map book.
10:42 And then we used ArcPy module to interact with the map graphic user interface ...
10:49 ...as well as Python's own modules such as those that allow you to create PDF documents to put together several map documents.
10:59 And I think that's quite powerful. Tony, back to you.
11:02 Okay. Thank you, Katja.
11:06 So ArcPy and what we described, it's part of the Python scripting environment...
11:13 ...sounds kind of complicated as was demonstrated. However, it has that IntelliSense that she described.
11:19 So you can begin to get started with it, play around with it...
11:23 ...but there's also resources online for training to help you get started and comfortable. Okay?
11:28 So just take a look at it, see how you can use Python scripting within your map environment to help automate that process.
© Esri 2013 http://www.esri.com