The process of geocoding turns a textual representation of a place or address into a map representation of its location. 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 reviewing the map; other times, you can use spatial analysis tools to reveal information that can't be easily seen. The work of geocoding is done by a service called a locator.
Locators help users find addresses, places of interest, parcels, and other assets. In ArcGIS Enterprise, locators are powered by geocode services. They support a wide range of applications, from business and customer management, to shipping and distribution, to directions and navigation. A locator should be able to efficiently geocode locations in the area of interest, either from a single query (as the address bar in a mobile app) or a batch query (as when a table file is geocoded into a feature class).
There are many commercially available locators and geocode services, such as the ArcGIS World Geocoding Service. But these locators may not meet your organization's specific needs, and they don't provide the flexibility of creating a locator using the asset and address data your organization collects and manages.
By investing the time to build your own locator, you can ensure that your geocoding needs are met. For example, a local utility company can build a locator using its collection of smart meters within a municipality, geocoding each meter to plan routes for its meter readers.
You can create your own locator in ArcMap or ArcGIS Pro.
If you're working in ArcGIS Pro, you can share your completed locator to your ArcGIS Enterprise portal, which will also publish a geocode service to its federated ArcGIS Server site. Additionally, you can publish a geocode service to a stand-alone ArcGIS Server site starting at ArcGIS Pro 2.4.
If you're working in ArcMap, you can only share your completed locator to ArcGIS Server as a geocode service.
Once the locator or geocode service are in your ArcGIS Enterprise deployment, you can use them in client applications, including Map Viewer and ArcGIS Web AppBuilder.
Creating a locator
The locator is the main tool for geocoding in ArcGIS. It contains all the data and settings necessary to transform addresses and other text strings into map locations. Building your own locator will require you to do the following:
- Define the purpose of the locator, and the format and resolution of the entries it will be geocoding. Will your locator's users enter only a city name or a postal code, or will they provide a complete postal address? Will they want to locate a specific building, a certain block, or the centroid of an area? Might two users have different names or addresses for the same location?
- Provide your reference data. This data must cover the area of interest for your locator and have an appropriate resolution, so that the locator is useful for the purposes you've defined. You may have multiple sets of reference data—one set of primary addresses and additional sets of potential aliases for those locations.
- Align the fields in your reference data, so that the locator knows which field refers to postal code, which refers to house number, and so on. This process is called field mapping; in some cases, it can be done automatically by the software.
- Create and save your locator in the .loc format, and prepare it to be published or shared to the web.
This general process applies to creating a locator in both ArcGIS Pro and ArcMap, but the specific steps for these two applications are different. Locators created in ArcGIS Pro offer more features and better performance than those in ArcMap.
For step-by-step instructions, refer to the documentation sections for the desktop application you're using:
Create a locator in ArcGIS Pro.
Creating an address locator in ArcMap.
Locators should be stored in a file folder so you take advantage of new features that are not supported for locators stored in geodatabases, such as performance improvements, multithreading capabilities, and suggestions support. ArcGIS 10.4 was the last release to support storing locators in geodatabases.
Composite locators combine multiple locators into one, allowing the locator to parse multiple possible definitions for the best match. This can increase the probability of the locator finding the correct location for a search term. For example, you might combine locators of different resolutions into a composite locator, allowing it to expand its search scale if there's no match in the initial reference data set.
When you're publishing or sharing a composite locator, you must specify for all its data to be copied, rather than registering the data source. If the participating locators are stored in a folder that is registered with the server, only the composite locator, not the participating locators, will be copied to the server.
You can create composite locators in ArcGIS Pro or in ArcMap. For more information about composite locators, see the documentation for the desktop application you're using:
Creating a composite address locator in ArcMap.
Sharing your locator
When your locator is complete, you can share it with ArcGIS Enterprise. There are multiple options to do so, depending on the desktop application you're using and how your locator will be used.
There are three main options for sharing locators from ArcGIS Pro:
- You can share a locator from ArcGIS Pro to an ArcGIS Enterprise portal as a hosted service. Users will be able to access the locator from your portal if the hosted service has been shared with them. This requires an ArcGIS GIS Server site federated with the portal.
- From ArcGIS Pro starting at version 2.4, you can publish a locator as a geocode service directly to ArcGIS Server sites at versions 10.6 and later. This does not require that the server be federated with a portal.
- You can also share a locator in a locator package (.gcpk) or a mobile map package (.mmpk) for use in disconnected environments using ArcGIS Pro.
From ArcMap, you can either share your locator as a geocode service, where it will always be available to web users, or as a locator package (.gcpk), in which format it can be sent to users to include in their maps. Locator packages are particularly useful when sharing a locator with users in disconnected environments.
Geocode service operations
Geocode services have built-in operations that allow you to perform geocoding and reverse geocoding, and to generate suggestions. Geocoding refers to the process of finding a geographic location from an address; reverse geocoding refers to the process of finding the nearest address to a geographic location; suggestions are autocompleted addresses generated for partial input strings. When sharing a locator, the Geocode and Reverse Geocode operations are enabled by default. The Suggest operation is enabled by default, and is only available when suggestions are enabled for the source address locator. You can enable or disable any one of these operations by accessing the Capabilities tab of the Service Editor in ArcGIS Server Manager.
Using a geocode service
For the portal to use your custom locator as its default locator, you can designate it as the portal's geocoding service.
In its basic form, the geocode service is a web service that takes in an address and returns the corresponding location coordinates. You can see the geocode service's REST URL if you navigate to the service with the ArcGIS Server Services Directory. The URL looks like this: