ArcGIS Pro - Join concerns

658
1
Jump to solution
11-18-2019 09:03 AM
OliverCoudert
New Contributor II

I have been struggling with Joins on ArcGis Pro.  After some unexpected and undesired results using Spatial Join, I tried what I thought would be a simple join using public data.  Unfortunately, the result shows zeros for rows where I know there is data.

I used Excel to calculate the population and households for US counties, the results of which are in the attached CSV file.  This file has the same GEOID values as the cb_2017_us_county_5m shapefile from the census.gov site (https://www2.census.gov/geo/tiger/GENZ2017/shp/cb_2017_us_county_5m.zip).  I used the Join Field data management tool with the following paramters:

Join Field Parameters:

  • Input Table: cb_2017_us_county_5m
  • Input Join Field: GEOID
  • Join Table: county_pops_hh-2017a.csv
  • Output Join Field: GEOID
  • Join Fields: Pops2017;Households2017
  • Updated Input Table: cb_2017_us_county_5m

The results show zeros for population and households for counties in Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, which is not correct.  The data in the Join Table is sorted alphabetically by county FP, then by state.  

This brings into question the validity of reports I have generated using Joins in the past.  Am I doing something wrong or is this a known issue?

ArcGIS Pro 2.3.0

Windows 10 Enterprise

0 Kudos
1 Solution

Accepted Solutions
OliverCoudert
New Contributor II

I figured it out.  The error I was making is that the GEOID field type in the counties shapefile is Text, whereas it is Integer in the CSV file.  I added a new field to the counties table and calculated the value (float) of the GEOID for each row, then did the join on this new GEOID.

View solution in original post

1 Reply
OliverCoudert
New Contributor II

I figured it out.  The error I was making is that the GEOID field type in the counties shapefile is Text, whereas it is Integer in the CSV file.  I added a new field to the counties table and calculated the value (float) of the GEOID for each row, then did the join on this new GEOID.