任意地理位置的人口普查数据

census-area的Python项目详细描述


这个python库扩展了sunlight基金会的Census API Wrapper,允许按人口普查地点和任意地理位置查询人口普查区域、数据块组和数据块。

设置

使用pip

获取库及其依赖项
pip install census_area

用法

from census_area import Census

c = Census("MY_API_KEY")
old_homes = c.acs5.state_place_tract(('NAME', 'B25034_010E'), 17, 14000)

上面的调用将返回人口普查区的名称和1939年之前在芝加哥市每个区建造的房屋数量。17是伊利诺伊州的FIPS代码,14000是芝加哥的FIPS代码。

默认情况下,此方法将返回字典列表,其中每个字典表示一个束的数据。

使用return_geometry参数,可以让该方法返回一个类似geojson的字典。每个区域都是一个特征,关于区域的普查变量显示在特征的属性属性中。

old_homes_geojson = c.acs5.state_place_tract(('NAME', 'B25034_010E'), 17, 14000), return_geometry=True)

块组也有类似的方法

old_home_block_groups = c.acs5.state_place_blockgroup(('NAME', 'B25034_010E'), 17, 14000))

和积木。请注意,块级地理位置仅适用于十年一次的人口普查的简短数据

owner_occupied = c.sf1.state_place_block(('NAME', 'H016F0002'), 17, 14000)

在十年一次的人口普查中,也可以使用束法和分组法。

owner_occupied_blockgroup = c.sf1.state_place_tract(('NAME', 'H016F0002'), 17, 14000)
owner_occupied_tract = c.sf1.state_place_blockgroup(('NAME', 'H016F0002'), 17, 14000)

old_homes = c.sf3.state_place_tract('NAME', 'H034010'), 17, 14000)
old_homes = c.sf3.state_place_blockgroup('NAME', 'H034010'), 17, 14000)

除了这些方便的方法外,还有三种较低级别的方法来获取任意几何图形的人口普查区域、块和组。

import json

with open('my_shape.geojson') as infile:
    my_shape_geojson = json.load(infile)
features = []
old_homes = c.acs5.geo_tract(('NAME', 'B25034_010E'), my_shape_geojson['geometry'])
for tract_geojson, tract_data, tract_proportion in old_homes:
     tract_geojson['properties'].update(tract_data)
     features.append(tract)

my_shape_with_new_data_geojson = {'type': "FeatureCollection", 'features': features}

该方法接受所需的人口普查变量和geojson几何体,并返回一个束形状的generator作为geojson特性,以及该束的变量。此外,生成器返回一个“束比例”;这是属于目标形状的束区域的比例。

对于ACS 5年和10年一次的人口普查,也为区块组和区块提供了类似的方法。

c.acs5.geo_blockgroup(('NAME', 'B25034_010E'), my_shape_geojson['geometry'])

c.sf1.geo_block(('NAME', 'H016F0002'), my_shape_geojson['geometry'])
c.sf1.geo_blockgroup(('NAME', 'H016F0002'), my_shape_geojson['geometry'])
c.sf1.geo_tract(('NAME', 'H016F0002'), my_shape_geojson['geometry'])

c.sf3.state_place_tract('NAME', 'H034010'), my_shape_geojson['geometry'])
c.sf3.state_place_blockgroup('NAME', 'H034010'), my_shape_geojson['geometry'])

团队

  • Jean Cochrane,数据制作
  • Forest Gregg,数据制作

错误和错误

如果某个东西的行为不是直观的,那么它就是一个bug,应该被报告。 通过创建问题在此处报告:https://github.com/datamade/census_area/issues

按照Mozilla’s guidelines for reporting bugs.帮助我们尽快解决问题

修补程序和拉取请求

欢迎使用您的修补程序。我们建议的工作流程如下:

  • 分叉项目。
  • 添加功能或修复错误。
  • 向我们发送一个请求和你的工作描述。主题分支的加分!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
基于下图,使用改进的java上传图像   libgdx矩形之间的java冲突检测   java将航路点硬编码到无人机套件中   java使用数组实现多重性   java国际象棋,寻找对角线移动的最后一个位置的算法   Java正则表达式更高效的动态正则表达式   java在识别和修复SSLPeerUnverifiedException方面需要帮助   Android上的java安装FTPS服务器/客户端   JavaSpring云流:动态输出通道奇怪的行为   java如何在jsp页面中将html标记放入html标记中   arraylist在Java中创建多个数据类型的数组列表   javajackson:忽略空字段,除了那些与项目相关的必填字段   java Eclipse javadoc背景色为黑色   java如何从应用程序外部的属性文件中检索值   java如何避免两个类之间的循环依赖?   java@cacheable spring for redis,特定于方法的ttl?   java Lucene查找合作列表