ArcGIS Pro 2.4.2
I have a multi role locator with point address, street address-alt name and poi-altname roles. The locator it self works great but I'm getting inconsistent returns when I add it as a published service. When I use the multi role locator in the locate pane, I get one hit:
It's matched on the point address role, and that's just what I'm hoping to see.
When I add the published locator, sometimes \it gives two returns one on the Street Address, and a second on the Point address. To me, this is odd, especially when the 'B' result is the address point:
Here I am back at my house, and I'm getting a single return, on the point address:
The inconsistency has me scratching my head. Any ideas where things are getting goofy on me?
And if that's not weird enough, I have a list of 2500 addresses, and when I geocode against the locator, I get a 96% match rate. When I match against the published service I match 0 (zero)....
Without more information I am just going to guess that the center of the map is in a different location. We use the center of the map to prefer locations that are closer to center of the map over locations that are further away. I suspect that when you get the StreetAddress match above the PointAddress match, you have the center of the map closer to the StreetAddress location.
As for why only the PointAddress match only shows one candidate without the StreetAddress match is because we do some logic under the covers to try to eliminate duplicate results when a PointAddress match is returned with a good score.
If you have an ID that links the PointAddress and the StreetAddress, you can map the "Street Address Join ID" for both roles and it will eliminate the duplication of StreetAddress candidates. The code tries to be smart about it but without this linkage, it isn't guaranteed.
Let's see if some illustrations add to the discussion:
# 1: relative locations of point address and street address for my house:
Relative location of my house to the extent of the data:
So, since the street location is seemingly closer to the center of the map, it gets the preferred location (A)?
When I use the published multirole service I get the dual matches. But when I use the locator itself, it just gives me the point address return. So the center of the map logic applies to the published service and not the locator, while the under the covers logic applies to the locator and not the published service?
I'm missing something...
What version of Server are you using? The center of the map is always passed in if you are zoomed in to 1:500,000 or closer (~30 mile radius). This would apply to both local and published locators.
It is possible that 2.4.2 has additional logic that further reduces duplicates when PointAddress matches are found that isn't in the version of Server that you have installed. We are constantly improving the geocoding results so it is very possible that if you are using a older version of Server, it doesn't contain this logic. I don't recall any specific work we did related to this but like I said, we are constantly improving the matching logic.
Do you have the patch installed?
There is nothing specific to the behavior you mentioned above in this patch but it would be good to install anyway.
Yes- we have the geocoding specific patches installed. I've actually got tech service case opened to see if we can figure out why the published multirole does not return anything but the actual locator does. In our (myself & ESRI analyst) we noticed that the publishedmulti role service does not resolve an address interactively through the Locate pane. However I have also published the single roles: point address, street address and poi. I'm going to create a multirole with address points and poi, and then again with poi and street address and see if we get somewhere.
I'll post up my results here for you to see.
Does your locator have any zones (city, state, postal) built into it and if you do, are you trying to search with no zones? If not I think this might be what you are running into with 10.6.1. 10.6.1 was released prior to the Create Locator tool so the only locators that could be used with it at the time were the World locator and locators from StreetMap Premium. The functionality to support locators with no zones was not added until after 10.6.1.
The only way around this is to ensure that you are zoomed in past 1:500,000 so that location is passed in.
None of my locators have a zone assigned to them, by design.
I just now created 3 ‘two-role’ locators:
I published each of them as services on our stand-alone server. When I batch geocode with the 2500 records I've been using all three return 0 results.
This is where things get really weird:
Initially I interacted with each of them through the Locate pane, they all returned correct locations. Now I am retracing my steps and while all of them provide suggestions, none of them return results. This inconsistency will keep my therapist's children in private school.
Now I just opened a brand new, unsaved ArcGIS Pro project and added the three new services:
AddressPoints_POI service returns results interactively for my address and parcel id
Streets_POI service returns my address along the street as expected and parcel id
AddressPoints_Streets service returns my address point location as well as my street address location
I guess the hole mess is something to put on hold until we get our 10.7.1 Enterprise up and running...
I was going to post a good news bad news thread, but now I really can't. It's just news, and old news at that:
I created a two role locator with point address & street address roles and BOTH have city zone fields mapped. I then published it.
Adding the published service to my pro session, I was able to resolve my address; I got both the point address and the street address,and they are labled A and B respectively. Don't go dancing in the streets just yet we'll come back to this.
The I tried to batch geocode my 2500 addresses: I actually got about 2 dozen to 'match' and when I checked them they really weren't matched to what they should have been. Like nowhere near. Here's an example of a 'match':
The actual location of 8785 W Magna Main St is about midway along the selected line on the south side; what it shows as a match is along a segment of street that has an alternate name of S 8785 W
I can go on with others, but you get the idea. Basically none of the 'matches' are correct.
Let's go back to the interactive locate pane. Before I made the attempt at batch geocoding, I used the Locate pane to locate my address. I got the double match, on the point and street, but at least the address point was listed as 'A':
Then after the batch attempt, I entered my address interactively again. This time the A and B were flipped:
I tried on more time and made my selection based on the suggestions. There are two, on with the city spelled Holladay (address points) the other with the city spelled HOLLADAY (streets). I've added my address several times interactively and can get the results to switch the A & B almost every time when I don't choose a suggestion.
At this stage of the game, I've concluded that multirole locators work okay, but once you publish them, all bets are off. For our published locator services, I'm afraid we'll be sticking with good ol' composites.