2010 Census: How Changes Affect Data Users

by Jim Herries

In this podcast, Lynn Wombold, chief demographer and manager of ESRI’s data development team, provides valuable insight on how the new data gathering methods of the 2010 Census will impact data users.  Grab a coffee and take a few minutes for a good discussion, posted on ESRI’s podcasts page.

Posted in Location Analytics | Tagged , , | Leave a comment

Expanding the Mobile Map


If you have played around with the configuration file or in the source code for the mobile map, you may have noticed some functions that are not visible in the application.  That is because a typical ArcGIS Mobile application has a lot more functionality then just a paper map replacement.  We built mobile map application so it could be expanded beyond an electronic map as your field crews become comfortable with a mobile GIS application.  There are functions included in the code of the mobile map to pull a cache from a web server as a zip, perform field inspections, list out workorders from a workorder featureclass, call a network analyst routing service and perform an isolation geometric network trace.  In the June update of the Mobile Map Template, you can find these components.  Below are details of each of these components.




Cache Update Web Service


  • When I was creating this template, I started to think about how to push updates out to a large number of users. Obviously we could have each user ask the server for an update of their data, but this would require a lot of bandwidth and server resources because each user would be rebuilding the same layers. So instead, how about building the cache once and delivered to the field as a zip file. You can always build a mobile cache or a piece of the cache using a Geoprocessing model and manually zip it. But it’s faster to automate this process, and, perhaps, run it nightly. So I downloaded the python zipping tools(link) and build a model to do this.



  • So that was very simple and now we need to transfer the data to the device in the field. I looked around to find a good method to deliver a large file through Http. I settled on a MTOM web service. MTOM is part of the WSE 3.0 framework for .Net 2.0. This may not be the best way and is certainly not the only way, but it is one that looked promising. A MTOM web service can handle transferring a large file through http, chunking that file and it also supports starting, stopping and resuming a download. I did not implement all these function, but there is a sample on codeplex that is very detailed. I used the BinaryDataMTOM sample that is included in WSE install. I attached the web service to this post.




  • How does the app in the field know if there is an update? In the mobile app, when a cache is downloaded, I get the file date from the zip and log that to the config file. The attached web service has a method to get the date of the zipped cache on the server. If the dates are different, then the mobile app is prompted to pull down the update.




  • So you could always use a different workflow or applications for zipping and file delivery, but hopefully this gives you a good conceptual starting point to build your own cache delivery mechanism. If this is too much for you, then I would suggest looking at some of the COTS provisioning software vendors.




  • To set up this sample, follow the word docs in the cache tools folder. Once you have them running. Just change some tags in the MobileMapTemplate.exe.config file.
    • CacheServiceURL – needs to point to your cache web service
    • ShowCacheUpdate – tells the mobile sync control to show the update cache button, set it to true


Inspection Module


  • So we have provided the field crew with a digital map, but they are still filling out reports and inspection information on a clipboard and paper, in your quest to keep data up to date and increase efficiency, this does not make sense. Why not use the Geodatabase to capture field inspections, and then write a backend process to move it to the proper system? Sounds more efficient to me. This module shows you how you can set up an inspection feature class for a layer and how to pair the two together. So when I click a hydrant in the mobile map, it copies the geometry and opens a new hydrant inspection record.




  • This module works by specifying the asset to inspect, where that inspection goes, and a display label. Like this:
    • wHydrant_wHydrant Inspections_Hydrant



  • To set up this sample, you will need to add the inspection layers to your mobile map document and recreate the cache with this layer in there.  I attached a version of the mobile mxd with this layer in there.  Then open the MobileMapTemplate.exe.config file and change the following tags.
    • Inspect- tells the application to load the Inspection controls, set it to true
    • Inspections – the layers to inspection and their inspection layers
      • <Layer to Inspection>_<Result of Inspection>_<Label in dropdown>|Repeat
    • LogEditsInspect – This is a backup function that logs all edits to XML, it is not required.




