Create Multirole Locator With Multiple Instances of the Same Role

2321
6
12-11-2019 01:51 PM
JoeBorgione
MVP Emeritus

ArcGis Pro 2.4

With the create locator tool, I can create a single role Point Address.  As discussed in Address point role with Units  as well as Provide Units In Suggested Addresses , I'm confounded by the inability to offer suggestions for addresses that contain unit numbers.

But wait, what's this?  A work around?! Yes! Our data has a field called (drum roll) FullAddress and using it as the reference field for  POI role I can get suggestions!

Oh rats...  It seems that when one creates a multi-role locator, one is limited to single instance of each role; you can't have two POI roles. Our multi-role approach also uses Parcel ID as the POI reference from a polygon layer...

But wait again!  Another work-around: just for fun I used the address points in the Zone role, referencing the FullAddress field and voila! Suggestions with unit numbers and I can use that role to a multi role locator!

Is this a hack or considered best practice?

Eric Anderson

Shana Britt

Brad Niemand

That should just about do it....
6 Replies
JoeBorgione
MVP Emeritus

A discussion is boring when the only participant is myself....

Anyway, I've done some testing with what I am now considering a hack; certainly using a role not designed for a given feature can't be best practice and IMHO shouldn't even be common practice.

Using the create locator tool in ArcGIS Pro 2.4.0, the table below shows a performance matrix with the various roles  'assigned'  for the address points: role, time to create in minutes and disc footprint of the.loz file:

RoleTime to createDisc Footprint in KB
point .44 min8,178
zip1.8242,206
poi1.35159,679
neighborhood2.25203,244
zone1.86198,765
city2.46216,046
metro area1.91198,766
county2.01199,480

Hmm, which one to use? Probably go with the zone as it's the best mix of time and size, and I can't use more than one POI role in a multi-role locator.

After going down the fake role work around rabbit hole , I had another thought: what about an alternate names table for the address points and reference my FullAddress field as the alternate address?!  Nope. No such alternate role exists....

If you're still reading this, remember that all I want for Christmas is suggestions for address points that carry a unit designator.

At least I have a cool roller coaster...

That should just about do it....
0 Kudos
BradNiemand
Esri Regular Contributor

Joe,

What you are doing is a hack and really won't work in some situations.  You will have limitations with abbreviations not working as expected when using any non-address role for doing address geocoding.

That being said, we have heard from you and others that suggestions for units is a requirement.  I can also say that has been prioritized and we are focused on getting this functionality to everyone as soon as we can.

Brad

JoeBorgione
MVP Emeritus

It's a hack to be sure, and with the zones role it actually works, at least in my testing so far.  However, a real solution would be great!

That should just about do it....
0 Kudos
KyleGruber
Occasional Contributor II

Here is what I think is a relevant thread.

https://community.esri.com/thread/242403-reverse-geocoding-returns-different-attributes-with-composi... 

Having multiple roles of the same type in locators would be very helpful.

0 Kudos
ShanaBritt
Esri Regular Contributor

Joe Borgione‌ Since you first posted your problem in release 2.4, we've added some improvements such as the Parcel role (2.5) and subaddress suggestions for the full unit (2.6), below is what I would suggest doing in Pro 2.6.

Create the multirole locator using the following roles:

1. PointAddress role for addresses and subaddresses using address point data

2. Parcel role using the polygon layer and map the field that contains Parcel ID to the Parcel Name locator role field.

3. POI role

If you have multiple data layers that represent POI data in different categories (parks, emergency, businesses, etc), the best thing to do is add one or two fields (category and subcategory) to each data layer and populate with category details, then merge all of the layers with the same geometry type into a single feature class. Use the single feature class to build the locator with the POI role and map the category or category & subcategory fields. You will be able to search by POI name, category, POI + address, Primary locator roles—ArcGIS Pro | Documentation.

A multirole locator only allows for one layer to be added for each role included. If you have multiple datasets, potentially from multiple sources, that you want to map to the same role, it is recommended that you merge all of those layers into a single layer before assigning a role when building a locator. Multirole locators created in this way will have better performance than a composite locator created with the same data.
-Shana
JoeBorgione
MVP Emeritus

Hey Shana Britt- I just installed 2.6 this week and after ironing out the obligatory python environment clone issues, I'm ready to give the new geocding features we discussed a work out.  Thanks for the update.

That should just about do it....
0 Kudos