ExecuteSQL Command for ArcMap added to ArcGIS Desktop .NET Code Gallery

During the Implementing Enterprise Applications with the Geodatabase presentation at the 2009 ESRI Developer Summit a couple weeks ago, we talked about a handy tool that can be added to ArcMap to send SQL to the connected database. This tool uses the IWorkspace.ExecuteSQL method and it can be very useful in starting and stopping a DBMS trace directly from ArcMap when profiling an operation.

The tool can be downloaded from the ESRI ArcGIS Resource Center for developers in the ArcGIS Desktop .NET Code Gallery. Click here to go directly to the tool.

Posted in Geodata | Tagged , , , | Leave a comment

Exploring more of ArcGIS Online

ArcGIS Online is tremendous resource of ready-to-use map and globe services that can be accessed directly using ArcGIS Explorer. Explorer’s default globe and the additional maps and layers that you add from the Data tab on the Explorer Resource Center are all powered by ArcGIS Online.

You can also connect directly to ArcGIS Online and discover additional services not currently included on the Explorer Resource Center. Here’s how…

First, make a direct connection to ArcGIS Online. From Explorer choose File > Open, then click Servers. Create a new connection by choosing ArcGIS Server.

 Enter the URL to ArcGIS Online. Note that in the graphic below the final “s” is cut off in the input box. The complete URL should be http://services.arcgisonline.com/arcgis/services. You don’t need a user name or password.

Once you’ve established the connection, you’ll see something like this – the list of all available data services from ArcGIS Online.

If you look closely you’ll note the different icons that distinguish and organize what is available.

When you first connect globe services will be a little faster to draw since these don’t need to be projected and most are already cached. Map services will take just a little bit longer to display when you first connect, but will be just as fast once you’ve connected and generated local cache.

To add a service just double-click. Here we’ve chosen to open a NASA cloud cover service. Try adding one or both of the layers in the service.

Now that you know how to add ArcGIS Online services directly, we’ll take a closer look at others in upcoming posts.

Posted in Uncategorized | Tagged | Leave a comment

Parallel processing with ArcGIS Server: A case study with geocoding

You’re probably already familiar with creating Web applications and services with ArcGIS Server, but in this blog post we’re going to talk about how you can use ArcGIS Server to run very large back-end jobs. We’ll also do it in the context of geocoding, which is an aspect of ArcGIS Server that we haven’t covered much in this blog yet. We hope this will get you excited about some new possibilities available through ArcGIS Server.

ArcGIS Server is an exceptional framework for running large jobs because it allows you to break them down into smaller chunks of work that can be run simultaneously. This way you can take full advantage of your hardware resources. A good example that you may already be familiar with is map caching. A map caching job is transparently split across all your Server Object Containers. By creatively using ArcGIS Server services, you can work in a similar manner with more specific jobs such as batch geocoding, generation of high quality map series, demographic analysis, simulation, and so on.

Today we’ll illustrate this with geocoding, which is the process by which you associate X/Y coordinates with addresses or place names. Imagine that you have a list of 25 million addresses to geocode. How do you effectively run this job?

One idea is to create a geoprocessing service that takes a small subset of these addresses and puts the outputs in a common repository. Once the service is up, you can simultaneously send small chunks of addresses to the service, allowing the geocoding process to occur in parallel until you are done. You can use a simple Python script or executable to span the jobs on the server. A typical locator handles around 2 million addresses per hour per core on a 3Ghz server, so on an eight core server our 25 million addresses would be geocoded in a bit less than a couple of hours.

All right, that is way too much of a high level description! We put together a small document that will disclose how you do this with a practical example. The document is called ArcGIS Server in Practice Series: Large Batch Geocoding and it’s available from the ArcGIS Server brochures and white papers page.

Posted in Services | Tagged , , | Leave a comment

What's coming down the pike…

 by Maia Pawooskar

You must have seen ArcGIS Business Analyst Server at the recent ESRI Worldwide Business Partner Conference. The very first release was ArcGIS Business Analyst Server 9.2 in early 2008. That release was followed by a minor release, Service Pack 1. Earlier this year we released the 9.3 version.

So what have we been up to? We are working very hard on releasing a Service Pack to 9.3 which will be coming soon. And then there will be the 9.3.1 release of ArcGIS Business Analyst Server…