Workorder List


  • We also wanted a generic way to show a list of workorders.  There are many fantastic workorders systems out there and no way we could build a sample with a connection to all of them.  But we can show you how you can load your workorders into a feature class that way an ArcGIS Mobile application can include workorders from any system.  All you need to do is write the back end processes to move workorders from your system into and out of this feature class.




  • The workorder control is fairly simple.  If looks at one feature layer in the mobile cache and loads all them into a display.  It is filtered by the crew names, which is changeable.  You can open and close workorders, which changes their status.  When you open a workorder, it trys to load up the inspection module.  So if you do not have this loaded, I hope it does not crash.




  • You may notice a some functions for routing and yards.  This is a current work in progress, but the idea here is that you can get a workorder or a yard and send it to a navigation control or application.  Stay tuned for an update here.






  • To set up this sample, you will need to add the workorder layer to your mobile map document and recreate the cache with this layer in there.  I attached a version of the mobile mxd with this layer in there.  Then open the MobileMapTemplate.exe.config file and change the following tags.
    • Activities – tells the application to load the Activities controls, set it to true
    • ActivityLayer – Tells the activities control to load workorders from this layer.  This layer is the wWorkorder layer in the field operations dataset.
    • The rest of the tags- If you are using the feature class that is part of the FieldOperations Dataset, then you will not have to update the rest, if so, update them to match your featureclass.



Field Routing


  • Finding the best route to a workorder or an incident is crucial in the field.  We are currently working on a sample to show how to call ArcLogistic Navigator from the Mobile Map Template, but in the meantime, we can call a service to get a route.  This module calls a Network Analyst Service with a list of stops, runs the route and returns the directions to the field application.  Again, not a perfect solution, but shows one option you have for routing your field staff.



  • To use this sample, you will need to create a routable network analyst feature class on your street data.  This needs to support driving directions.  I would suggest testing this in ArcGIS Desktop before publishing it to ArcGIS Server.  After testing, publish this map to ArcGIS Server and make sure Network Analyst is turned on as a service type.  Note the NA service URL.



  • To set up this sample, you will need to add the workorder layer to your mobile map document and recreate the cache with this layer in there.  I attached a version of the mobile mxd with this layer in there.  Then open the MobileMapTemplate.exe.config file and change the following tags.
    • NAServiceURL – tells the application the path the Network Service



Geometric Network Isolation Trace


  • Running advance tracing that finds the valves that need to be turned to isolate a main in the field can be extremely valuable.  The mobile map template does not support this advance analyst in the field, but it can call a web service to do this.  This sample shows how to call a web service that does this advance analyst.  The set up can be a little involved if you are not users the data model that is part of this template.  Please refer to the ArcGIS Mobile Services – GeometricNetworkRouting.doc in the attached zip for setting this up



  • Once you have the services up and running, you will need to adjust the service url in the MobileMapTemplate.exe.config
    • NetworkTraceURL – tells the application the path the Geometric Network Service
    • Rest of the tags - only change these if your data model differs



Posted in Water Utilities | Tagged , , , , , , , , , , , | Leave a comment

Using map algebra for filling and clipping a raster

By Matthew Baker, Esri Software Engineer

MA Model Thumbnail

In a blog entry posted last week called Filling and clipping a raster, Aileen described how to fill in holes in a “bad DEM” using data from an existing “good DEM”, then clip the filled DEM to the outline of a feature. The blog post suggested using some ArcGIS geoprocessing tools that are available with the Spatial Analyst extension. As with most GIS operations, there is more than one way to get to the final answer! In this blog post, I describe how Map Algebra can be used to achieve the same results.

Continue reading

Posted in Mapping | Tagged | Leave a comment

Filling and clipping a raster

By Aileen Buckley, Mapping Center Lead


Sometimes you want to use raster data, like a digital elevation model (DEM), but it doesn’t have the same exact extent as the area you are mapping. For example, if I use gtopo30 and “countries” data (available on the Esri Data and Maps CD) to create map of the Pacific Northwest, the coastline boundaries do not coincide. In some places the elevation values are missing for inland areas, and in other places, there are elevation values outside the extent of the land area. So we need a way to clean up the data and make them coincide. Just clipping won’t work as this won’t add the missing elevation values. Continue reading

Posted in Mapping | Tagged | 3 Comments

Creating layer packages part 2 – using group layers

We covered some basics in an earlier tutorial post on creating layer packages. Here we’ll build on that and take a look at how group layers can be used to create a multi-layer package.

