Geographic Information Systems Asked by Utensil on April 26, 2021
I have been searching for a few days to find a web service that will provide the State, County, and Place FIPS codes from an address input. Most of the services I’ve found only provide a State, County, and Census block code.
For example, for the address 4139 S 143rd Cir, Omaha, NE 68137 would return:
State: 31
County: 05
Place: 537000
It may be a two step process. Geocode the address, get the xy from the geocode result and then send the xy to a county web service with FIPS. You will want to intersect the point.
http://tigerweb.geo.census.gov/ArcGIS/rest/services/Census2010/State_County/MapServer/1/query?text=&geometry={"x":-122,"y": 41,"spatialReference":{"wkid":4326}}&geometryType=esriGeometryPoint&spatialRel=esriSpatialRelIntersects&returnGeometry=false&outFields=STATE,COUNTY&f=json
Returns:
{"displayFieldName":"BASENAME","fieldAliases":{"STATE":"STATE","COUNTY":"COUNTY"},"fields":[{"name":"STATE","type":"esriFieldTypeString","alias":"STATE","length":2},{"name":"COUNTY","type":"esriFieldTypeString","alias":"COUNTY","length":3}],"features":[{"attributes":{"STATE":"06","COUNTY":"089"}}]}
Correct answer by awesomo on April 26, 2021
You can use this one here: https://www.ffiec.gov/geocode/
The page hits a couple different endpoints when a search is made. If all you need are the FIPS codes, you just need this one: https://geomap.ffiec.gov/FFIECGeocMap/GeocodeMap1.aspx/GetGeocodeData
You will need to make a post request with a body like this: {sSingleLine: "123 Main St, Watertown, MA", iCensusYear: "2018"}
Example in Python:
import requests
import json
address = "123 Main St, Watertown, MA"
geocode_url = 'https://geomap.ffiec.gov/FFIECGeocMap/GeocodeMap1.aspx/GetGeocodeData'
headers = {'content-type':'application/json'}
data = {'sSingleLine': address, 'iCensusYear': "2018"}
r = requests.post(geocode_url, data = json.dumps(data), headers=headers)
d = r.json()['d']
state_code = d['sStateCode']
county_code = d['sCountyCode']
msa_code = d['sMSACode']
tract_code = d['sTractCode']
Unfortunately, it doesn't look like it gives codes for city or place.
Answered by Tanner Thompson on April 26, 2021
Geocodio can add Census FIPS state, county, place, tract, block, and block group codes to addresses via API or spreadsheet upload. You can do batch processing as well as single address.
The address you gave would return this:
State fips:
31
County fips:
31055
Tract code:
007409
Block code:
3162
Block group:
3
Full fips:
310550074093162
You can try a single address for free without any signup required at https://www.geocod.io/try/ (click US Census Identifiers)
Disclosure: I'm one of the founders of Geocodio.
Answered by Michele Hansen on April 26, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP