2

I'm building a web app in ArcGIS Online, and don't really care for the way the ArcGIS World Geocoder (https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer) handles coordinates for the search widget. Are there any alternatives that might be a bit more user friendly for end users of the app?

Currently, I'm using the coordinate conversion widget as a workaround, since it has "zoom to" and "add point" functionality, but would like to know if there are decent geocoder alternatives for searching coordinates from the search widget (both DD and DMS, if possible).

  • 1
    Can you be a lit more clearer on what ArcGIS World Geocoder doesn't meet your expectations (maybe some examples, screenshots)? BTW, the ArcGIS World Geocoder let's you specify the output SRS: geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/… – Carlos MSF Sep 18 at 9:54
  • Yes, I can give an example. if I were to run a search on coordinates input in DD format as <y, x> (which is the way most people I know like to search on coordinates, the geocoder interprets the input as <|x|,y>, which yields a completely inaccurate result. I'm not sure how to post images, but if I enter <30.3293, -84.1245> it returns the result for <84(x), 30(y)> and asks me if I wanted <30(x), 84(y)> instead, neither of which matches my input. If I enter the coordinates the same .way in Google Maps, it interprets the input correctly and gives me the results I want. – Brian Sep 18 at 15:05
  • I figured out how to create a Locator View that takes care of the DD issue. It's not very intuitive or forgiving for DMS, though. It seems to want to make users input everything with the DMS symbols and directions, which isn't ideal for an end user. – Brian Sep 18 at 15:25
  • 2
    Scratch that last comment. DMS works ok with spaces, as long as you use direction letters at the end (no negative sign.) I guess creating location views takes care of most everything I need now that I know how to use them. The ability to restrict the searches to specific countries & regions is helpful, too. Thanks for the tip.. – Brian Sep 18 at 18:18
1

There are many online geocoders, and they tend to separate into two groups:

  1. Accurate geocoders (e.g. Google Maps) that prohibit you from using their geocoding results on maps that are not theirs (I assume that's why Google Maps does not work for your use case).
  2. Inexpensive geocoders without licensing restrictions whose quality is not that great.

We (NetToolKit) recently launched a geocoding service (along with a reverse geocoding service) that tries to fit the quadrant of reasonably accurate geocoders that are inexpensive and that do not have onerous terms of use restrictions. We specialize in US addresses, and use OpenAddresses data so that we have rooftop accuracy for most of the US (we return Nominatim/OpenStreetMap results for the rest of the world). You can compare results of our geocoder with those of other services by using this comparison tool. Our service is also among the most affordable out there (see the bottom of the comparison tool). Our reverse geocoder takes in negative coordinates. (Technical documentation here.)

If you're working primarily with addresses in the US, please try out our service and if you find any deficiencies with the interface, we would be happy to consider your suggestions for enhancements.

0

You can try OSM's nominatim, though it's not meant for commercial use, so it might block you if you have a lot of users
https://nominatim.openstreetmap.org/reverse?format=json&lat=30.3293&lon=-84.1245&zoom=18&addressdetails=1
or HERE's API which should give pretty good results as well and has a pretty good freemium plan
https://places.cit.api.here.com/places/v1/discover/here?app_id={YOUR_APP_ID}&app_code={YOUR_APP_COSE}&at=30.3293,-84.1245

They both have both the reverse geocode function which you are looking for and regular geocoding by query string.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.