Posted in Location Analytics | Tagged | Leave a comment

ArcGIS for AutoCAD Build 200

ArcGIS for AutoCAD Build 200 was released a few weeks ago. The free download introduces a new way for AutoCAD users to participate in ArcGIS workflows. In addition to accessing map services hosted on ArcGIS servers, AutoCAD users can now work with standard AutoCAD objects and attribute field values as feature classes.  Here is a brief overview of what’s new and what you can do with the product.


Map Services

Build 200 improves the performance of map services and extends support to include cached and password-protected maps. A new palette now functions as the main console for interacting with map services.  The map service palette includes a toolbar for toggling between multiple maps in the same AutoCAD drawing.

The toolbar includes new interpretations of commands from Build 100 as well as a few new ones. It is now possible to disconnect a map service and convert it on-the-fly to a static raster image for working off-line or archiving purposes.


Also included is the ability to save and edit a list of favorite map services.  The software ships with a preloaded list of ArcGIS Online maps available free to ArcGIS customers.


Projections and coordinate systems

The map service palette includes heads-up information about the coordinate systems you are working with. The coordinate system published with the map service and the coordinate system assigned to the AutoCAD drawing are displayed for easy reference.


AutoCAD users can also import coordinate systems from the library of ESRI .prj files that ship with the software. ArcGIS for AutoCAD will project map services on-the-fly. The only caveat is the hosting server must have a geometry service running and be accessible.  As a measure of redundancy ArcGIS for AutoCAD will also look on the user’s local machine for an ArcGIS Server geometry service in the event one is not found on the host server.

Layer Controls

Layer controls have also been added for maps services published with this capability.


Feature classes

Build 200 introduces a new way for AutoCAD users to author and exchange feature class information with ArcGIS. A dedicated palette functions as the main console for managing feature class definitions.  The palette uses a toolbar for working with feature classes individually. 


Also included is the ability to import entire feature class schema from another AutoCAD drawing. This can be useful for distributing standard schema to other users tasked with enabling feature classes in existing drawings. Another possible workflow is to use the Export-to-CAD tool in ArcGIS 9.3 (or higher) to export feature classes from an existing geodatabase to an AutoCAD drawing in order to save time and ensure fieldnames and data types conform to your GIS standards.

ArcGIS for AutoCAD feature classes are essentially standard AutoCAD objects and attributes.  The Feature class palette simply provides an interface to specify the object types and properties that qualify as members of a particular feature class. AutoCAD users may recognize them for what they are: AutoCAD selections sets. ArcMap users will recognize them as Definition Queries. Developers may be surprised to discover that no custom object data are used to accomplish this: it’s really that simple. 

The benefit to AutoCAD users is they can continue creating features as they always have using existing CAD standards. The objects will automatically participate in the feature layer as long as they reside on the layer, color or other combination of properties associated with the feature class. And this is completely configurable by the user.

The benefit to ArcGIS Desktop users is that ArcGIS 9.3 (or higher) reads them as named feature classes in the CAD dataset.  Simply drag and drop them into a Geoprocessing tool such as Feature-Class-to-Feature Class and you have just seamlessly converted CAD data, including feature attributes, to a geodatabase without building a complex definition query.

Feature Attributes

ArcGIS for AutoCAD and the geoprocessing tool Export to CAD now attach feature attributes directly to the AutoCAD entity; more on this in another blog.  This makes it possible for ArcGIS for AutoCAD to leverage the standard AutoCAD properties pane to view and edit these values.  A GIS workflow that requires AutoCAD users to view and edit feature attributes is now identical to working with standard AutoCAD entities. Simply select the AutoCAD entity and edit the values. You can also populate multiple entities belonging to the same feature class with a common value by selecting more than one feature.



ArcGIS for AutoCAD is aimed at improving interoperability between ArcGIS and AutoCAD.  Build 200 is an integrated toolset for referencing, authoring and exchanging GIS information between AutoCAD and ArcGIS.  It is a better alternative to less-efficient methods of sharing data that use feature-based translation or conversion to a shape (SHP) file as an interim format.

Posted in Geodata | Tagged , , , , , , , | 4 Comments

Status Report on DevSummit 2009 Videos

