Visualizing task results in the Java Web ADF

In the ArcGIS Server 9.3 Java Web ADF, you can visualize task results in a couple of ways:

  • Data representation: shown in the result panel.
  • Visual representation: shown on the map as a callout.

Callout functions are enabled by default in the Web Mapping Application you generate with ArcGIS Server Manager or your Developer IDE. Any layer in a LayerDefintion can have its results from a query task returned in a callout.

There are several approaches you can take to customize a callout:

  • Customize through ArcGIS Server Manager
  • Customize through development

These two approaches both interact with the LayerDefintion. The Manager approach offers convenience through automation while the developer approach offers more flexibility.

The ArcGIS Server Resource Center offers a help topic that discusses both approaches. Developers who have some previous experience with the Java Web ADF will also appreciate this video demo of a custom search task application.

Contributed by Dan O’Neill of the ArcGIS Server Java software development team.

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

Tips for legend design

By Aileen Buckley, Mapping Center Lead

Example Legend--Click to see full size

We mentioned a few tips about legend design in our session called “The One Minute Cartographer” at the 2008 Esri User Conference. (The PowerPoint presentation is available for download on the Other Resources page.) Continue reading

Posted in Mapping | Tagged , | Leave a comment

Yankee Stadium, Go To Location, and 3D Warehouse

Fabled Yankee Stadium, a landmark for 85 years and backdrop to many of baseball’s greatest moments, saw its last game over the past weekend. From Wikipedia we got the lat/long coordinates, and decided to take a closer look.

Using Go To Location (Tools > Go to Location), we entered the coordinates.

And then chose Go To and Create Result to navigate to the location, and place a pushpin there.

We then went out to the Google 3D Warehouse, searched for “yankee stadium,” and downloaded a KMZ model of the “house that Ruth built.”

For more information on using coordinates to navigate or using KML and KMZ files, visit the Go To Location and KML Contents Help topics.

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

Podcast: Introduction to ArcGIS Engine Development

 

The ESRI Instructional Series has a new podcast out there called “Introduction to ArcGIS Engine Development“.   It is about eight minutes long and it provides an introduction to ArcGIS Engine and how it can be used to develop standalone applications and extend existing ones.  Described in the podcast are the SDK itself, customization options, licensing, ArcObjects model, and the application framework.

So, whether or not you have programmed using ArcObjects in the ArcGIS Desktop VBA editing environment, this podcast provides a good overview of the ArcGIS Engine development toolkit.  For more information, a great way to get started is at the ArcGIS Engine Resource Center.

 

Posted in Developer | Tagged , | Leave a comment

ArcGIS Explorer Hurricane Ike Maps and Layers Now Available

ESRI’s ArcGIS Online team has published a service containing recent imagery obtained from NOAA and showing the aftermath of Hurricane Ike for the Galveston, Texas, area. These are now available to ArcGIS Explorer users as a complete map or a layer that can be added to an existing map. To open these in ArcGIS Explorer, just click the map or layer below and choose download:

noaa_ike_imagery_map.nmf

noaa_ike_imagery_layer.nmf

(Note: To use the files above you will need to download and install ArcGIS Explorer. First-time users should choose the map file, which will automatically zoom to the Galveston area. The layer file will add the imagery as a new layer in your existing map.)

Here are some sample screenshots showing the service contents. The first is an overview showing the NOAA imagery mosaic on the Explorer default map. The imagery can be seen as the lighter colored green bands.

Here’s a view of Galveston Channel, showing the NOAA imagery with the USGS topo layer from the ArcGIS Explorer Resource Center.

Here’s a view of hurricane damage using the Swipe tool, allowing us to view the pre-Ike imagery (on the left) with the post-Ike imagery (on the right).

The imagery is part of the ArcGIS Online World User Imagery collection.

Posted in Uncategorized | Tagged , | Leave a comment

Anderson Cooper, Hurricane Ike, and Gilchrest Texas

