Monthly Archives: May 2010

Localization involves the customization of application components for a specific language or locale. In many cases this means defining/translating text strings using a specific language. The text strings are usually displayed as part of a component or application user interface. The ArcGIS Silverlight/WPF API contains a set of controls which define text strings in English. Obviously when building a Silverlight/WPF application for a language other than English, this text must be modified/translated. Since the Silverlight/WPF API is built on the Silverlight and WPF platforms, it can leverage the capabilities of those platforms to localize components. The easiest technique for localizing ArcGIS Silverlight/WPF controls is leveraging the control templating capabilities of the platform. In my previous post, I discussed creating a control template to customize the look and feel of the Navigation control. We can build on that post to localize text in the Navigation control.

Once the control template for the Navigation control has been created, the process is quite straighforward. Merely select the elements of the control that define UI text (and will display at runtime) and change the text string in the property page. For example, when hovering over the pan left element, the tooltip text “Move to the West” is displayed. Change this text to the preferred language. In the screen shot below the language is Japanese:

You can also modify the text in the XAML view.

I also added Simplified Chinese, Russian, Spanish, and Hebrew – a different language for each element in the custom Navigation control. I used online translators, which should make for some interesting translations.

Have you been wondering what tools can help your economic development efforts to woo businesses to your community?

You might learn some new tips and tricks in this podcast. Kathie Thurston, Executive Director of the Redlands Chamber of Commerce in Redlands, California, discusses how the demographic analysis tools in ESRI Business Analyst Online helped the chamber successfully fill a key commercial vacancy for the city.

Some time ago, a client told me that he has about three hundred aerial images and fifteen digital elevation models (DEMs) of the same area. He wants to use these datasets to construct a single image that his technicians can use to view and analyze. Basically, he was looking for an option to store, manage, view, and query small to large collections of raster and image data in a rather simple way using ArcGIS, hey who doesn’t.

Currently, the client and his team work with these raster datasets one at a time. For example, adding and checking to see which image covers their study area, one by one, which is, you know, very tedious.

Here is some good news: in ArcGIS 10.0, you may be glad to know that you can manage large amounts of raster datasets using a great new geodatabase data model called mosaic datasets. And yes, this functionality is available as part of the core.

What makes them different and great?Here is the story – just like how one raster dataset stores data (photographic, elevation etc) as a continuous grid over a given area, mosaic datasets store many rasters over larger areas and present them seamlessly.

Not only large areas, but these mosaic datasets can bunch up individual datasets from different times – yes, I do mean temporal mosaics. If you have imagery of the same geographic area from several years, you can keep them all together in a single mosaic dataset, which could be used for tracking changes. And the datasets do not have to be adjoining or overlapping but can exist as unconnected or discontinuous datasets.

Also, some simple functionalities like hillshade, slope, aspect etc, which were available as separate tools in the Spatial Analyst toolbox are now a part of the mosaic dataset data model. Meaning, if you would like to be able to see hillshade of an area, you can now simply add that function to your mosaic dataset that contains your DEM(s); you don’t have to specifically run another tool and handle a different dataset for this purpose.

You can even Orthorectify your imagery, if you have the correct rational polynomial coefficient (RPC) information from your vendor.

Mosaic datasets also have advanced raster querying capabilities and processing functions and can also be used as a source for serving image services.

Doesn’t this sound great!? – a single dataset that extends the meaning and use of a raster dataset not only by blending their neighbors in space and time but also by offering derived products from the base rasters as functions to run and view on the fly. To top it off, these datasets carrying analytical results can be easily served to clients and users as seamlessly. Needless to say how many more steps and individual files does this save.

A common question the CAD team receives is how to preserve the original text height when importing a CAD annotation feature layer, or, if it has already been converted, how to scale it back to its intended size.

Define a Coordinate System

The best practice is to define a coordinate system for the CAD dataset before adding it to your map and before importing the annotation. More importantly, it needs to be a projected coordinate system with a unit of measure that matches the unit of measure the CAD file was created in.

Defining a projected coordinate system is important for two reasons:

First, if you don’t define a coordinate system, the tool has no other recourse than to use its own default unit of measure, which is meters. If the source CAD drawing was created in meters, this is not a problem. But if the drawing was created in units other than meters, such as U.S. Survey feet, your text will convert to a size that is likely to be unusable.

Second, the Import CAD Annotation tool only references the coordinate system defined with the dataset, not the data frame. Therefore, you must define a coordinate system in a Catalog window before adding it to ArcMap if you want the tool to recognize one.

Convert to Geodatabase Annotation

After you’ve assigned a correct coordinate system and added the CAD data to your map, right-click the CAD annotation feature layer in the table of contents and click Convert to Geodatabase Annotation.

Run the Import CAD Annotation tool accepting the default parameters. When it has completed executing, the annotation will be added to your map.

Recalculate the FontSize Field

If instead, you no longer have access to the CAD file, but you know the unit of measure it was created with, then it is a simple matter of rescaling the font size with a conversion factor.

