Bob Pool, GIS Manager at Clark County, Washington, shows how he automates a developer packet template using the new map scripting environment. Esri’s map scripting environment is incorporated with Python script so that developers can write and develop code and immediately see the results.
00:01 Next up, Map Automation.
00:02 You saw how we make the maps; we keep them current.
00:04 But what if you need to do this over and over again every day?
00:08 With ArcGIS 10, we've extended Python beyond analysis and geoprocessing into the realm and the work of map automation.
00:18 You can use these tools to automate changing data sources...
00:21 ...changing your cartography and your symbology to the complete workflow from start to finish of how you produce maps.
00:28 In order to show you a little bit about this, we've invited a very special guest. This is one of you.
00:33 This is one of our users from the Early Adopter Program, Clark County, Washington's very own GIS manager, Bob Poole.
00:41 Thank you, John. Good morning.
00:47 I remember my first Esri conference.
00:49 It was about 25 years ago, when they first introduced AML.
00:52 AML was an exciting addition to ARC/INFO because it allowed us to automate our GIS analysis and our map production.
01:00 I'm just as excited to be up here today to introduce a new approach to map automation.
01:06 Clark County, Washington, has a number of GIS products that can be ordered online and generated automatically.
01:12 Any of these jobs are automated using AML.
01:15 We've been working with Esri as part of the Early Adopter Program to migrate these AMLs into the new map scripting environment.
01:22 The first product that we migrated is our GIS developer's packet.
01:27 Developer's packet is a 16-page report and thematic map series that provides useful information to land developers and county planners...
01:35 ...so they can make informed decisions about property development in Clark County.
01:40 I'm going to open up our developer's packet MXD, and you can see that I have some selected parcels.
01:47 Because this is page 3 of the developer's packet, it also shows the elevation contours.
01:52 If I want to convert this to page 4 of the developer's packet, which is our orthophotography map...
01:57 ...I'd need to turn off the contour layers, add the orthophotography layer...
02:02 ...change my title, and then export the result out to PDF.
02:06 But I no longer have to do that manually; I can now automate that.
02:10 One of the ways you can work with this new map scripting environment...
02:13 ...is with the new Python window they've incorporated into ArcMap.
02:18 You can use this Python window to execute Python commands, geoprocessing commands, or the map scripting commands.
02:24 Rather than demonstrate my typing ability in front of 12,000 people, I'm going to load a script that I wrote earlier.
02:33 One of the things I really like about this new map scripting environment is you can get a lot of work done with just a few lines of code.
02:39 These 8 lines of code will add the orthophotography layer to my map, update the title, and export the result out to PDF.
02:46 Another thing I like about this environment is that the commands syntax is really easy to use and understand.
02:52 For example, to add a layer to my map, I would use the Add Layer command.
02:56 To export the map to PDF, I would use the Export To PDF function.
03:00 If you've ever tried to print a map using ArcObjects, you know it's going to take many more lines of code...
03:06 ...and none of those lines of code is going to be as straightforward as Export To PDF.
03:11 Now I'm going to execute this code, and you'll notice that my map updates in real time.
03:17 This Python window provides a really fun, easy way to develop and debug your map scripts.
03:23 In some ways, I think it kind of reminds me of developing AMLs in ArcPlot.
03:30 Now, we spent a lot of time and effort trying to migrate our developer's packet to ArcObjects...
03:34 ...and we never quite got there or got it to work.
03:37 We've been working with Esri and we have migrated it to Python using this new map scripting environment.
03:43 Since it's a Python script, we can publish it as a Web service using ArcGIS Server. Let me show you how that works.
03:50 This is our GIS developer's packet order form.
03:53 You can see I've put in the e-mail address where I want the product delivered.
03:56 There's a property account here that I want to have the developer's packet created for.
04:01 There's also a Java scripting mapping application here that lets me verify that account, and add additional parcels if I'd like.
04:09 Now I want to add this parcel, and you can see it updated the form.
04:13 Here's information that ends up on the front of the developer's packet, then I say place order.
04:19 This is where we collect the credit card information for the developer's packet.
04:22 You can see we charge 50 dollars for our developer's packet, and we sell about a thousand of these every year.
04:27 So this is a substantial revenue stream for our GIS program. The developers love this packet.
04:34 They don't see it as paying us 50 dollars.
04:36 They see it as saving the hundreds or thousands of dollars they used to spend to collect and compile this information.
04:42 Even more important is that they know when they submit a developer's packet...
04:46 ...it will satisfy the county's requirements for submitting this information.
04:51 When I press the Submit Order, and the account's approved, it submits the job to ArcGIS Server for processing.
04:59 Just a few minutes later, the developer receives an e-mail with a link to the PDF file.
05:04 Let me show you what that looks like.
05:07 This is our developers' packet. You can see the information here that I put in on the order form. Here's one of the maps.
05:14 All the maps in the developer's packets were run just like the script I showed you.
05:18 We had the one MXD file, and we have a script that just goes through and changes the layers and the titles and the legend...
05:24 ...and then exports the map to this multipage PDF.
05:29 The developer's packet's not just about thematic maps. It also includes some GIS analysis.
05:34 The property information fact sheet shows the results of overlaying those selected properties...
05:39 ...with over 30 different layers in ArcGIS and then posting the results to this page.
05:45 The rest of the maps in the packet support the information on that fact sheet.
05:49 This is especially important when you're dealing with environmental layers that may cover just a portion of the parcel...
05:56 ...or they may be open to interpretation.
05:58 In those cases, the developer's packet provides a common point of reference for the developers...
06:03 ...and the county planners to discuss those issues.
06:07 In summary, the new Python map scripting environment is exactly what we needed to automate our reporting and map production.
06:13 It's the final piece of the puzzle that we need to migrate our AMLs into the ArcGIS environment. Thank you.
06:27 Thanks, Bob. Before you leave, though, we gotta work out a little bit of this math.
06:31 You said 50 dollars per developer packet times a thousand packets per year...
06:36 ...so that's 50,000 dollars of revenue that you generate each year for your department.
06:42 But I think what you're really trying to tell us is, the bigger message is that you can save the taxpayers millions of dollars...
06:50 ...by leveraging government information and sharing that and packaging that out as intelligent maps.
06:57 Not just raw data, but intelligent maps, intelligent map packages, to help improve and create a better open, transparent government.
07:05 So I think that's what Bob really deserves credit for, is achieving that goal.
07:09 Thanks, Bob. Thanks for joining us today.
© Esri 2013 http://www.esri.com