Esri holds many national and local user conferences throughout the year. Their leading conference happens right about this time each year in San Diego California, with this year’s 34th User Conference landing on July 14-18. Formally known as the International User’s Conference (now just User Conference or UC), it is the premier world GIS event, with participants from 130 countries among the 16 thousand people in attendance. To put that in perspective, by most accounts there are 196 countries in the world. This year the Esri UC drew participants from about two thirds of countries in the world. With the first day dedicated to the plenary session and keynote address, the next four days are packed with 1,397 moderated paper sessions, industry focused sessions and technical workshops organized into 71 different topic areas. All in all it is a bit overwhelming with so much relevant information to choose from and try to adsorb in such a short period of time.


MB1In order to energize you for the week of information overload, the first day is all about the big picture, success stories and what coming in future releases of ArcGIS software. This is all done wrapped in a wall of screens with beautifully orchestrated music and graphics to produce a completely immersive experience.


Esri Founder and President Jack Dangermond opened the conference with the theme “GIS – Creating the Future”. He shared his perspective that the practice of GIS is at an evolutionary threshold. He sees GIS maturing beyond spatial analysis and moving into full-fledged geo-design, encouraging us to see ourselves as geo-designers to provide the world with fully rounded solutions and alternatives to the many problems we face. He also indicted that he feels that something is a-foot and left us to see if we agree with the rest of the day’s program.


As is Jack’s UC tradition, he shared the best of our work, with submissions from around the world organized by category and displayed, with trends discussed. MD iMap was recognized for the new GIS Data Portal in this part of the plenary and later in the day more fully in a dedicated section on Open Data and the World Bank. CGIS worked as part of the GIS Data Portal implementation team and among other items created the data graphics making the site more attractive and easy to navigate.


First Day Highlights

There was too much on this first day to provide any level of detail on all the incredible presentations in this blog post, instead here are the highlights and links back to the video taken of the presentations in case any of them catch your imagination.

  • The City of Minneapolis and their use of GIS to recover from the devastating blow of the economic down turn of the past few years.  Their team dropped from 8 to 3 GIS professionals. Their success came from completely reinventing their workflow, empowering their cliental to be self-sufficient in working with GIS data and embracing cloud based GIS solutions.
  • The port of Rotterdam’s use of GIS to transform from being the world’s largest port to being the best port in the world. With a ship coming or going every 6 minutes and a 4 hour sail time from the entrance point of the port to the farthest berth, optimizing and managing real time data in their GIS was key to their success in reengineering  port operations.
  • Starbucks IT’s use of GIS to support operations and new store location analysis. Looking to expand in areas with emerging smartphone use (demographics highly correlated to visits to Starbucks) and looking for optimal locations for their Starbucks Evening store rollout (wine, beer, desserts, a spread of cocktail party finger-foods, and more).
  • Singapore’s Urban Redevelopment Authority demonstrated its use of 3D GIS as a crucial planning tool for one of the most densely populated cities in the world. Impact analysis, alternative plans and meeting design metrics in an expedited manner were all successful outcomes of applying geo-design concepts and practices.
  • U.S. Commerce Secretary Penny Spritzer shared her views on the value of open data in a keynote speech titled America’s Data Agency – Expanding Economic Opportunity with Open Data.
  • Dr. Kathryn D. Sullivan, NOAA Administrator, Under Secretary of Commerce for Oceans and Atmosphere, US Department of Commerce (and former shuttle astronaut) shared how she is striving to bring earth science to life for global and national environmental challenges and decisions we all face.
  • Will.i.am (via Skype from Australia) talking to Jack Dangermond after an Esri staffer showed off a prototype of the smart watch he is developing, which includes an a really innovative voice activated Esri mapping application that is a peek into the future (or the past, as I think Dick Tracy had this watch)! Will.i.am explained that this project is part of his efforts in a larger program to empower youth in disadvantaged areas similar to where he grew up.
  • Jane Goodall (video message) provided a follow up to her 2005 Esri UC Keynote address on the threats that chimpanzees face. She talked about how GIS-supported land use management plans for villages around critical habitat areas are making a real difference in conservation efforts to save space for chimpanzees.
  • Sonora Elementary students from Springdale, Arkansas will surely impress you with the way that GIS can be connected with education. Their teacher Charlie Fitzpatrick introduces two of his students and they steal the show talking about their projects.
  • World Health Organization and the Bill and Malinda Gates Foundation representatives (Dr. Bruce Aylward and Dr. Vincent Seaman) delivered a joint keynote presentation on the Global Polio Eradication Initiative. This in-depth presentation stepped though the intensive efforts to reach the last pockets of polio in the most difficult locations to reach on earth, and how GIS is vital tool to for fill this mission.


