Placekey Tutorials

Address Matching without a Geocoder

Summary

  • Reading time: 4 minutes.
  • A common process in geographic analysis is geocoding. Geocoding involves matching  locations with specific location information, such as latitude or longitude.
  • One of the most common methods uses ArcGIS Pro, which offers spatial joins and charges for geocoding addresses.
  • Another option to best solve this problem is an attribute join using Placekey.
  • Enter Placekey! Placekey creates a universal standard identifier for any physical place, so that the data pertaining to those places can be shared across organizations easily.
  • The Placekey is fixed, making it possible for historical analysis of the same geographical location through time.
  • This tutorial shows the advantages of using Placekey for attribute geocoding.

Getting Started

Generating the Placekeys

Here we will walk through the process in ArcGIS Pro.

  • From here, click on the “Go to file” button, and then click on the green “Code” button, after which click on the “Download ZIP” file.
  • Once downloaded, unzip the file. If you unsure how to unzip a file, check out 7zip (https://www.7-zip.org/). Once unzipped, the file will need to be imported into ArcGIS Pro.
  • To import the file into ArcGIS Pro, click on the “Toolbox” button and click “New Toolbox”.
  • After importing, click on “Toolbox” and then click on “New Python Toolbox”.
  • After that, expand the Placekey.pyt toolbox.
  • The next step is to enter your Placekey API. The Placekey API is the key you got when signing up for Placekey. 
  • Copy and paste your API key into the ArcGIS Pro toolbox and click “Run” in the bottom right hand corner.
  • Once you have your API key added, the next step is to “Get Placekeys for POIs”, circled in the following picture.
  • Now, we’ll add Placekeys to our points-of-interest (POIs). The first step is to bring in some data. We’re using a small dataset of 3 addresses of a shopping mall in Salt Lake City, Utah (City Creek Shopping Center).
  • To add data in ArcGIS Pro, click on the “Add Data” button on the top section within the “Map” tab.
  • After adding the data, we’ll generate the Placekeys. Click on the “Generate Placekeys for POIs” section in the Placekey.pyt toolbox.
  • This next step is what makes Placekey so unique. 

Typically, the geocoding in ArcGIS Pro is done through a geocoder that matches an address to some commonly used measures like latitude and longitude.

  • Placekey does that, but it also can be done by attribute.
  • After clicking on the “Get Placekeys for POIs” button, click on “Use Attributes for WHERE-part” in the “Geometry Information” dropdown.
  • After doing that, fill in the other information to the highest granularity available.
  • Next, click “RUN”.
  • Placekey will create a file with newly added Placekeys. In the case shown, the file is Placekeys_161161885 within the MyProject.gdb geodatabase.
  • When opened, your file will look like the table below, with a Placekey assigned to each location found.

The magic of Placekey is that this identifier doesn’t change, so if you’re looking at historical POIs, you’ll be able to see what is currently at the location and what used to be there.

  • For instance, suppose you are interested in visits at the same location that was once a Taco Bell that now is a McDonalds. Placekey makes this possible with its unique Placekey identifier matched with historical visit counts.
  • Among other things, this makes it possible to see how a brand may affect visits compared to just location. A true innovation in the field of geospatial analytics!
  • Placekeys are stable on places. Of course, places themselves sometimes change -- or they merge with other places.  Sometimes, two very different addresses resolve to the same place. And sometimes Placekey will have bugs (we are not perfect).Once you associate a Placekey on a place, we suggest pinging the Lineage API on that Placekey every 3-5 months which will return whether or not the Placekey has changed. In the case where it has changed, you would then re-ping the Placekey API on that place to get the new Placekey.