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:
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?
Solved! Go to Solution.
@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?
Can you provide information about the field mapping used for point address locator?
What version of ArcGIS Pro are you working in?
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.
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"
}
]
@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?
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!
Matt:
Did you just end up deleting the Parcel Join mapping to get the script running smoothly?
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.
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?
I found this documented elsewhere, but essentially...