What was evident from the prominence and diversity of these presentations was there is indeed something “a-foot”. From my perspective it was that Esri did not so much promote what their products could do, instead they let the stories of their products speak for themselves. These were indeed very powerful stories that spoke to the transformative power of GIS in action. There was another thread woven throughout the week’s paper and industry focused sessions that reinforced this notion of real change in the air both with the science and practice of GIS.  It was apparent that the transformative steps Esri has taken with its platform over the past several years and its efforts to make GIS more accessible are all coming together in a unified fashion across all fronts within the organization. Esri seems to be laser focused on its client’s success in a way that I have not seen before, providing complete solution sets for complex problems and implementations.


Special Achievements in GIS

In the middle of the conference each year Esri recognizes exceptional work in GIS by presenting “Special Achievements in GIS” or SAG Awards. This year the State of Maryland was recognized for OSPREY–Innovative use of GIS for Emergency Management that makes a difference. Barney Krucoff accepted the award on behalf of the Maryland Department of Information Technology (DoIT) and the Maryland Emergency Management Agency (MEMA). CGIS is a proud partner in developing the OSPREY suite of tools in support of emergency management and the citizens of Maryland.

Michael Bentivegna (CGIS), Barney Krucoff (DoIT), Mickey Brierley (FEMA – formerly MEMA)

Michael Bentivegna (CGIS), Barney Krucoff (DoIT), Mickey Brierley (FEMA – formerly MEMA)




Last week two CGIS employees, Tom Earp (Project Manager) and Melanie Bruce (GIS Specialist), attended ESRI’s 2013 International User Conference in San Diego, California.  I recently sat down with Melanie Bruce to discuss her experience at the annual GIS event.



Q: How many ESRI UC conferences have you attended?


A:  This was my second ESRI conference, the first time CGIS sent me.   This year there were over 12,000 people from 130 countries gathered to talk and learn about GIS.  The enormity of it is still a bit confounding.


Image credit: Kris Krüg

Image credit: Kris Krüg

Q: Many ESRI UC attendees I’ve talked to have mentioned that there are so many exhibits, presentations, and workshops they want to see but they have too little time.  Did you find that to be a challenge as well?


A: Yes, I can relate.  The event is enormous and it is impossible for a single person to see it all or even get close to seeing it all.  I received some good advice from Tom Earp who suggested focusing on one concentration or track.   We both focused mainly on Technical Workshops.  We made sure we did not overlap so that we could cover the most ground, take good notes, and disseminate the information back at the office.  I think it was a good strategy.


Q: Out of the presentations you attended, which did you enjoy the most?


A: From the Plenary, it was really inspiring to see Will.i.am speaking with students from the i.am.angel Foundation.  The presentation by Sam Pitroda, who is an advisor to the prime minister of India, also caught my attention.  What this guy is tasked with will boggle anyone’s mind: planning for the public information infrastructure of over 1 BILLION PEOPLE, of which 30% are living in poverty.


will.i.am speaking with high school students at the Esri UC. Image credit Esri.


Q: Did you attend any workshops this year?


A: Nearly everything I attended was considered a technical workshop.  I focused on workshops concerning using and optimizing ArcGIS Server, various application development topics (e.g. creating .Net Add-ins for ArcGIS Desktop, development with the ArcGIS JavaScript API, etc.), and spatial analytics.


Q: Is there anything you learned from ESRI UC that you expect to apply in your everyday activities at CGIS?


A: In the next few months, I am excited about and hope to touch on 1) the web version of The Operations Dashboard, 2) the GeoEvent Processor Extension, and 3) ArcGIS Professional – Version 11.  I can’t wait!


Jeremy Monn

Jeremy Monn