A common misconception at this point in the workflow is the idea that changing the annotation’s reference scale will correct the problem. Although useful in its own right, a reference scale is only a display scale, meaning it is the scale at which the annotation will display at its defined size. In this case, it does not correct the results that were caused by an undefined unit of measure in the input CAD dataset.

The solution to the problem is to scale the values in the FontSize field with the Field Calculator using the correct conversion factor.

Open the attribute table, right-click the FontSize field heading, and open the Field Calculator.

For the sake of this discussion, let’s assume the CAD file was created in U.S. Survey feet. In this case, multiply all values by the conversion factor 1200/3937.

One last note: If you’ve followed these instructions and the annotation is still displaying incorrectly in ArcMap, check the data frame’s units setting and verify that it also matches the units that your conversion factor calculated for.

Summary

In summary, if you need to import CAD annotation, you should always define a coordinate system before converting the data. The units should match the CAD file’s unit of measure. Defining a coordinate system defines a unit of measure that the Import CAD Annotation tool will use to calculate font size. If you don’t define a coordinate system, the tool will calculate one unit per meter. If you no longer have access to the CAD file, but you know the unit of measure, you can resize the font by applying a conversion factor to the FontSize field using the Field Calculator.

A couple of months ago we discussed accessing the GDB_Items.Definition column of a 10.0 Geodatabase to extract information about the Geodatabase’s schema without ArcObjects (See part 1, part 2, and part 3).

Those posts mentioned two approaches for doing this. The first was to retrieve the Definition column’s value and query it using an API with a Document Object Model implementation. The second was to use the DBMS’s native XML functionality to retrieve specific nodes of the XML value.

Although using DBMS XML functions is usually preferable, it isn’t always possible to do so. One example of this is when using a Personal Geodatabase; since Access doesn’t have an XML type, the Definition column uses the Memo type instead.

The following example shows how to display the code/value pairs of a coded value domain named “PipeType” from a Personal Geodatabase using C# and classes from the System.Xml.XPath namespace:

Another case where native XML functions aren’t available is when accessing an ArcSDE geodatabase in Oracle. Due to limitations with the XML type in Oracle 10g, XML columns in Oracle geodatabase system tables use the ArcSDE XML type rather than the native Oracle type.

To enable reading these values without ArcSDE or ArcObjects libraries, views have been created for the two system tables with XML columns, GDB_Items and GDB_ItemRelationships, named GDB_Items_Vw and Gdb_ItemRelationships_Vw respectively. These views replace the XML columns of the actual tables with CLOB columns that can be read as text.

The following example shows how to display the code/value pairs of a coded value domain from an Oracle Geodatabase using C# and classes from the System.Xml.Linq namespace:

To query and view the contents of the CLOB columns, the Oracle server must be configured in a similar manner to use sql with ST_Geometry.

In ArcGIS Server 10 we’ve introduced a new storage format for map caches that’s designed to make caches easier to move and store.

When you define the tiling scheme for a cache, you’ll now see the storage format choice of Exploded or Compact.

Exploded is the same format you worked with in earlier versions of ArcGIS Server, in which each tile is stored as a single file.

Compact is the new format. It actually does not zip or compress the tiles in any way; rather, it groups the tiles together in large files called bundles. A single bundle can hold up to about 16,000 tiles. The result is a cache with dozens or hundreds of files, instead of thousands or millions. This speeds copying immensely, and is especially useful in workflows where you use a staging server to create tiles, then move the tiles to a production server.

The compact storage format also yields a smaller cache. Have you ever looked at a pre-ArcGIS Server 10 cache and noticed a discrepancy between “Size” and “Size on Disk”? This is because the smallest size that Windows can use to store a file is 4k by default. Unless you’ve changed the default format of your disk, any tile that’s less than 4k is going to waste space. That wasted space adds up when you have thousands of small tiles. With the compact format, you get a cache where the Size and Size on Disk are essentially the same because you are storing the data in large continuous streams.

ArcGIS clients, including the Web APIs, know how to read the bundle files produced by the compact cache format. If you’ve coded your own logic to pull tiles out of a virtual directory, you should continue to use the exploded format.

The Business Analyst Online suite of APIs consists of SOAP, REST and Silverlight SDKs and, now, the newly added Business Analyst Online Flex SDK! Both the Flex and Silverlight SDKs serve as wrappers around the underlying Business Analyst Online REST services so that you can leverage the sample Business Analyst Online functionality that you can use with the Business Analyst Online web-based application. Hence, the Flex and Silverlight SDKs main purpose is to help in greatly improving the development time for developing Rich Internet Applications (RIAs) instead of making Business Analyst Online REST service calls directly through a client application.

The Business Analyst Online API for Flex is brand new!