In times of disaster and loss, sometimes it’s what’s left behind, not what’s gone, that delivers the most poignant image of the event. Tonight on CNN’s Anderson Cooper 360, a lone house, the only one left standing on its block in Gilchrest, Texas, in the aftermath of Hurricane Ike, provided a dramatic reminder of the destructive power of nature.

Anderson Cooper interviewed the owner of the house via phone, and here it is as seen in a video on the CNN Web site.

Here’s the same area, shown from above in ArcGIS Explorer prior to the hurricane.

ESRI has obtained recently flown aerials from NOAA, and has published a Web service with the updated imagery to assist GIS users in the disaster recovery effort. The imagery has been collected, cataloged, and combined using ArcGIS Image Server, with the resulting mosaic published via ArcGIS Server. The screenshot below shows the swipe tool revealing the pre-Ike (on the left) and post-Ike (on the right) imagery of the area.

In the post-Ike imagery the lone house can be spotted, shown within the red circle below.

Here’s a tilted view of the same location, compare this with the CNN video still at the top of this post.

Posted in Uncategorized | Tagged , , | Leave a comment

Post Hurricane Ike imagery for Galveston added to World User Imagery service

9/18/08—The World User Imagery 2D and 3D services, CSP_Imagery_World_2D and CSP_Imagery_World, were updated with imagery showing the
aftermath of Hurricane Ike in the Galveston, Texas, area.

ArcMap users can download the attachment below and open the MXD file to view the Hurricane Ike imagery.

ArcGIS Explorer users can download NMF map and layer files from the ArcGIS Explorer Blog.

ArcMap, ArcGlobe, and ArcGIS Explorer users can use the server URL http://services.arcgisonline.com/arcgis/services to access the CSP_Imagery_World_2D and CSP_Imagery_World services.

ArcMap and ArcGlobe users can connect to that server using the GIS Servers > Add ArcGIS Server command in the Add Data dialog or ArcCatalog.

ArcGIS Explorer users can connect to that server using the File > Open dialog and creating an ArcGIS Server connection under ‘Servers’.

If you have previously used these services, you may need to clear your cache in order to see the updates.

How to clear the cache in ArcGIS Desktop:

  1. Right-click the service in the table of contents.
  2. Click Properties.
  3. Click the Cache tab.
  4. Click the Clear Local Cache Now button, and click OK.

How to clear the cache in ArcGIS Explorer:

  1. Click Tools > Options.
  2. Expand Cache and click Disk Cache.
  3. Under Cache Clean Up, select All Caches.
  4. Click the Delete Cache button, and click Yes to confirm. ArcGIS
    Explorer will need to restart as part of this process.

How to clear the cache in ArcGlobe:

  1. Right-click the service in the ArcGlobe table of contents.
  2. Click Refresh. It may take several seconds for the cache to be
    cleared.
Posted in ArcGIS Online, Services | 2 Comments

Strategies for on-demand caching

ArcGIS Server 9.3 introduces the option to create map cache tiles “on demand” as they are visited by users. The first user to navigate to an uncached area must wait while the corresponding tiles are drawn by the server. The tiles are then added to the service’s cache folder and remain on the server until updated or deleted by the server administrator. This means that subsequent visitors to the area will not have to wait for the tile to be created.

When used wisely, on-demand caching can save you much time and disk space. Most maps show some area that is barren, unusable, or uninteresting to the map audience, especially at large scales (zoomed in). Caching on demand relieves you of the burden of creating and storing these unneeded tiles, but leaves the possibility that a user could still view the area if needed.

Although on-demand caching is a useful feature, it can put an unnecessary hit on performance when misused or overused. This topic contains tips for using on-demand caching in the most effective way.

Achieving the best performance

One benefit of full map caching is that you can serve beautiful, complex maps very quickly because the server is just distributing tiled images of the map; it isn’t drawing the map on every request. However, when you use on-demand caching, the server does have to draw tiles dynamically when a user navigates to an uncached area. This dynamic draw actually takes longer than a regular request because the server creates a group of tiles at once. This group of tiles is 4096 x 4096 pixels in size (equivalent to 64 tiles of 512 x 512 pixels).