Making sure labels display properly in a cached map service is not always an easy task.  During the caching process, labels are sometimes duplicated or the labels are incomplete.  These issues tend to occur along cache tile boundaries.  While ArcGIS Server 10’s compact cache reduces how often this problem occurs by storing tiles in bundles, the problem can still arise along the bundle boundaries.  So, how can you avoid incomplete or duplicated labels in a cached map service?

ESRI does a good job describing a useful workflow if you have the time to work with annotation.  The workflow involves using two tools new to ArcGIS 10: the Map Server Cache Tiling Scheme to Polygons tool and the Tiled Labels to Annotation tool.  The product of this workflow is annotation for each layer of your map service at each scale of your map service.  Once this annotation is created, you are can edit the annotation as you see fit before caching the service.

If you are not interested in creating annotation, you can still label your features using the default or Maplex labeling engines while making sure your labels are not placed on top of the cache bundle boundaries.  To do this, use the workflow presented below.

1) Create a feature class that represents the cache bundle boundaries using the Map Server Cache Tiling Scheme to Polygons tool.

2) From the feature class created in step 1, use the Tile_Scale field to select and export to a new feature class all features tied to a given scale.  In other words, if your cache has 5 scales         then you will be creating 5 new feature classes, each representing the cache bundle      boundaries at a different scale.

3) Add the feature classes you created in step 2 as layers to your service’s MXD.  Make sure to symbolize the layers in such a way that the features do not show up when the cache is created.

3A) Set each cache boundary layer’s scale dependency to the cache scale it is   associated with.

3B) Set each cache boundary layer’s feature weight to high by accessing the Placement Properties window from the Labels tab of the layer’s properties window.

4) Cache your map service.
While this workflow may provide labels of the same feature relatively close together along cache bundle boundaries, incomplete labels will not occur.  Additionally, it is important to know that using the default or Maplex labeling engines to place labels will slow down the caching process.  Therefore, if you have the time and budget to thoroughly work with annotation, it is probably best to work with annotation.

Jeremy Monn

Jeremy Monn

At least half of my work week involves working with ArcGIS Server. So when my organization upgraded to ArcGIS Server 10 I was naturally curious what improvements were made to the software for map service caching purposes.  The most well-known and highly publicized caching-related improvement for ArcGIS Server 10 is the compact cache, which groups individual tiles into bundle files instead of storing each tile separately.  This modification not only helps shorten caching time, but it also shortens the time required to copy a cache from one location to another.

While the introduction of the compact cache option is important to know about, there are two lesser-known improvements that caught my eye which could be useful to those who regularly create or work with cached map services.

Mixed Tile Format
When configuring a map cache one needs to decide what image format to use for the cache tiles and what one decides will determine whether or not portions of a tile can be transparent.  If one selects JPEG then none of the tiles, even those along the cache periphery that have large areas that should be transparent, will have transparency.  This is an issue when one wants to overlay two cached images on top of one another.  In ArcGIS Server 10 one can work around this by using the mixed tile format, which provides the needed transparency in periphery tiles by storing them as PNG32 and storing all other tiles as JPEG.

Export / Import Map Server Cache Tools
Two tools available in ArcToolbox in ArcGIS 10 that could be very useful to those creating or modifying cached map services are the Export Map Server Cache and Import Map Server Cache tools.  The name of each tool clearly identifies each tool’s function.  However, what might not be so clear is the usefulness of these tools in the caching process.  Using these tools together provides the ability to collaboratively build a cache.  For example, one user could export a specific portion of a map service’s cache that they updated and share the update with others who can then incorporate the update in their own versions of the same map cache by using the Import Map Cache tool.  Additionally, the Export Map Cache tool can be used to export the cache to a folder that ArcGIS Desktop users can access. The ArcGIS Desktop users can pull in the cache as a raster dataset, thus eliminating the need to be connected to the ArcGIS Server that hosts the cache’s parent map service.

For more information on all improvements associated with ArcGIS Server 10, refer to ESRI’s What’s new in ArcGIS Server 10 page.


Jeremy Monn

As readers of Ashley Buzzeo’s latest blog post already know, Towson University’s Center for GIS (CGIS) has migrated its hosted ArcGIS Servers from ArcGIS Server 9.3 to ArcGIS Server 10.  As the migration took place all GIS services were reviewed to make sure they were functioning properly.  While most services were converted without issue a handful would not start post-migration.  After several hours of troubleshooting, the problem was identified as being related to a unique subset of WFS-enabled map services.

