Matching Properties to Boundaries

Properties

There are multiple ways that a property can be identified within ATTOM Cloud. ATTOM ID is the preferred option, especially when it comes to matching properties to boundaries.

ATTOM ID

Each property is uniquely identified by a number known as ATTOM ID. Once assigned to a property, this number never changes. Being a number, ATTOM ID also offers many performance advantages over alternatives when matching large numbers of property records.

Assessor Parcel Number (APN)

APNs offer a reasonable alternative for identifying properties, especially when working with property data outside of ATTOM Cloud. A single APN is assigned to each property by the County Tax Assessor. The format of the APN varies from county to county and a county may decide at any time to change its numbering system.

Street Address

Street addresses can identify 90% of properties. Issues can occur formatting the address in a consistent manner.

Parcel Boundary

It is important to remember that a property is itself a geographic area defined by a boundary known as a parcel map. For this reason, it is possible for multiple boundaries to overlap a single property. This is especially true for large properties such as farms.


Boundaries

Boundaries (aka geographic areas) are identified by a geocode. ATTOM maintains its own proprietary geocoding systems to allow us to manage the many different types of boundaries it makes available. Specific boundary types such as a county, census block, zip code etc. may have codes that are established by the issuing authority and/or recognized national standards. e.g. CA is a well-known and accepted code for the state of California. In addition, it is not unusual for boundaries to have common names by which they are known. e.g. Irvine Unified School District. ATTOM Cloud collects many of these attributes for boundaries as a way of providing flexibility in how information about a specific boundary can be located.

GeoCodes

ATTOM Cloud uses two different geocodes to identify boundaries. The recommended approach is to use a combination of GeographyTypeKey and GeographyKey to match a specific boundary.

GeographyTypeKey

A small integer that identifies the type of boundary being referenced e.g. 32 = Census Block group.

Each value of GeographyTypeKey also has a two-character abbreviation that is commonly used within ATTOM API e.g. Census Block Group has a code of '32' and an abbreviation of 'BG'. A complete list of the GeographyTypeKeys and Abbreviations can be found in the table DimGeographyType.

GeographyKey

An integer (e.g. 123456) uniquely identifies each instance of a specific boundary. Being a number, it can be more efficient when matching a large number of boundaries.

When searching property data related to a single boundary type (e.g. DimCounty) it is only necessary to use GeographyKey. Tables containing data for a single boundary type may use an alias for GeographyKey. The alias almost always ends with the word "Key" (e.g. CountyKey). The table DimGeographyType lists the names of these keys in the field PrimaryKeyColumn. The following example shows using the GeographyKey for County, CountyKey to establish the number of properties that fall within each County and use the County Profile (DimCounty) to establish the official name of the state and county.

	SELECT 
		dc.StateName,
		dc.CountyName,
		Count(*) As NoProperties
	
	From adw.PropertyAddresses pa 
	Left Join adw.DimCounty dc on pa.CountyKey = dc.CountyKey 

	Group By dc.StateName,dc.CountyName
	Order By dc.StateName,dc.CountyName

When searching property data that combines multiple boundary types (e.g. CommunityDemographics) GeographyKey can be combined with GeographyTypeKey to uniquely identify a specific instance of a boundary. The following example shows how to establish the crime index of the Block Group containing a specific property. We use GeographyTypeKey (32) to locate the GeographyKey for the BlockGroup in the PropertyBoundaryMatch table and then match the GeographyKey and GeographyTypeKey in the PropertyCrime view.

	SELECT 
	   	CONCAT(pa.SitusAddress,', ',pa.SitusCity,' ',pa.SitusState,' ',pa.SitusZip) AS Address,
		cc.Crime_Index
	
	From adw.PropertyAddresses pa 
	Left Join adw.PropertyBoundaryMatch pbm on pa.[ATTOM ID] = pbm.[ATTOM ID] And pbm.GeographyTypeKey = 32
	Left Join adw.CommunityCrime cc on pbm.GeographyTypeKey = cc.GeographyTypeKey AND pbm.GeographyKey = cc.GeographyKey  

	Where pa.[ATTOM ID] = 142467604

