00:01Next up, Map Automation.
00:02You saw how we make the maps; we keep them current.
00:04But what if you need to do this over and over again every day?
00:08With ArcGIS 10, we've extended Python beyond analysis and geoprocessing into the realm and the work of map automation.
00:18You 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:28In order to show you a little bit about this, we've invited a very special guest. This is one of you.
00:33This is one of our users from the Early Adopter Program, Clark County, Washington's very own GIS manager, Bob Poole.
00:41Thank you, John. Good morning.
00:47I remember my first Esri conference.
00:49It was about 25 years ago, when they first introduced AML.
00:52AML was an exciting addition to ARC/INFO because it allowed us to automate our GIS analysis and our map production.
01:00I'm just as excited to be up here today to introduce a new approach to map automation.
01:06Clark County, Washington, has a number of GIS products that can be ordered online and generated automatically.
01:12Any of these jobs are automated using AML.
01:15We've been working with Esri as part of the Early Adopter Program to migrate these AMLs into the new map scripting environment.
01:22The first product that we migrated is our GIS developer's packet.
01:27Developer'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:40I'm going to open up our developer's packet MXD, and you can see that I have some selected parcels.
01:47Because this is page 3 of the developer's packet, it also shows the elevation contours.
01:52If 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:06But I no longer have to do that manually; I can now automate that.
02:10One 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:18You can use this Python window to execute Python commands, geoprocessing commands, or the map scripting commands.
02:24Rather than demonstrate my typing ability in front of 12,000 people, I'm going to load a script that I wrote earlier.
02:33One 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:39These 8 lines of code will add the orthophotography layer to my map, update the title, and export the result out to PDF.
02:46Another thing I like about this environment is that the commands syntax is really easy to use and understand.
02:52For example, to add a layer to my map, I would use the Add Layer command.
02:56To export the map to PDF, I would use the Export To PDF function.
03:00If 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:11Now I'm going to execute this code, and you'll notice that my map updates in real time.
03:17This Python window provides a really fun, easy way to develop and debug your map scripts.
03:23In some ways, I think it kind of reminds me of developing AMLs in ArcPlot.
03:30Now, 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:37We've been working with Esri and we have migrated it to Python using this new map scripting environment.
03:43Since it's a Python script, we can publish it as a Web service using ArcGIS Server. Let me show you how that works.
03:50This is our GIS developer's packet order form.
03:53You can see I've put in the e-mail address where I want the product delivered.
03:56There's a property account here that I want to have the developer's packet created for.
04:01There's also a Java scripting mapping application here that lets me verify that account, and add additional parcels if I'd like.
04:09Now I want to add this parcel, and you can see it updated the form.
04:13Here's information that ends up on the front of the developer's packet, then I say place order.
04:19This is where we collect the credit card information for the developer's packet.
04:22You can see we charge 50 dollars for our developer's packet, and we sell about a thousand of these every year.
04:27So this is a substantial revenue stream for our GIS program. The developers love this packet.
04:34They don't see it as paying us 50 dollars.
04:36They see it as saving the hundreds or thousands of dollars they used to spend to collect and compile this information.
04:42Even 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:51When I press the Submit Order, and the account's approved, it submits the job to ArcGIS Server for processing.
04:59Just a few minutes later, the developer receives an e-mail with a link to the PDF file.
05:04Let me show you what that looks like.
05:07This 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:14All the maps in the developer's packets were run just like the script I showed you.
05:18We 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:29The developer's packet's not just about thematic maps. It also includes some GIS analysis.
05:34The 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:45The rest of the maps in the packet support the information on that fact sheet.
05:49This 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:58In 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:07In summary, the new Python map scripting environment is exactly what we needed to automate our reporting and map production.
06:13It's the final piece of the puzzle that we need to migrate our AMLs into the ArcGIS environment. Thank you.
06:27Thanks, Bob. Before you leave, though, we gotta work out a little bit of this math.
06:31You 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:42But 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:57Not just raw data, but intelligent maps, intelligent map packages, to help improve and create a better open, transparent government.
07:05So I think that's what Bob really deserves credit for, is achieving that goal.
07:09Thanks, Bob. Thanks for joining us today.
Map Automation in ArcGIS 10
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.
- Recorded: Jul 12th, 2010
- Runtime: 07:15
- Views: 18695
- Published: Aug 25th, 2010
- 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.