What was interesting about this problem was that several WFS-enabled map services worked properly after the migration while a few did not.  Knowing this, I knew that the problem’s solution existed in understanding how the functioning and malfunctioning WFS-enabled map services differed.   By comparing the information contained in the REST endpoints for a functioning and malfunctioning WFS-enabled map service I noticed one difference: the functioning WFS-enabled map service had unique field aliases while the malfunctioning WFS-enabled map service had two fields that had the same alias.  Making the malfunctioning map service’s field aliases unique solved the problem as I was able to start the service and confirm it worked properly.   All the other malfunctioning WFS-enabled map services were also explained by duplicate field aliases.

While this blog touched on only one issue related to ArcGIS Server 10 migration, there are many other issues that one may experience.  Visit ESRI’s Migration to ArcGIS Server 10 page as a starting point for answers to other migration-related questions you may have.


Jeremy Monn

Apparently my favorite topic to blog about is creating a KML-enabled ArcGIS Server (AGS) map service, because I find myself writing about the same topic even though I have written about this topic in two previous blog posts.  The impetus for writing about this topic a third (and hopefully final) time is that I found myself troubleshooting a KML-related issue that I am sure other GIS practitioners have or will come across.   Provided below is a description of each issue and its solution.


When panning to a new location in Google Earth, the data that the KML-enabled AGS map service references disappears.


The problem here likely stems from how the KML file was configured when it was created from an AGS map service.   There are specific configuration settings that deal with when or how a refresh of the KML file occurs.  In this case, one should configure the KML file so that it refreshes once the user stops panning.


Open the KML file with a text editor and search for the <viewRefreshMode> tag.  Make sure the value inside this tag is set to “onStop”.  Additionally, if any <refreshMode> and <refreshInterval> tags exist remove them if you want the refresh to be solely triggered by a user panning.


The KML-enabled AGS map service used returns a URL when a feature is identified in Google Earth, but the URL does not work.


An obvious reason why this might occur is because the URL provided in the dataset’s attribute  table was entered incorrectly.  Another less obvious reason is that special characters in the URL are being replaced by other characters.  For example, the “&” character may be replaced by the “&amp” string.


Obviously if the data was entered incorrectly in the source data’s attribute table then one has to correct the mistake.  However, when one has an issue where the “&” character is being replaced    by the “&amp” string then one should find out what MXD is being used for the AGS service,      save it as a MSD file, and re-point the AGS service to the newly created MSD file.  Once the AGS service is refreshed, the URLs should be correct in the service’s KML file.


Jeremy Monn

Updating datasets used by an ArcGIS Server (AGS) service can be tedious and time consuming. The major reason for this is that a dataset stored in a file geodatabase or SDE that is used by an AGS service is locked.  This means that it you want to replace the dataset with an updated dataset you first have to stop any AGS service using the dataset.  The time consumed increases if multiple AGS services use the same dataset or if there are several copies of a single AGS service using the dataset.  The tediousness of the task is apparent when one must navigate throughout ArcCatalog to 1) rename and import the updated dataset into the appropriate file geodatabase or SDE instance and 2) to start and stop the AGS service(s) using the dataset.  This blog entry focuses on a Python script I wrote that addresses the later by reducing the need to navigate throughout ArcCatalog to start, stop, and restart services that need updated.

My search for a solution began by perusing the ESRI ArcScripts page for a script that starts and stops services on an AGS server.  Luckily I came across the AGSSOM script, which not only allows one to start and stop services on one or more AGS instances, but it also allows one to restart and publish services.  If one wants to run the executable from Windows command line, the README documentation provides clear instructions.  However, my goal was to call the AGSSOM.exe from a model I built using Model Builder.  In order to do this, I wrote a Python script that stops, starts, or restarts a user-specified service on two AGS instances and incorporated the script into a model that the user runs from ArcToolbox.  The script is provided below with descriptive comments italicized.

# Import system modules

import sys, string, os, arcgisscripting, re

# Create the Geoprocessor object. 

gp = arcgisscripting.create()

# User of Geoprocessing Tool specifies the name of the service being updated (ServiceName) and whether the service is to be started, stopped, or restarted (OperationGUI)

ServiceName = gp.GetParameterAsText(0)

OperationGUI = gp.GetParameterAsText(1)

