Keep your locator up to date

Address data and places change constantly—new businesses open, new housing developments are built, and new roads are paved. Since location data is constantly evolving, it is important to obtain the most up-to-date data for your organization. Once you obtain the latest address or place data (reference data), you can update your locators appropriately to ensure that your organization is searching against the most up-to-date data available.

Update the reference data

A city government wants to add a new set of parcels from a new housing development to its reference data, and the post office will need to be able to route to the new housing development to deliver mail. You add the new parcels to a feature class, but this does not automatically update your locator. Every time you create a locator, it contains a snapshot of the reference data at the time of creation. When you make changes to the reference data, you can re-create your locator to reflect these changes. If you choose not to re-create a locator, geocoding continues to function with the existing locator. It produces geocoding results based on the state of the reference information when the locator was created.

It is also important to keep software up to date because changes are made to the rules and local knowledge for locators at each release. To take advantage of the best geocoding experience and results, a locator should be re-created at each release.

Update the locator with new data

There are two ways of updating your locator with the latest reference data. You can either update the data in place and run the Rebuild Address Locator tool, or you can create a new locator using the Create Locator tool. You can automate either process by using a model in ModelBuilder, rerunning the tool from the project history in the Catalog pane, or with a Python script.

Note:

When using versioned data in an ArcGIS Enterprise geodatabase, you can create the locator on the selected version of the data. If you rebuild the locator, it will be rebuilt based on the same version of the database that was originally used for the locator.

Updating local locators

If your data is being managed and curated in place, using the Create Locator tool to recreate the existing locator with the same name or the Rebuild Address Locator tool updates your locator with the latest reference data. Once you update all of the relevant tables, you can run the Rebuild Address Locator tool, and it will create a new locator with the up-to-date data. When using the Rebuild Address Locator tool, the tool requires that the reference data paths, field mappings, and tables remain exactly the same as the original locator. If another user or application is using the locator, it will be locked and cannot be rebuilt. For this reason, it is recommended that you rebuild your locator locally before sharing it on a shared drive in your organization. If you are sharing your locator on a network drive, it is recommended that you use a locator package. Using a locator package unpacks the locator for each user and does not lock the locator when one member of an organization is using the locator.

Alternatively, if you want to add a table or update the field mapping, you can always create a new locator using the Create Locator tool or Create Feature Locator tool. This creates a locator based on the latest reference data, and you can adjust the field mapping or add additional reference data tables to enhance geocoding accuracy. Learn how to update existing locators and composite locators that are stored locally with the most current reference data using the steps below.

Update a locator

The following describes the suggested steps for updating an existing locator:

  1. Update the reference data used to build the locator.
  2. Recreate the locator with the Create Locator or Create Feature Locator tool by rerunning the tool from the History pane, ModelBuilder model, or Python script.

    Optionally, remove the locator from the project to avoid a schema lock error, add the locator with the updated data to the Rebuild Address Locator tool and run the tool.

  3. Ensure the rebuilt locator returns results for new addresses and places.

Update a composite locator

Since it is not possible to rebuild a composite locator using the Rebuild Address Locator tool, you must update the participating locators of the composite locator to keep the composite up to date.

Use the following steps to update an existing composite locator:

  1. Update the reference data used to build the participating locators.
  2. Re-create each of the participating locators with the Create Locator or Create Feature Locator tool by rerunning the tool from the History pane, ModelBuilder model, or Python script.

    Optionally, remove the locators from the project to avoid a schema lock error, add the locators with the updated data to the Rebuild Address Locator tool and run the tool.

  3. Ensure the rebuilt composite locator returns results for new addresses and places.

Updating geocode services

Note:

  • You can use the Overwrite option to overwrite an existing geocode service that has been published to a stand-alone deployment of ArcGIS Server, using the steps described in Overwrite a geocode service. You can also use the Overwrite Locator option to overwrite an existing locator in an ArcGIS Enterprise portal, using the steps described in Overwrite a locator.
  • You can automate the process of updating the locator item built with the Create Locator tool in an ArcGIS Enterprise 10.6.1 or later portal using the Updating Geocoding Services script available for download on ArcGIS Online.

