Select to view content in your preferred language

Pro crash-out trying to rebuild address locator

615
10
Jump to solution
07-14-2025 07:56 AM
Matt-Goodman
Frequent Contributor

I've periodically run into this issue, it seems hit-or-miss, but right now it's happening consistently with a particular address locator. 

ArcGIS Pro simply crashes ("Application has stopped working") no matter how I try to rebuild this locator. I have tried it using an arcpy script as well as using the geoprocessing tool "Rebuild Address Locator"). According to the gp tool, it seems to encounter its issue in the "Processing Point Address role" step:

MattGoodman_0-1752504755552.png

What's odd to me is that I have successfully rebuilt this address locator with the methods described above numerous times (I tend to run this every few weeks). It was last rebuilt about a month ago using the arcpy script.

Also, in the exact same environment with the same methods, I can (today) successfully rebuild a sibling address locator based on the road centerlines. Both these locators 'live' in the same network share and have source data in the same enterprise db with the same permissions structures, etc. So why is this address point locator crashing every time? 

 

0 Kudos
1 Solution

Accepted Solutions
ShanaBritt
Esri Regular Contributor

@Matt-Goodman Is this locator just a single role PointAddress locator you are trying to rebuild? If yes, there are some issues with the field mapping that you have.

1. FULL_STREET_NAME: This is not necessary when building locators for the USA, it does not help with address matching.

2. PARCEL_JOIN_ID: This is used to link the PointAddress role to the Parcel role in a multirole locator. If this is  a single role locator, this field should not be mapped. If anything you can add PropertyID as a custom output field so that the Property ID is returned in the geocode result.

{
                        "role_field":"PARCEL_JOIN_ID",
                        "mapped_field":"PropertyID",
                        "display_field":"PropertyID"
                    

 

Do you have any issues re-running the Create Locator tool to build the locator versus using the Rebuild Address Locator in the geoprocessing pane or via Python?

View solution in original post

10 Replies
MichaelVolz
Esteemed Contributor

Can you provide information about the field mapping used for point address locator?

What version of ArcGIS Pro are you working in?

0 Kudos
MichaelVolz
Esteemed Contributor

I think there were some issues with Pro 3.3.x and address locators (Should be able to search ESRI forum for this).  Do you have the ability to at least upgrade Pro on a test computer with Pro 3.4.x and see if you get better stability with the rebuild of the point address locator.

0 Kudos
Matt-Goodman
Frequent Contributor

3.3.5

                "mapping_schema":[
                    {
                        "role_field":"HOUSE_NUMBER",
                        "mapped_field":"ANUMBER",
                        "display_field":"Address Number"
                    },
                    {
                        "role_field":"STREET_PREFIX_DIR",
                        "mapped_field":"LST_PREDIR",
                        "display_field":"LST_PREDIR"
                    },
                    {
                        "role_field":"STREET_NAME",
                        "mapped_field":"LST_NAME",
                        "display_field":"LST_NAME"
                    },
                    {
                        "role_field":"STREET_SUFFIX_TYPE",
                        "mapped_field":"LST_POSTYP",
                        "display_field":"LST_POSTYP"
                    },
                    {
                        "role_field":"STREET_SUFFIX_DIR",
                        "mapped_field":"LST_POSDIR",
                        "display_field":"LST_POSDIR"
                    },
                    {
                        "role_field":"FULL_STREET_NAME",
                        "mapped_field":"LST_CONCAT",
                        "display_field":"LST_CONCAT"
                    },
                    {
                        "role_field":"SUB_ADDRESS_UNIT",
                        "mapped_field":"SUB_ID1",
                        "display_field":"Subaddress Identifier 1"
                    },
                    {
                        "role_field":"SUB_ADDRESS_UNIT_TYPE",
                        "mapped_field":"SUB_TYPE1",
                        "display_field":"Subaddress Type 1"
                    },
                    {
                        "role_field":"SUB_ADDRESS_BUILDING_UNIT",
                        "mapped_field":"ANUMBERSUF",
                        "display_field":"Address Number Suffix"
                    },
                    {
                        "role_field":"PARCEL_JOIN_ID",
                        "mapped_field":"PropertyID",
                        "display_field":"PropertyID"
                    },
                    {
                        "role_field":"CITY",
                        "mapped_field":"POSTCOMM",
                        "display_field":"Postal Community Name"
                    },
                    {
                        "role_field":"SUBREGION",
                        "mapped_field":"CO_NAME",
                        "display_field":"County Name"
                    },
                    {
                        "role_field":"REGION_ABBR",
                        "mapped_field":"STATE_CODE",
                        "display_field":"State Code"
                    },
                    {
                        "role_field":"POSTAL",
                        "mapped_field":"ZIP",
                        "display_field":"ZIP Code"
                    },
                    {
                        "role_field":"COUNTRY",
                        "mapped_field":"COUNTRY",
                        "display_field":"Country"
                    }
                ]

 

0 Kudos
ShanaBritt
Esri Regular Contributor

@Matt-Goodman Is this locator just a single role PointAddress locator you are trying to rebuild? If yes, there are some issues with the field mapping that you have.

1. FULL_STREET_NAME: This is not necessary when building locators for the USA, it does not help with address matching.

2. PARCEL_JOIN_ID: This is used to link the PointAddress role to the Parcel role in a multirole locator. If this is  a single role locator, this field should not be mapped. If anything you can add PropertyID as a custom output field so that the Property ID is returned in the geocode result.

{
                        "role_field":"PARCEL_JOIN_ID",
                        "mapped_field":"PropertyID",
                        "display_field":"PropertyID"
                    

 

Do you have any issues re-running the Create Locator tool to build the locator versus using the Rebuild Address Locator in the geoprocessing pane or via Python?

Matt-Goodman
Frequent Contributor

Genius, thanks @ShanaBritt

I think it was that parcel join that was fouling things up....I didn't set that up intentionally, it must have carried over from a join I had in the project the last time I re-created the locator. Anyway, my arcpy script to rebuild locators is working smoothly now. Thanks again!

0 Kudos
MichaelVolz
Esteemed Contributor

Matt:

Did you just end up deleting the Parcel Join mapping to get the script running smoothly?

0 Kudos
Matt-Goodman
Frequent Contributor

I edited the buildconfig.json in the .loz file (just deleted the PARCEL_JOIN_ID and FULL_STREET_NAME sections) and re-zipped the .loz. 

Now the script runs as expected as well as the gp tool. 

0 Kudos
MichaelVolz
Esteemed Contributor

Matt:

Can you please explain how you accessed the buildconfig.json in the .loz file?

Did you need unzip the .loz file with special software?

0 Kudos
Matt-Goodman
Frequent Contributor

I found this documented elsewhere, but essentially...

  • change the .loz file extention to .zip
  • unzip it
  • find/edit the file you're looking to change
  • zip up all the files again, making sure to use "Store" compression level for the .zip
  • change the output .zip file extension back to .loz
0 Kudos