#The user’s choice for starting, stopping, or restarting the service is translated to the appropriate string used as an argument to run the AGSSOM.exe 

if OperationGUI == ‘Start’:

Operation = ‘-s ‘

if OperationGUI == ‘Stop’:

Operation = ‘-x ‘

if OperationGUI == ‘Restart’:

Operation = ‘-r ‘

# Execute the AGSSOM.exe in order to start, stop, or restart the user-specified service on two AGS instances (StagingAGS and PreReleaseAGS)

os.system(r”D:AGSAGSSOM.exe StagingAGS ” +Operation+MDiMapServiceName)

os.system(r”D: AGSAGSSOM.exe PreReleaseAGS ” +Operation+MDiMapServiceName)

It is important to note that the script above will only work properly if the user has administrative rights to the specified AGS instance(s).  Additionally, one must note that only the AGS instance names (StagingAGS and PreReleaseAGS) are specified above.  This means that the script will only work properly if the AGSSOM.exe is stored on a computer than is on the same network as the AGS instances.  Therefore, the script above must be tailored to the specific environment in which it is used.

Excluded from this blog post is a description of a second model I created that simplifies the renaming and importation of newly updated datasets used by an AGS service.  This model, employed with the model that utilizes the Python script described above, significantly reduces the time and tediousness of updating datasets used by an AGS service.  A description of the second model will be provided in a future blog post.


Jeremy Monn

A couple weeks ago I found myself trying to remember how to create a KML-enabled ArcGIS map service through ArcGIS Server Manager.  Luckily for me I wrote a blog on this topic about a year and a half ago.  Reading the blog helped me with the task at hand, but I felt an update would be valuable. Therefore, this month’s blog post focuses on returning attribute data from KML-enabled ArcGIS map services as well as things to watch out for when WFS-enabling ArcGIS map services.

Why doesn’t my KML-enabled map service display tabular data???
In my previous post, I described the steps involved in creating the map service’s KMZ file on an ArcGIS server.  However, I didn’t relay how one goes about ensuring that the tabular data tied to the features in that service will be returned when a user clicks on the feature in Google Earth.  In order to do this, one must enable the feature layer’s HTML Popup tool within the map service’s MXD.  For detailed instructions on how to complete this task, refer to the “How to set HTML properties for feature layers” section.

I can’t WFS-enable my ArcGIS Server map service, why???
If one is interested in providing users of their dynamic ArcGIS Server map service with the ability to use the data within the service in geospatial analysis scenarios, then one solution is to WFS enable the service.  Just like KML enabling, the process of actually WFS enabling the ArcGIS map service is quite simple.  However, there are two very important things to keep in mind when WFS enabling an ArcGIS map service.

1) If one’s ArcGIS map service is published using a MSD, as opposed to a MXD, then the map      service cannot be WFS enabled.  The solution is publishing the service from the service’s MXD.

2) If one’s ArcGIS map service consists of at least two layers that reference the same feature class then the map service cannot be WFS enabled.  A solution is to create a copy of the feature class and reference one of the layers to the copy.  NOTE: This solution can be painful from a  data management perspective, especially if one is working with large datasets that are   frequently updated.

Hopefully now that I have written these tasks in a blog I will not forget them.  However, it is nice to know that if I do I can always refer back to my blog for guidance.  I guess blogging can sometimes be viewed as a unique type of documentation.



A discussion at MSGIC’s recent quarterly meeting held at UMBC provided me with this month’s blog material.  While presenting what was new in ArcGIS 10, ESRI representatives wrapped up their presentation by touching on ESRI’s new certification program.  This set off a slew of questions and comments by attendees, some of which I’ll touch on below.

ESRI certification – What is it?
If you are ESRI certified, this basically means that you know a given set of ESRI software products extremely well.  There are several types of certification, each tailored to a person’s experience with a set of ESRI software products.  For example, there is a certification targeted specifically for individuals experienced in developing ArcGIS web applications (ESRI Certified Web Application Developer Associate).  In the future, every certification will have an associate and professional level, with the professional level certification signifying more experience and a broader knowledge of what the software can do.  Currently, only the ArcGIS Desktop certification has both the associate and professional levels available.

For more information on all of the possible ESRI certifications, click here.

