2

Never built a tool in ArcGIS. Would someone tell me if it's feasible to create a single tool (preferably using Python) which:

  • Geocodes an address
  • Checks to see if geocoded point falls within a boundary
  • Notifies user if point does or does not fall within boundary

Is there any advice on resources to consult, or ways to go about a solution as this is outside my realm of experience?

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
Derek
  • 101
  • 7

1 Answers1

4

To geocode an address, you need to have a geocoding locator. Your options are:

  • buying Esri StreetMap Premium geocoding locators from Esri (ready to use in ArcGIS);
  • buying TomTom MultiNet / HERE PointAddressing and building your own geocoding locator (will need to learn quite a lot before being to build);
  • getting ArcGIS Online organization subscription which provides access to the online geocoding locator.

Good to know that it's free to search for an address inside ArcMap by using the Find tool on the Tools toolbar. This doesn't create a point feature but rather a graphic, however graphic can be converted to a feature. These things are not exposed in arcpy (Python package in ArcGIS), however, maybe a manual process will be sufficient, so I wanted to point this out.

If you want to handle this outside of ArcGIS, you could check the geopy, a geocoding library for Python.

You would build a custom script tool in Python that geocodes an input address either by accessing a local geocoding locator or by sending the request to the Internet server and handling the response.

Checking whether a point is inside a poly can be done with Select Layer By Location geoprocessing tool tool or by accessing the arcpy.Geometry() methods. Telling user whether it's inside the boundary can be done either in the dialog box of the running tool or as a message box window.

The whole workflow you describe might fit well into a Python add-in: user enters an address into an input text box and a message window pop-ups with the feedback.

Learn more about Python in ArcGIS.

Alex Tereshenkov
  • 29,912
  • 4
  • 54
  • 119