查找美国城市所在的美国县的最佳方式是什么?

问题描述 投票:0回答:6

我正在寻找最好/最简单的方法来以编程方式获取美国特定城市所在的美国县的名称。似乎没有一个简单的 API 可用于此类(看似简单)的任务?

geolocation geocoding geo
6个回答
12
投票

您可以免费下载县/市/邮政编码信息数据库,例如: http://www.unitedstateszipcodes.org/zip-code-database/(无需注册或付费)

将其全部或其中的一部分导入本地持久数据存储(例如数据库),并在需要查找城市的县时查询它

注意: 自发布此答案以来,县信息已从最初链接的 .csv 文件中消失。 此链接不再包含县信息:http://federalgovernmentzipcodes.us/free-zipcode-database.csv


9
投票

1)城市跨县

2)邮政编码跨越城市和县,甚至不在同一条线上

任何使用 zip 作为中介的解决方案都会损坏您的数据(不,“zip+4”通常不会修复它)。您会发现城市到邮政编码到县的数据地图 (#2) 比更准确的模型 (#1) 具有更多的城市到县的匹配数量 - 这些都是不好的匹配。

您正在寻找的是免费的人口普查数据。您需要的联邦信息处理标准 (FIPS) 数据集称为“2010 ANSI 地点代码”:https://www.census.gov/geographies/reference-files/time-series/geo/name-lookup-tables。 2010.html

人口普查的“地点”就是我们问题中的“城市”。这些文件将“地点”映射到一个或多个县。


3
投票

这里有一些代码,用于使用 Google 地图 API 以编程方式获取给定的美国单个城市/州的美国县的名称。此代码速度慢/效率低,并且没有任何错误处理。然而,它对我来说可以可靠地将县与约 1,000 个城市的列表进行匹配。

#Set up googlemaps API
import googlemaps
google_maps = googlemaps.Client(key='API_KEY_GOES_HERE')

#String of city/state
address_string = 'Atlanta, GA'

#Geocode
location = google_maps.geocode(address_string)

#Loop through the first dictionary within `location` and find the address component that contains the 'administrative_area_level_2' designator, which is the county level
target_string = 'administrative_area_level_2'
for item in location[0]['address_components']:     
    if target_string in item['types']: #Match target_string
        county_name = item['long_name'] #Or 'short_name'
        break #Break out once county is located
    else:
        #Some locations might not contain the expected information
        pass

这会产生:

>>> county_name
Fulton County

注意事项:

  1. 如果 google_maps.geocode() 未传递有效的代码,代码将会中断 地址
  2. 某些地址不会返回与“administrative_area_level_2”对应的数据
  3. 这并不能解决美国城市跨县的问题。相反,我认为 API 只是返回与
    address_string
  4. 关联的单个纬度/经度关联的县

2
投票

由于县的形状和城市的点位置都是奇数多边形,因此使用地理空间函数来完成此任务并不容易。

您最好的选择是参考城市及其各自县的数据库,尽管我不知道您在哪里可以找到该数据库。 也许德克萨斯州会出版一本?
CommonDataHub 不包含此信息。


0
投票

要查找美国城市位于哪个县,您可以使用多种在线资源。最直接的方法之一是使用谷歌等搜索引擎。只需输入城市名称,后跟“县”一词,搜索结果通常会显示相关信息。此外,您还可以使用美国人口普查局或 city-data.com 等网站,它们提供详细的地理信息。另一个有用的工具是全国县协会 (NACo) 网站,您可以在其中搜索城市并找到相应的县。

如果您想知道定位我的县的最简单方法,这些在线工具是您的最佳选择。他们提供快速可靠的信息,确保您可以轻松找到您所在的县。另外,使用这些资源可以帮助您更多地了解您所在地区的地理和人口统计详细信息。


-1
投票

最快、最直接的方法可能是使用来自免费地理定位 API(很容易在 Google 上找到)的 JSON/XML 请求。 这样您就不需要创建/托管自己的数据库。

© www.soinside.com 2019 - 2024. All rights reserved.