Searching the PropertyBoundaryMatch table using [ATTOM ID] and GeographyTypeKey provides a list of the values of GeographyKey for a specific property. The following example shows how we can establish the closest schools to a property. We use GeographyTypeKey (57) to locate each of the closest schools assigned for each Instructional Level (Elementary, Middle, High) in the PropertyBoundaryMatch table and then match the Geography Key (SchoolKey) in the DimSchool table to gather details about each school.

	SELECT 
		CONCAT(pa.SitusAddress,', ',pa.SitusCity,' ',pa.SitusState,' ',pa.SitusZip) AS Address,
	  	ds.SchoolName,
		ds.InstructionalLevel
	    
	From adw.PropertyAddresses pa 
	Left Join adw.PropertyBoundaryMatch pbm on pa.[ATTOM ID] = pbm.[ATTOM ID] And pbm.GeographyTypeKey = 57
	Left Join adw.DimSchool ds on pbm.GeographyKey = ds.SchoolKey  

	Where pa.[ATTOM ID] = 142467604

GeoID

A 32-hex-character id (e.g.b8efdd8318a9f3a3238028269f8640ce) uniquely identifies each and every boundary. The GeoIds for specific boundary types can sometimes be found in fields that end in GeoID. e.g. the following example shows how we can establish the CombinedStatistical Area (CSA) name and population associated with a specific property. We use the PropertyGeoData data to establish the GeoID of the CSA (CombinedStatisticalAreaGeoID) and then use that to locate the relevant record in the Community table.

Note: CSA aggregations of Community data are not available in the 5-county trial database.

	SELECT 
		CONCAT(pa.SitusAddress,', ',pa.SitusCity,' ',pa.SitusState,' ',pa.SitusZip) AS Address,
		c.geographyName,
		c.Population_2020
	    
	From adw.PropertyAddresses pa 
	Left Join adw.DimCounty dc on pa.CountyKey = dc.CountyKey  
	Left Join adw.Community c on dc.CombinedStatisticalAreaGeoID = c.GeoID 

	Where pa.[ATTOM ID] = 142467604

This code is known within ATTOM API as GeoIdV4 as it replaced a previous geocode known as GeoID.


Matching Properties to Boundaries

Addresses

Many boundaries such as State form part of the Address information for each property.

  • County
  • Postal City
  • State
  • Zip Code

Geo Codes

Boundaries that are unique to a property and not specific to a county can be found in the Geo Codes information for each property.

  • Census Block
  • Census Block Group
  • Census Tract
  • Core-Based Statistical Area (CBSA)
    • Metropolitan Statistical Area (MSA)
    • Micropolitan Statistical Area (µSA)
  • Combined Statistical Area (CSA)
  • Metropolitan Division

County

If a boundary is an aggregation of counties (e.g. CBSA) then information about that boundary is stored as part of our County details. It is deemed to be far more efficient to store this information at a county level rather than repeat it for every property in a county.

  • Core-Based Statistical Area (CBSA)
  • Core Statistical Area
  • Metropolitan Division
  • State

PropertyToBoundaryMatch

There are some boundary types that are not always unique for a property e.g. A property may fall within the attendance area for many schools. For these boundary types, ATTOM Cloud has a special table PropertyBoundaryMatch that defines all the boundaries of a particular type that overlap with the property boundary.

  • Census Block
  • Census Block Group
  • Congressional District
  • County Subdivision
  • FEMA FIRM Panel
  • FEMA Flood Zone
  • Macro Neighborhood
  • Neighborhood
  • Place
  • School
  • School District
  • Sub Neighborhood
  • Zip Code Tabulation Area

Note: Because the 5-county trial database only includes data for five counties, the PropertyToBoundaryMatch table in this database does not provide matches for boundaries that span counties, e.g. Congressional District.


Property To Boundary Match Guide

The following summarizes the ways to identify relevant boundaries that overlap with a specific property.

Boundary Addresses County Geo Codes PropertyBoundaryMatch
Census Block CensusBlock 33
Census Block Group CensusBlockGroup 32
Census Tract CensusTract
Combines Statistical Area (CSA) CSACode
Congressional District CongressionalDistrict 35
Core-Based Statistical Area (CBSA) MSACode CBSACode CbsaCode
County CountyKey
County Subdivision 38
FEMA FIRM Panel 39
FEMA Flood Zone 40
Macro Neighborhood 41
Metropolitan Division DivisionCode
Metropolitan Statistical Area (MSA) MSACode CBSACode MsaCode
Micropolitan Statistical Area (µSA) MSACode CBSACode MsaCode
Neighborhood NeighborhoodCode 42
Place Township 45
Postal City SitusCity
Quarter Quarter
QuarterQuarter QuarterQuarter
Range Range
Residential Subdivision Subdivision 44
School (Grade) 56
School (Instruction Level) 57
School District 53
State SitusState StateCode
Sub-Neighborhood 43
Tract TractNumber
Zip Code SitusZip 50
Zip Code Tabulation Area 51
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.