More information on the Business Analyst Online API for Flex can be found in the
main Business Analyst Online API for Flex Resources page. In this site, you will be provided direction on how to get started with building RIAs using the Business Analyst Online API for Flex including where to download the API library. You can also learn more detailed information about the API by reading through the Concepts sections, playing with the Samples and looking through the API Reference documentation. Different developers will want to learn about the API through different means – some may want to download the library directly and start playing with it and look at the API Reference, whilst others may want to first start playing with some interactive samples to see what Business Analyst Online is all about and how they could use the API to fit their needs. This is where the Interactive Samples can come in handy, which can be accessed through the main Business Analyst Online API for Flex Resources page or by going directly to the samples explorer. Here most developers can gain an understanding of basic implementations on the Business Analyst Online functionality such as running a drive time around a store and rendering the features returned in the result on the map along with retrieving a summary report based on these resulting trade areas. The source code for each individual sample is also provided with the samples explorer and all of them can be downloaded from here along with the .swc file so that you could quickly get started with developing applications to suit your business needs and modify the code as necessary.

This samples explorer has a sample for each of the ten Business Analyst Online tasks including an example on running multiple tasks simultaneously using a Batch Task. More details on setting different parameters for each of the tasks can be retrieved from the API Reference which can be accessed through the main Business Analyst Online API for Flex Resources page or by going directly to the API Reference.

A lot of what we do in development comes from you. ArcGIS 10 is exciting, not only because of the core changes to the user interface, but our team was able to add a lot of new functionality, driven by you.Here are some highlights.

Improved raster format support

Every version of ArcGIS strives to have better raster format support. In ArcGIS 10, the format library has been completely revamped, to try and address bugs and limitations that previously existed. In addition, there are more formats that ArcGIS can read and write.

The mosaic dataset is like a hybrid format – a raster dataset display and a raster catalog management – with much more functionality. We’ve enhanced how we add data by being able to specify a product, such as QuickBird or DTED. And the on-the-fly processing capabilities will save you time and disk space. There will be plenty more blogs about mosaic datasets, so please continue to visit in future weeks.

Less clicks to achieve your rendering and processing tasksYou mentioned that some commonly used rendering and processing operations were deeply imbedded in a nest of user interfaces.The Image Analyst Window is designed to give you easy access to modify your image display—both rendering and processing– with only a few clicks. In addition, all processing is performed on the fly, so you get your results right away.

More raster options

There are always enhancement requests from users who want their raster data to be opened in a specific way. Raster Options were available in previous releases, but now you have more options available to customize how your raster is opened, or how it behaves.

More options when color balancing

You liked the idea of color balancing in previous versions of ArcGIS, but it was limited because you were only able to check a checkbox to color balance your raster catalog with a single-color dodging algorithm. Now ArcGIS 10 allows you to color balance your raster catalogs and mosaic datasets with 3 different balancing methods – and if you choose the dodging method, there are 5 different color surfaces to choose from. Bonus: a new window to color balance mosaic datasets – the Mosaic Color Correction window.

Enhanced Image Service parameters (server admin)Previously, there were only a handful of parameters that an administrator could set when serving out data.Now you have much more control over the amount of data your clients can request, the type of information that can be requested, and the allowable mosaic and compression methods.

New supported operations (server client)

As a server client, you also have a lot of new operations that you can now perform. Exporting images has been improved to allow you to specify mosaic rules and properties. Additionally, you can now Query, Identify, and Download rasters in an image service.

Create a custom colormap (.CLR) file

Colormaps are great, but you wanted to be able to edit or create a colormap easily.Now you can createedit a custom CLR file within the Unique Values renderer.This CLR file can then be permanently associated with your raster dataset by using the Add Colormap tool. All colormap rules still apply, but now it is easier to get the colors that you want.

Advanced Labeling with the stretched renderer

Another rendering enhancement request that you commonly asked for, was the ability to have multiple labels when using the stretched renderer. The (Advanced) Labeling option not only allows you to add in numeric labels into your stretched renderer, it also lets you set specific colors for your color ramp.

Recently ArcGIS.com went live as a public beta, and along with that ArcGIS Explorer Online also went into public beta. You can start ArcGIS Explorer Online by visiting ArcGIS.com and clicking Start ArcGIS Explorer Online or by going directly to explorer.arcgis.com.

ArcGIS Explorer Online is similar in appearance to the desktop version of ArcGIS Explorer, and has some of the same capabilities, but it’s a lighter weight version that works in a browser, and is built using Microsoft Silverlight.

05/24/10–With the public beta release of ArcGIS.com, ArcGIS Explorer Online is also available as a public beta. Just click Start ArcGIS ExplorerOnline at arcgis.com or go directly to explorer.arcgis.com to begin.

You may already be familiar with the ArcGIS Explorer desktop application; ArcGIS Explorer Online is similar in appearance to the desktop version of ArcGIS Explorer and has some of the same capabilities, but it’s a lighter weight version that works in a browser (and is built using Microsoft Silverlight). It’s tightly integrated with ArcGIS Online, and you can directly access basemaps and other content to create, save, and share your ArcGIS Explorer maps which can include presentations and more.

So how to get started? It’s easy, and one of the best places to start is the Help. Look for the Help in the upper right corner of the app

And begin by looking at The Basics.

You’ll find lots of great information, including inline videos that will help you get started with making and sharing ArcGIS Explorer Online maps quickly.