Geocode services

Geocode services support a wide range of applications, from business and customer management to shipping and distribution to simply getting directions to where you need to go. Geocoding allows you to find and display addresses on a map and see how they relate to surrounding features. Sometimes you can see relationships by just looking at the map; other times, you can use spatial analysis tools to reveal information that can't be easily seen.

While there are many commercially available geocode services, these may not meet your organization's needs for several reasons: the address information is not up-to-date, your address formatting is different, or you want people to find address locations by the local or common name of a feature (for example, "The White House"). All these situations call for a specialized geocoding solution. By investing the time to build your own geocode service, you can ensure that your geocoding needs are met.

To publish a geocode service to the GIS server, you need to create an address locator in ArcGIS Desktop. Then, use Manager to publish the locator as a geocode service. Once you have created the service, you can use Manager or the developer tools included with ArcGIS Server to create a client application that uses the geocode service.

Creating the address locator

The address locator is the main tool for geocoding in ArcGIS and contains all the data necessary to perform address matching. You can use ArcCatalog or the Create Address Locator geoprocessing tool to create an address locator. For step-by-step instructions, refer to the topic Creating an address locator in the ArcGIS Desktop Help.

After one or more address locators are created, you can also create a composite address locator in ArcCatalog, and the composite locator can also be published as a geocode service.

The locator you create should reside in a shared network directory so that all server object container (SOC) machines can access it. Additionally, the SOC account must have appropriate permissions to access the directory where the locator is stored.

Publishing the address locator

After you have created and saved the address locator, you can publish it as a geocode service by following the steps in Publishing a GIS resource to the server. When prompted to specify the resource, browse to the locator you want to publish. Valid formats are locator files (.loc) in a file folder or locators in a ArcSDE personal or file geodatabase.

Tip: If you're using Manager to publish an ArcSDE locator, first copy your ArcSDE connection file into a shared folder to which all SOC machines have access. The ArcSDE connection file is created when you add a spatial database connection in ArcCatalog. It contains all the connection information to the geodatabase. Its extension is .sde, and the file is stored by default in your profile directory (often C:\Documents and Settings\myUserName\Application Data\ESRI\ArcCatalog). Once you've copied the .sde file into a shared directory, you will then be able to browse to the locator in Manager.

Using the geocode service

The Web ADF contains a Find Address task that you can add to a Web application to help users locate an address. The Find Address task makes use of a geocode service that you provide. You first add the Find Address task to your application, then select the geocode service that the task will use. Manager and all supported IDEs allow the configuration of the Find Address task.

If you're not using a geocode service as part of the Find Address task, you will need to consume it programmatically. The application needs to have an interface that receives addresses as inputs and returns coordinates or maps of geocoded points to the users. Additionally, the application may perform some type of geoprocessing using the geocoded addresses. For example, you may want to select and clip features based on their proximity to a geocoded point.

The Web ADF, ArcGIS Server API, and ArcGIS JavaScript APIs provide controls and classes for consuming geocode services. You can find documentation and samples for consuming geocode services in the Developer Help.