findAddressCandidates for mailing address

375
5
04-04-2019 12:00 PM
LarryAu
New Contributor

I try to do search an address "4244 village dr, chino hills, ca 91709" using ArcGIS javacript which return me a street address location around the community, not a particular building. 

When I try to put the same address under google map, which a particular building.

is there anyway findAddressCandidates can go to the exact address like google map?

0 Kudos
5 Replies
Noah-Sager
Esri Regular Contributor

Hi Larry. First, which version of the ArcGIS API for JavaScript are you using? Second, for this specific case, it looks like the data we have for that address is just street centerline data, not rooftop data.  This means that instead of matching exactly on the house, it must interpolate along the street segment to estimate the location of the house. If you have a rooftop/parcel centroid match, then the location will either be on the driveway entrance or at the center of the rooftop/parcel centroid. Hope this helps.

0 Kudos
LarryAu
New Contributor

When put the address and search in google map.  it can locate building mailing address which is good.

https://www.google.com/maps/place/4244+Village+Dr,+Chino+Hills,+CA+91709/@33.9811286,-117.7113277,18...

Try to use ArcGIS Geocoding

https://codepen.io/esri_devlabs/pen/oyPOOG?editors=1000

Try to use Google Map Geocoding

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

or just do a http request findAddressCandidates, it return the street address (base on street name and street number).    is there option can search rooftop only?

http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates?SingleLine=...

{  "spatialReference": {   "wkid": 4326,   "latestWkid": 4326  },  "candidates": [   {    "address": "4244 Village Dr, Chino Hills, California, 91709",    "location": {    "x": -117.71006097495764,     "y": 33.981180484248128   },    "score": 100,    "attributes": {     "Loc_name": "World",     "Status": "M",     "Score": 100,     "Match_addr": "4244 Village Dr, Chino Hills, California, 91709",     "LongLabel": "4244 Village Dr, Chino Hills, CA, 91709, USA",     "ShortLabel": "4244 Village Dr",     "Addr_type": "StreetAddress",     "Type": "",     "PlaceName": "",     "Place_addr": "4244 Village Dr, Chino Hills, California, 91709",     "Phone": "",     "URL": "",     "Rank": 20,     "AddBldg": "",     "AddNum": "4244",     "AddNumFrom": "4266",     "AddNumTo": "4234",     "AddRange": "4234-4266",     "Side": "R",     "StPreDir": "",     "StPreType": "",     "StName": "Village",     "StType": "Dr",     "StDir": "",     "BldgType": "",     "BldgName": "",     "LevelType": "",     "LevelName": "",     "UnitType": "",     "UnitName": "",     "SubAddr": "",     "StAddr": "4244 Village Dr",     "Block": "",     "Sector": "",     "Nbrhd": "",     "District": "",     "City": "Chino Hills",     "MetroArea": "Inland Empire",     "Subregion": "San Bernardino County",     "Region": "California",     "RegionAbbr": "CA",     "Territory": "",     "Zone": "",     "Postal": "91709",     "PostalExt": "3714",     "Country": "USA",     "LangCode": "ENG",     "Distance": 0,     "X": -117.71006097495764,     "Y": 33.981180484248128,     "DisplayX": -117.71006097495764,     "DisplayY": 33.981180484248128,     "Xmin": -117.71106097495765,     "Xmax": -117.70906097495764,     "Ymin": 33.98018048424813,     "Ymax": 33.982180484248126,     "ExInfo": ""    },    "extent": {     "xmin": -117.71106097495765,     "ymin": 33.98018048424813,     "xmax": -117.70906097495764,     "ymax": 33.982180484248126    }   }  ] }
0 Kudos
Noah-Sager
Esri Regular Contributor

Hi Larry, unfortunately, for this specific case, it looks like the data we (Esri) have for that address is just street centerline data, not rooftop data. 

There is a REST parameter name locationType that can be passed in to get the centroid instead (rooftop/street are the two options).

0 Kudos
JoeBorgione
MVP Esteemed Contributor

That's my point...  precisely....

That should just about do it....
0 Kudos
JoeBorgione
MVP Esteemed Contributor

This sounds like an accuracy / precision debate to me.  I've faced this dilemma for as long as I've been in the GIS game (Does anyone remember Arc/Info and AML?)

Below is what I consider a classic example of the difference between accuracy and precision.  Everybody wants to be be the guy in the the lower right, but most can only afford the upper and lower left.  In other words the guy in the lower right has spent a lot of time at the range, he has an expensive firearm topped with an expensive scope and probably handloads his own ammunition. And he has to have that level of precision and accuracy because he is a competition shooter.

The guy in the lower left is a deer hunter, has an off the shelf firearm, mediocre scope, and factory ammunition.  He goes to the range a couple times a year, and if he draws a deer permit, he goes hunting.

What does this have to do with geocoding?  A lot.  I worked in 9-1-1 for a number of years and peoples lives depended on my geocoding results being not only accurate but precise as well.  I spent a lot of time cleaning and scrubbing my match data to ensure my results.  I had too. Anything else is unacceptable.

For a mailing list, do you need to be that guy in the lower right?  (That was me in 9-1-1) or can you successfully complete your mission being the deer hunter guy or his duck hunting buddy in the upper left.  With all due respect to the ESRI World geocoding service, it's just not set up to provide the precision we are looking at in the illustration.  You'd be 'paying' a whole lot more in credits if it were.

So, you need to ask yourself: what do I want, and what can I 'afford'?  Is good enough, good enough?

Image result for accuracy precision

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