We know you are anxious to see this year’s DevSummit videos, so we wanted to give you a status report of where we are.  We have just published a number of videos in the Media Galleries and we are still processing a number of others.  We are also still linking the videos to the code galleries, so we appreciate your patience as we get everything wired up for you.

In the galleries you will find following types of videos:

  • Plenary session
  • PreSummit sessions
  • Technical sessions
  • User sessions
  • Demo Theaters*

* Since the demo theaters weren’t recorded, we have made them available as  automated “slide shows”, but they do not have  audio. 

If you don’t see the video you are looking, for then we recommend subscribing to the RSS feed in the Media Gallery of interest to be notified automatically notified of updates.  We expect it will take a week or two to get all of them uploaded. 

Lastly, when you are through watching a video, don’t forget to rate and leave comments!

Enjoy and thanks again for your patience.

EDN Team


Posted in Developer | Tagged , , | Leave a comment

Kentucky Geography Network and Explorer

Kentucky’s geospatial data clearinghouse (KYGEONET) has posted an Explorer map that you can download and use. You’ll see an ArcGIS Explorer screenshot on the main page, and a link to download the map.

The map publishes 2-foot resolution imagery for the entire state, published as an ArcGIS Server globe service from an enterprise geodatabase (SDE). Here’s the entire state’s imagery:

And here’s a closer view of the service:

The Kentucky Geography Network also provides a very nice online catalog of additional resources, including online Web map services, downloadable data, and even historical maps.

Posted in Uncategorized | Tagged , , , | Leave a comment

Detailed VB6 to .NET Migration Videos

If you need to migrate your VB6 projects to .NET, be sure to check out these new How To… videos in the Media Gallery.  Don Kemlage from the ArcGIS team provides a very detailed tour of how to convert various types of VB6 projects to .NET. 

Tips and Tricks
Also covered are some of the obstacles you’ll run into in the conversion process and how to get around them:

Required library reference changes
Code changes
VB6-.NET type resolution
Visual Studio project settings
Visual Studio .NET debug configuration

Don also describes how to take advantage of the ArcGIS SDK .NET integration tools and base classes to streamline your .NET code.

How to Migrate a VB6 Project to .NET – Simple Project

How to Migrate a VB6 Project to .NET – Complex Project

So if you are about to migrate or are in the process of moving your projects over, be sure to check these out.

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

Changing the Dashboard – Adding a Widget

So you want to add your own widget to the Dashboard, but you are unsure how. It is easier then you think. All you need to do is add the layer to display to a map document and then configure the widget.

In the following example, I am going to walk through adding a new live layer widget. These widgets are the widgets that support the workorders, customer calls, etc.

First we need to set up the layer in a map document. The other live layer widgets use the WaterDistributionOperations.mxd map document, so let’s just add the layer to this document.

Just open the map document and add the new layer as the last layer in the table of contents. For Example add the wMeter Feature Class.

Now the REST Services use the visible fields and the field alias’s in the layer properties. So  take some time here and turn off fields not needed to be displayed and added field alais’s if you did not define them in the Geodatabase. Certain fields are required, do not turn these off, this includes Global ID, SHAPE and OBJECTID.

Save your map document, and then restart the map service. It is probably a good idea to clean you REST cache at this point. Typically the link to REST admin is the following: http://localhost/ArcGIS/rest/admin

Now we need to configure the widget. Browse to <Install Location>Sample Flex ViewerFlexViewercomesrisolutionsflexviewerwidgets. Copy and paste LiveLayerWidget.xml. Rename the widget to something more meaningful, like LiveLayerWidget_Meters.xml.

Open up the LiveLayerWidget_Meters.xml file in your favorite XML Editor.

Find the URL of the layer you just added. This can be found in the Service Directory Web Site. The URL to this is typically http://localhost/ArcGIS/rest/services. Find the WaterDistributionOperations service and click it to see the details. Click the Meters layer and copy the URL from the address bar at the top. Should look like this: http://localhost/ArcGIS/rest/services/OperationsDashboard/WaterDistributionOperations/MapServer/5

Copy and paste that between the Layer tags.

Next fill out a query if you want in the query tag. Here I am trying to find all meters that are set to out of service.

<query>ACTIVEFLAG = 0</query>

List the fields you want to display in the fields tag. Use the field aliases here. You can get these from the REST service page.