Why doesn’t the server just create one tile at a time? If it did, you would see many duplicate labels because there is no way for the labeling engine to determine what labels exist on adjacent tiles. Hence the server creates a group of tiles at once and you must prepare your map for drawing large areas at an acceptable speed. This section discusses several ways to reduce the performance cost of on-demand caching.

Determining where you will cache on demand

The most important thing you will determine when configuring on-demand caching is which areas will be created on demand and which areas you will pre-cache. Never use on-demand caching to build your entire cache. You should always pre-create some tiles in the areas of the map you expect to have the most user traffic, thereby minimizing the chance that a user will consume server resources by requesting a tile on demand.

How do you determine which areas of your map will be most popular? This largely depends on the purpose and audience of your map. In a general base map, populated places, roads, coastlines, parks, and other points of interest have the potential to be visited more often than other areas. Microsoft Hotmap is an interesting case study that shows popularity of tiles in the Virtual Earth base map at multiple scales. Notice that at larger scales, the percentage of unused tiles increases.

Thematic maps might show very different trends of popular places. For example, maps used by a mining company might have highest usage in areas where there is the greatest density of mines. This could occur in unpopulated or mountainous areas that would be uninteresting to the general population.

To determine which areas you should pre-cache, examine the usage patterns of your current maps, either online or on the desktop. You can learn a lot through informal observations of where your users tend to navigate and which features they query.

Your data availability and resolution is also important. If your data is poor or nonexistent in certain areas, you can skip caching those areas. Even if someone does request an on-demand tile, it won’t take much time to draw if there’s nothing to show.

Your data also might be closely tied to the purpose of the map. For example, if you’re working with a department of transportation, you’ll want to make sure areas with a high density of roads and rails are pre-cached. Spatial analysis tools such as Kernel Density can help you determine which general areas are thick with interesting features.

After determining where users will most often visit, you should create a feature class that isolates these areas. You’ll reference this feature class when you run the Manage Map Server Cache Tiles tool, to ensure that tiles are only created within the feature class boundaries.

You might chain several tools together in a model or script to get this feature class of popular places. The model could contain various inputs of features anticipated to be popular, optionally buffer the features or determine their density, and finally perform post-processing on the output to ensure that the resulting feature class is suitable for a caching template. For example, the feature class whose boundaries you cache against should not contain numerous, small features. The Aggregate Polygons tool can eliminate small holes and polygons, and the Dissolve tool can create one multipart feature from numerous features.

The more you can isolate popular areas of your map, the more requests you can satisfy with pre-cached tiles instead of creating tiles on demand. For example, you may find that at a large scale level, you only need to cache a small fraction of your map area to accommodate 99% of user requests. You may decide to use the disk space that you save to strategically cache additional scale levels.

Testing and optimizing the map

Many organizations have complex map documents (MXDs) that were originally prepared for desktop GIS purposes. These maps often need adjustments to meet the fast response times expected by Web users.

Before you change your map, you may want to create a test cache of a small area to give you some baseline figures. Choose an area that contains a good mix of geography represented in your map, for example, urban and rural, flat and mountainous, and so on. Note the time it takes to create the test cache. Then enable on-demand caching and zoom to an uncached area. Note how long it takes for the tiles to appear at various scales. If performance is acceptable at this point, you can choose to not make any adjustments.

If you want to improve performance of the on-demand tile creation or even the general cache creation speed, you can follow some of the tips presented in Map authoring considerations for ArcGIS Server. This topic explains ways to optimize your map document for performance on the Web. Look in the section “Performance tips for non-cached maps” for these tips. In general, you should remove unneeded layers and use the simplest symbology acceptable for the features you do choose to show.

