ArcGis Pro 2.5
I was into Create Locators pretty hot and heavy, but in my most recent position, I've not been dealing with locators. What I am dealing with is deploying the ESRI Data Management Solution; I'd like to have a schema for my address points that will be optimal when used with an Address Point Role locator.
The Solution has a field called Unit Type and provides a Domain with entries like APT, Unit etc. It also has a field called Unit ID which presumably would hold a value like A,B or C; 101,102,103 etc. Here is a snapshot of some addresses I'm working with. Unit_Designator is our current field for unit and I added UnitType for this test:
Using the Create Locator tool, I map the fields as shown above to in their respective roles. However when I search for the address 3694 S BLAZING OAK DR Apt A, all it returns is 3694 S BLAZING OAK DR . Out user base typically uses # in front of a unit number like this: 3694 S BLAZING OAK DR #A and at one time (an earlier version of Pro, 2.4.?) that worked. I have never used the unit type field before today.
I must be missing something here as I cannot resolve for a sub unit with an address point role locator. What is considered best practice for an address point schema to support new style locators?
Joe:
What you have is the correct schema for creating a PointAddress locator that supports subaddresses. When building the locator in the Create Locator tool assign UNIT_DESIG to the 'Unit' locator role field and UnitType to the 'Unit Type' locator role field in the Field Mapping. Is the reference data to build the locator in a file gdb or SDE? If there is an address id for the base address that links to the subaddresses, it would be good to assign that field to the Address Join ID locator role field in Field Mapping.
Thanks Shana-
...assign UNIT_DESIG to the 'Unit' locator role field and UnitType to the 'Unit Type' locator role field in the Field Mapping... Check.
Is the reference data to build the locator in a file gdb or SDE? FGDB (at least for now...)
If there is an address id for the base address that links to the subaddresses, it would be good to assign that field to the Address Join ID locator role field in Field Mapping. I'll add one, but given I'm not using a separate table for them, I never thought that to be necessary.
However following your suggestions, I still get the same results:
The labels indicate the House Number, UnitType and UnitDesiginator. These are just a test sample of points and I purposely put Apt A away from the the base address point. Here are the tool parameters I used:
Country or Region USA
Primary Table(s) TestAddressPoints PointAddress
Field Mapping
'PointAddress.ADDRESS_JOIN_ID TestAddressPoints.JoinID';
'PointAddress.HOUSE_NUMBER TestAddressPoints.ADDR_HN';
'PointAddress.STREET_PREFIX_DIR TestAddressPoints.ADDR_PD';
'PointAddress.STREET_NAME TestAddressPoints.ADDR_SN';
'PointAddress.STREET_SUFFIX_TYPE TestAddressPoints.ADDR_ST';
'PointAddress.STREET_SUFFIX_DIR TestAddressPoints.ADDR_SD';
'PointAddress.SUB_ADDRESS_UNIT TestAddressPoints.UNIT_DESIG';
'PointAddress.SUB_ADDRESS_UNIT_TYPE TestAddressPoints.UnitType'
Output Locator C:\GIS\AddressDataManagement\Address Data Management\TestAddressPoints_03
Language Code ENG
Joe:
I mocked up some data based on your screenshot and cannot reproduce the behavior you described. I get match results for each unit whether I use # or Apt as the unit indicator. Below is the field mapping from the locator properties.
Do you get different results when you compare the locators with and without the JoinID mapped?
Do you get different results when you compare the locators with and without the JoinID mapped?
No. With or without a JoinID mapped, I get the same results as shown in my screen capture above: when entering the base address with a unit, it only matches to the base address. If you are not able to reproduce the same behavior, it must be something I'm doing wrong on my end. (Wouldn't be the first time, right?) I'm at a loss though as to what that might be. As everyone else is, my team and I are all working from the comfort of our living room couch, but I will have another co-worker try it and see what they get....
I'll keep you posted.
Well.... I don't know what the difference is, perhaps sun spots? I created a brand spanking new point feature class with 3 points shown in the attribute table below. I get the correct return for each. In fact, I can enter # or Apt for those two with Units and get the correct return...
JoeBorgione Were you ever able to find out what was causing the inability to locate these addresses in your original layer? We use A, B, C, etc. also and I'm having a heck of a time trying to get a locator to return these addresses.
There have been several changes to the way subaddresses behave with the locators since this issue was posted back at ArcGIS Pro 2.5. @DMOB17 , what version of ArcGIS Pro are you using? If you can show a screenshot of your locator properties with the reference data field mapping, I may be able to tell if something is off. A new tutorial was added in the latest release of Pro that builds a multirole locator that includes searching for subaddress locations that you may want to check out. https://pro.arcgis.com/en/pro-app/2.9/help/data/geocoding/tutorial-create-a-multirole-locator.htm