For Instance, instead of LOCDESC, use Location Description.

Next is the Filter Tag. Here you can allow the users to type in a value to filter the results in real time. For Example, I added the filter to see only critical customers.

The Refresh tag allows you specify a value, in seconds, for the widget to requery the data.

Lastly, you can set a zoom scale. This is the scale the map zooms to when someone clicks a record in the widget.

Save your changes. The last step is to configure that application to load the widget.

Browse to Sample Flex ViewerFlexViewer and open the Config.xml in your XML Editor.

Scroll to the Widget tag

Copy one of the existing widet tags and change it to point to the xml file you just created. You may also want to change the icon to something else. There is a bunch of icons in the <Install Location> Sample Flex ViewerFlexViewercomesrisolutionsflexviewerassetsimagesicons folder.

It should look like this when you are all done.

<widget label=”Out of Service Metersicon=”com/esri/solutions/flexviewer/assets/images/icons/yellowWarning.pngmenu=”menuOpLayersconfig=”com/esri/solutions/flexviewer/widgets/LiveLayerWidget_OutOfServiceMeters.xml>com/esri/solutions/flexviewer/widgets/LiveLayerWidget.swf</widget>

Save your changes and open up the flex application.

Thanks, let us know how you make out.

ArcGIS Team Water


Posted in Uncategorized | Tagged , , , , , , , | Leave a comment

Mount Redoubt redux

Recently Alaska’s Mount Redoubt made the news with a spectacular eruption. According to Wikipedia:

Mount Redoubt, or Redoubt Volcano, is an active and currently erupting stratovolcano in the largely volcanic Aleutian Range of the U.S. state of Alaska. It is located in the Chigmit Mountains (a subrange of the Aleutians), west of Cook Inlet, in the Kenai Peninsula Borough about 180 km (110 miles) southwest of Anchorage.

We thought we’d take a closer look at the volcano, and indeed we showcased a bit of Mount Redobut during the recent DevSummit plenary using the soon-to-be-beta ArcGIS Explorer 900. You’ll see it displayed in 900′s presentation mode at the end of a post we published about the plenary demo. But 900 isn’t released yet, so we thought we’d take another look at it using the current 500 version of ArcGIS Explorer.

First, we needed to locate Mount Redobut. To do that we used the GeoNames Search task which you can add to ArcGIS Explorer (if you’ve not done so already) from the Tasks tab on the Explorer Resource Center. Click the description of the task and you’ll learn that:

Searches the GeoNames (geonames.org) geographical database. It returns geo-referenced candidates from you can create results or simply navigate to. The database contains over eight million geographical names and consists of 6.5 million unique features whereof 2.2 million populated places and 1.8 million alternate names.

This task is ideal for finding place names such as mountain peaks, valleys, and other placenames you might see on topo maps. So we entered Mount Redoubt and found… well… not quite what we were looking for. We found Mount Redoubt in Washington. We then typed Redoubt Volcano and located it. We chose Create Result to add it to our map.

Turning on the topographic map layer we figured out why – the placename on the topo is indeed Redoubt Volcano, so that’s the way it’s stored in the GeoNames database. Here’s the location on the topo map, and we’ve clicked to open its popup window. The information in the popup was automatically created when we used the task.

We were cruising around on the Web and found this nifty flash animation on the MSNBC site.

Viewing the source for the page we were able to figure out the flash animation source. We edited the popup properties to add the flash animation to our popup window, and here’s what it looked like. The neat part is that we could use the back and next arrows within the animation to move from one animation frame to another.

And here’s the HTML we typed into the popup window properties to display the animation.

<object width=”550″ height=”400″>
<param name=”movie” value=”http://msnbcmedia.msn.com/i/msnbc/Components/Interactives/Technology_Science/Science/volcano_dw.swf”>
<embed src=”http://msnbcmedia.msn.com/i/msnbc/Components/Interactives/Technology_Science/Science/volcano_dw.swf” width=”550″ height=”400″>

While we don’t advocate “stealing” content from anyone’s Web site (we just borrowed this), you can experiment with lots of things in popup windows that you can discover on the Web. You might need a little HTML know-how, but it’s super simple to add some compelling content to your popups.

Posted in Uncategorized | Tagged , , | Leave a comment