We visited the NPS Data Store and downloaded geologic data for the Old Faithful quadrangle in Yellowstone National Park. The data included multiple layers used to create a map of surficial geology, and when we opened the provided ArcMap document here’s what we saw:

Because we opened the ArcMap document (.mxd file) the layers were already symbolized as the author intended with scale dependencies applied. We tweaked some of the properties for each layer as described in our earlier tutorial, and made sure we enabled the HTML popup property for each.

The map organized the content as separate layers, and we could have created unique layer packages for each one of them. But the layers were cartographically designed to work together, with scale dependencies applied to show various geologic details. To preserve the cartography the approach we used was to create a group layer, collecting all the individual layers in the group and preserving all the intended cartography. We then used the group layer to create the layer package containing all the layers. Here’s how we did it.

First, using ArcMap we created a new group layer:

We named the group layer, selected all the individual layers, then dragged them into the group layer:

Next we right-clicked the group layer and chose Create Layer Package… This put all the sublayers into a single, easily portable package.

Below is the layer package shown in ArcGIS Explorer 900. We’ve opened the group layer to show all the original sublayers. Cartography, including scale-dependencies, has been preserved in the layer package. We can now view the data in ArcGIS Explorer the same way we viewed it using ArcGIS Desktop, including the popup window contents.

Posted in Uncategorized | Tagged , , | Leave a comment

Emergency Response Guide Geoprocessing tools for ArcGIS

The Emergency Response Guidebook (ERG2008) is used by firefighters, police, and other emergency services personnel who arrive at the scene of a transportation incident involving a hazardous material.  The guidebook was developed jointly by the US Department of Transportation, Transport Canada, and the Secretariat of Communications and Transportation of Mexico (SCT).

When some people see the output of the ERG, the first thought is “It looks just like a circle and a rectangle….why isn’t this a plume?”.  The ERG is actually a widely used standard and is a “keep-out” protocol similar to a plume but requires less rigorous inputs.  It lets first responders determine an area of concern without over complicating a situation that may already be difficult to respond to.  When first responders arrive at an emergency their first two priorities are scene safety to protect responding personnel and saving the lives of victims involved in the incident. For that initial response they need quick results that will help them achieve these goals. The ERG tool is well suited to fit that mission.

More information on the ERG can be found here:
A PDF of the Guidebook can be found here:

The guidebook itself lists hundreds of hazardous chemicals.  For each chemical, recommended safe distances described as “Initial isolation distances” and “Protective action distances” are listed.  The “Initial Isolation Distance” is a distance within which all persons should be considered for evacuation in all directions from the actual spill/leak source.  The “Protective action distances” represent areas in which first responders could evacuate people to preserve safety.

ArcGIS Geoprocessing tools were created to put a spatial context to the ERG workflow process.  The Geoprocessing tools take all input parameters that the ERG requires to calculate the “Initial Isolation Zone” and “Protective Action Zone”.  The output of the geoprocessing tools create a feature class with polygons representing those zones.

The geoprocessing tools were built as custom .Net Geoprocessing tools.  These tools can be executed from ArcMap, or put into a Geoprocessing Model and published via ArcGIS Server to be leveraged in web mapping applications or ArcGIS Explorer.  The tools can be downloaded from the ESRI Resource Center in the Emergency Management COP template or the Geoprocessing Resource Center.
These tools provide a great example of how geoprocessing based upon standards such as the ERG can be incorporated into a custom geoprocessing tool.  Making custom geoprocessing tools allow the tool to be flexible to run in both ArcGIS Desktop and ArcGIS Server applications.  More information on building custom geoprocessing tools can be found here:

The download comes with two toolboxes.  The “ERGTools –Generic Tools” are the core geoprocessing tools.  The inputs allow you to upload a feature class as input.  Most people will use the “ERGModels – Generic Tools” toolbox which allows the user to interactively define a point on the map that represents a hazardous material spill.

There are also two Geoprocessing tools included: “ERG By Chemical” and “ERG By Placard”.  The “ERG By Chemical” lists all chemicals represented in the guidebook as a parameter.  In some cases someone may call in to report an incident, but not know the chemical, but saw the placard on the vehicle that spilled in which case you can run the “ERG By Placard”.

