格式化人口普查 ACS API 数据以在分区统计图中使用

Format Census ACS API Data For Use In Choropleth Map

本文关键字:统计 分区 ACS 人口普查 API 数据 格式化      更新时间:2023-09-26

我正在使用美国人口普查 ACS API 提取美国所有县的数据。然后,我想生成基于值着色的县级分区统计图。如果我有一个静态数据文件(带有区号:值的 CSV),我就可以呈现数据。但是,来自 API 的数据返回为:

0: "B08101_025E"
1: "NAME"
2: "state"
3: "county"
...
0: "42"
1: "Autauga County, Alabama"
2: "01"
3: "001"

在 :value 中似乎需要数据,以便上述内容如下所示(忽略标头元素):

01001: 42

我想我在数据的格式和预期的输出应该是什么方面混淆了。最后,我正在做的是:

    var pad = d3.format("05d"),
    quantize = d3.scale.quantile().domain([0, 15]).range(d3.range(9));
    d3.json("us-counties.json", function (json) {
        counties.selectAll("path")
        .data(json.features)
        .enter().append("svg:path")
        .attr("class", function (d) {
            return "q" + quantize(dataSet[pad(d.id)]) + "-9";
        })
        .attr("d", path)
        .on("click", click)
        .append("svg:title")
        .text(function (d) {
            return d.properties.name + ": " + dataSet[pad(d.id)] + "%";
        });
    });

这是从这里开始的。请注意,dataSet[pad(d.id)]没有命中,因为数据不在我认为它需要的键/值对中。如何以预期的格式获得它?我试过只让dataSet成为 2d 数组:

0: "01001"
1: 42

这仍然没有达到预期的结果。

好吧,看起来提出这个问题会有所帮助。之后,我再次浏览了问题并做了这个:

    var dataObj = {};
            d3.json(jsonRequest, function (data) {
                $.each(data, function (key, val) {
                    if (key > 0) {
                        var apiValue = parseInt(val[0], 10);
                        var apiState = val[2];
                        var apiCounty = val[3];
                        //var elmentArray = [apiState + apiCounty, apiValue];
                        //dataSet.push(elmentArray);
                        dataObj[apiState + apiCounty] = apiValue;
                    }
                });
...
 return d.properties.name + ": " + dataObj[pad(d.id)] + "%";

现在唯一的问题是,当我更改数据源时,数据不会更新。

R 的 acs 包是获取 ACS 数据的另一种有用方法(通过 API,但很友好)。

此外,关于使用 R(包括 acs 包)从人口普查数据创建颜色编码地图的有用、广泛的讨论,并举例说明如下:

http://blog.revolutionanalytics.com/2009/11/choropleth-map-r-challenge.html

http://eglenn.scripts.mit.edu/citystate/tag/acs/

https://gist.github.com/hadley/233134