So, how do I get ESRI certified?
In order to get certified, you must take a 90-95 multiple choice question examination at a certified Pearson VUE testing center.  According to the ESRI representatives at the MSGIC quarterly meeting, approximately 80% of the questions cover GIS theory and best practices, while the remaining 20% test knowledge of where to go within a given ESRI software product in order to complete a task.

Each examination attempt costs $225 and the exam is given in English only.  Upon completion of the exam, the exam taker will be informed in approximately 5 business days whether they passed or failed.  However, the exam taker will not be notified of which and how many questions were answered incorrectly.

For more information regarding taking an ESRI certification examination, click here.

Attendee’s Concerns
Along with the questions regarding how one gets ESRI certified, several attendees provided valid concerns that I believe are worth mentioning.

CO$T – An obvious concern is the fact that one needs to spend $225 per examination attempt.  Additionally, if this certification program takes off and RFP reviewers see the certification as a must then organizations that do GIS work are in a bit of a bind from a training standpoint:  do they foot the bill to get all GIS professionals certified or only a few?  This is something I never considered until the topic was brought up.

Lack of Transparency – Many attendees expressed their frustration that exam takers only receive a pass / fail notification and no indication of how many questions were answered wrong and which ones were answered wrong.

Confusing Qualification Language – If one views the Overview tab of the ArcGIS Desktop Associate certification description, the language mentions that the certification is focused towards ArcGIS 10 Desktop users.  However, if one views the Qualifications tab on that same page, one will notice that a qualified candidate for the certification will likely have two years experience with ArcGIS software.  This left some attendees asking “If this certification is geared towards ArcGIS 10 users, how can anyone be qualified to take the exam if ArcGIS 10 has not been out for two years?”  While I believe the qualification description is focusing on the GIS theory portion of the exam, I think it’s a valid question considering 20% of the questions that make up the exam focus on knowing where to go within the software (presumably ArcGIS 10) in order to complete a given task.

ESRI Review of Certification – Attendees were informed that ESRI may periodically review ESRI certifications.  In other words, there is a chance that a person who has an ESRI certification may have to become re-certified in the future if ESRI feels the certification needs to be updated.

More Questions? Feedback?

User feedback is always important.  For questions or comments regarding ESRI’s certification process, contact ESRI at certification@esri.com.

If you have more questions, visit the ESRI certification page’s FAQ section.



A couple weeks ago I was asked to troubleshoot the odd behavior of a cached map service in a FLEX web mapping application.  The application provides users with the ability to view the map at 11 different scales ranging from approximately 1:2300000 to approximately 1:2250.  The FLEX web mapping application uses several cached map services, but one disappeared when a user zoomed into the largest scale possible (1:2250).  This behavior was very odd because the cached tiles existed for the map service at the largest scale (1:2550).  So what was causing the odd behavior?

After comparing the cached services used in the application, I noticed that the cache level scales were all EXACTLY the same except for the largest scale.  (Up to this point I have referred to the largest scale as “approximately 1:2500”.  The true value for the largest scale is actually 1:2254.4677625.)  The cached map service that did not display correctly at the largest scale had its largest scale set to 1:2254.467763 not 1:2254.4677625.  In order for the service to display correctly in the application at the largest scale, I had to replace the cache tiles tied to the incorrect scale (1:2254.467763) with cache tiles created at the correct scale (1:2254.4677625).  So how did I do this?

Most GIS Specialists familiar with creating AGS map service caches would automatically think the solution is to simply delete the old cache level using ArcCatalog and add the new one.  Unfortunately this doesn’t always work.  When I tried this method, I noticed that even though I entered the correct scale (1:2254.4677625), the scale was rounded off to the wrong scale (1:2254.467763) once I applied the changes.  The workaround I used to solve the problem involved editing the service’s configuration file using Notepad ++.  The steps I used are provided below:

1) Open Windows Explorer

2) Navigate to the location of the map service’s cache folder

3) Locate the map service’s cache XML configuration file

4) Open the configuration file with a text editor (e.g. Notepad ++)

5) Manually correct the appropriate scale and save the configuration file

6) Open ArcCatalog, refresh the map service, and re-create the cache tiles for the corrected scale

Hopefully you found this helpful, I also published a blog post a while back on Lessons Learned: Creating a KML-Enabled ArcGIS Server Map Service that might be of use!