One way to detect inefficient layers in your map service is to set the ArcGIS Server logging level to Info:Detailed. Make one draw request to the map service, such as zooming to a bookmark in ArcMap. Then examine the ExportMapImage request in the logs and note the draw time for each layer. You’ll quickly be able to tell which layers are taking the most time. It’s a good idea to repeat this exercise at your different cached scales in random areas of the map. Remember to set the logging level back to Normal when you are finished, as Info:Detailed writes more log information than you normally need.

Once you’ve optimized your map, make another test cache and note how long it takes to create a tile on demand. If performance is still not acceptable, you can opt to do one of the following things:

  • Pre-cache a larger area. This way the chance of encountering an on-demand tile is diminished. You can attempt to limit on-demand caching to only the most barren areas at the largest scales, thereby ensuring that not many features will have to be drawn at once.
  • Make a full cache. By pre-caching all of the tiles, you won’t have to create tiles on demand. This could be the best option if you have the time and space to create a full cache and it won’t be updated often. If server downtime while caching is a concern, you can script caching jobs to occur on nights and weekends to steadily build your cache until it is full. You can also choose to devote just one service instance to caching while other instances handle user requests.
  • Use a dynamic service. If building a full cache is not feasible and performance is acceptable with a dynamic service, you might choose to skip caching entirely. Although this option does not give the best performance, the maps you show will always be up to date and you will not have to create or manage a cache.

Updating tiles

When you edit your source database, you need to update the cache before users can see the changes. If you follow the recommendation of pre-caching an area based on a feature class and filling in the rest of your cache on demand, you’ll need to be careful that the updates include all the necessary areas.

There are two strategies you can follow to update your cache when you’ve been creating tiles on demand:

  • Delete all tiles that were created on demand before you perform an update. If you’re creating tiles on demand, you probably pre-cached a certain area based on a feature class. Normally you’ll also perform the update based on that feature class, and the on-demand tiles will become out-of-date if you do not delete them.

    To delete the tiles, run Manage Map Server Cache Tiles using the Delete Tiles mode. You should delete tiles based on the inverse of the feature class you pre-cached against. You can use ArcGIS editing tools to make a polygon representing the full extent of your map and cut a hole in it for the area that was pre-cached. The resulting “donut polygon” is the area where tiles should be deleted. See Common Polygon Editing Tasks for one explanation of how to cut a hole in a polygon using the Clip command.

    Alternatively, you can delete all tiles in the cache before you start the update, but this might add some overhead if your cache is large.

    If you’re worried that users will have to wait for a certain place to be cached on demand after every update, you should think about adding this place to the area that is pre-cached. When you’ve pre-cached wisely, on-demand caching should only occur infrequently in random patterns in the less-interesting areas of your map. If users are constantly returning to a place, it should be pre-cached.

  • Target your cache updates to cover only the areas where data was edited. One way to do this is to use geodatabase archiving or a custom tool to track all the changes since the last update, then export these changed areas to a feature class and update tiles based on the feature class boundary. Tom Brenneman’s tool Show Edits Since Reconcile can be helpful for this workflow. Alternatively you could use the Feature Compare tool to compare an edited copy of a feature class with an old copy and export the changed features.

    If you’re sure that you’re only updating areas where edits occurred, you don’t have to delete all the tiles that were created on demand.

Contributed by Sterling Quinn of the ArcGIS Server software development team

This information was recently added to the ArcGIS Server Web-based help as Strategies for on-demand caching

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

Ari Isaak on Explorer

Ari Isaak blogs about using ArcGIS Explorer, and publishes an overview video and showing the display options and how to use tasks. The post can be found on %scratchworkspace%, the GIS blog at the Unified Port of San Diego.

Posted in Uncategorized | Tagged | Leave a comment

ADOT Podcast on ArcGIS Explorer

Jami Garrison, data bureau manager at the Arizona Department of Transportation (ADOT), discusses her experience participating in the 2008 ESRI International User Conference Plenary Session where she highlighted ADOT’s ArcGIS Explorer application.

ESRI podcasts are a free and easy way to get the latest news and information from ESRI.

Posted in Uncategorized | Tagged , | Leave a comment