Before updating the geocode service on the server, you must update the locator locally.

Process of updating a geocode service

Updating geocode services using a data store

You can use the following workflows to update a geocode service or composite geocode service when using a folder registered as a data store on the server. If the locator was published using a Python script it assumes that the copy_data_to_server argument was set to False.This is the recommended workflow.

Update a geocode service

The following steps assume that you have already created a locator and published your locator using a data store. If you have not done so, you should do that before attempting the update outlined below. Use the following steps to update a geocode service using a folder as registered data store:

  1. Update the reference data used to build the locator.
  2. Recreate the locator locally with the Create Locator or Create Feature Locator tool by rerunning the tool from the History pane, ModelBuilder model, or Python script.

    Optionally, remove the locator from the project to avoid a schema lock error, add the locator with the updated data to the Rebuild Address Locator tool and run the tool.

  3. Stop the geocode service on the server.
  4. Copy the updated locator from the local machine to the directory on the server registered as a data store.
  5. Start the service.
  6. Ensure the updated geocode service is functioning correctly at either the REST endpoint of the service or add the service to ArcGIS Pro and use the service in the Locate Pane.

Update a composite geocode service

The following steps assume that you have already created a composite locator and published your locator using a data store. If you have not done so, you should do that before attempting the update outlined below. Use the following steps to update a composite geocode service using a folder as registered data store:

  1. Update the reference data used to build the participating locators.
  2. Recreate the participating locators locally with the Create Locator or Create Feature Locator tool by rerunning the tool from the History pane, ModelBuilder model, or Python script.

    Optionally, remove the locator from the project to avoid a schema lock error, add the locator with the updated data to the Rebuild Address Locator tool, and run the tool.

  3. Stop the composite service on the server.
  4. Copy the updated participating locators from the local machine to the directory on the server registered as a data store.
  5. Start the service.
  6. Ensure the updated composite geocode service is functioning correctly at either the REST endpoint of the service or add the service to ArcGIS Pro and use the service in the Locate Pane.

Updating geocode services copied to the server

The following workflows can be used to update a geocode service or composite geocode service that are copied to the server when published. If the locator was published using a Python script, it assumes that the copy_data_to_server argument was set to True.

Update a geocode service

Use the following steps to update a geocode service that is copied to the server when published:

  1. Update the reference data used to build the locator.
  2. Recreate the locator locally with the Create Locator or Create Feature Locator tool by rerunning the tool from the History pane, ModelBuilder model, or Python script.

    Optionally, remove the locator from the project to avoid a schema lock error, add the locator with the updated data to the Rebuild Address Locator tool, and run the tool.

  3. Overwrite the existing geocode service with the local locator that references the updated locator.

    Optionally, to automate this step use the sample code from the CreateGeocodeSDDraft function and set the overwrite_existing_service argument to True.

  4. Ensure the updated geocode service is functioning correctly at either the REST endpoint of the service or add the service to ArcGIS Pro and use the service in the Locate Pane.

Update a composite geocode service

The following steps assume that you have already created a composite locator. If you have not done so, you should do that before attempting the update outlined below. Use the following steps to update a composite geocode service that is copied to the server when published:

  1. Update the reference data used to build the participating locators.
  2. Re-create the participating locators locally with the Create Locator or Create Feature Locator tool by rerunning the tool from the History pane, ModelBuilder model, or Python script.

    Optionally, remove the participating locators from the project to avoid a schema lock error, add the locators with the updated data to the Rebuild Address Locator tool, and run the tool.

  3. Overwrite the existing composite service with the local composite locator that references the updated participating locators.

    To automate this step, use the sample code from the CreateGeocodeSDDraft function and set the overwrite_existing_service argument to True.

  4. Ensure the updated composite geocode service is functioning correctly at either the REST endpoint of the service or add the service to ArcGIS Pro and use the service in the Locate Pane.

These steps ensure the least possible downtime for your geocode service. When using the steps to update your geocode service, the only service downtime is copying the new locator into the correct server folder. The most time-consuming part of this process is creating the new locator based on the updated reference data, which, in this solution, is happening on-disk while the old geocode service is still running.

Related topics