When you open the Geoprocessing tools, you will see all the parameters required.  The first parameter represents the input point.  The next parameter represents the Material or Placard depending on the tool you run.  There are additional parameters for the time and size of the incident that the guidebook defines that will impact the size of the “Initial isolation distances” and “Protective action distances” .  The distances change from daytime to nighttime due to different mixing and dispersion conditions in the air.  Spills that involve releases of approximately 200 liters (300 kg for solids)or less are considered Small Spills, while spills that involve quantities greater than 200 liters (300 kg for solids) are considered Large Spills.

The output feature class contains three polygons with an ERGZone attribute.  Zone 1 represents the Isolation Distance.  Zone 2 Represents the Protective Action zone.  Zone 3 is a combination of Zone 1 and Zone 2 and is used for GIS purposes such as defining road blocks, etc.

The attributes of the output feature class indicate which Zone each polygon represents, as well information about the origin of spill, chemical type, date and Guide Number in the ERG Guidebook.


The install package includes more detailed information about installing and using the ERG tool.  The ERG Geoprocessing tools are supported on ArcGIS 9.3 or higher. 

Posted in Public Safety | Tagged , , , | 4 Comments

9.2 SP6 Mobile Server and Client SDK Patch released!

Today we released a general patch titled ArcGIS Mobile Server and client SDK Patch for ArcGIS 9.2 Server for the Microsoft .NET Framework that you can install on top of ArcGIS Server .NET 9.2 SP6.

This patch is a culmination of hot fixes and we felt that it was important we share these fixes with all clients that are still using 9.2 SP6 and cannot migrate to 9.3.1 in the near future.

Please see the link above for details on the patch.

Mobile team



Posted in Developer, Mobile | Tagged , , , , , | Leave a comment

ArcGIS RIA Developers: Check out Tour de Flex

Six ArcGIS API for Flex sample apps are now available on Adobe’s Tour de Flex component explorer. If you aren’t already familiar with Tour de Flex, it is a great resource for all Flex developers. Adobe Tour de FlexIt gives you finger-tip access to hundreds of live AIR and Flex sample applications such as common components, skinning effect and more along with source code. 

Our samples include a map drawing tools app, thematic-based tax lots, open a pizza store and the Sample Flex Viewer.

If you have ideas for others samples that you’d like to see up there be sure to leave us a comment.


Posted in Developer | Tagged , , | Leave a comment

ArcGIS Developer Tip #4: How to use the ArcGIS 9.3.1 Visual Studio Snippet Editor

The ArcGIS Snippet Editor is a new feature of the ArcGIS integrated development environment (IDE) that comes with the ArcGIS Desktop and ArcGIS Engine software development kit (SDK) for 9.3.1. 

The snippet editor allows you to create, edit and manage ArcGIS snippets in Visual Studio 2005 or 2008.  It supports both VB.NET and C# code snippets.

Be sure to check out this video as it illustrates how to accomplish the following:

Snippet Editor Manager
Create a snippet (Function, Sub or Statement)
Auto-reference ArcGIS assemblies
Set the product, version and extension
Set title, description and help string
Store in a custom file path location

Snippet Finder
Search and find snippets by key word
Insert snippets into code windows

You’ll also find other helpful tips and tricks such as how to set the default snippet editor directory in Visual Studio for a system with Windows Vista.



Contributions from Don Kemlage, ArcGIS Product Engineer

Posted in Developer | Tagged , , | 1 Comment

Routing now available

6/15/09—Routing services for Europe and North America are now available on the ArcGIS Online Task Server. These free tools are available to use in your ArcGIS applications.

The routing capabilities are based on Tele Atlas 2008 reference data for North America and Tele Atlas 2007 reference data for Europe. The routing services enable you to generate routes and driving directions for two or more points with a limit of 5,000 routes per year, including 10 route stops and 25 barriers per route. For external commercial use of ArcGIS Online routing tools, or if you want to create more than 5,000 routes per year, subscriptions are available in blocks of 5,000 routes, including 20 route stops and 250 barriers per route.

For information on using the routing tools with the ArcGIS software of your choice, see Using free routing tools on the task server.

Posted in ArcGIS Online, Services | Tagged | Comments Off