0

我正在尝试将县数据的 CSV 文件与我从美国人口普查网站获得的纽约州的 SHP 文件结合起来。

我已经下载了形状文件。让我们说纽约,这将是 CSV 文件:

countyid    countyname
1   Albany County
3   Allegany County
5   Bronx County

我用CLI尝试了这个命令,但无济于事: topojson -e nycounty.csv --id-property=id -o final.json -- tl_2010_25_state10.shp

这仅创建了 SHP 文件的 topojson,但缺少id每个对象的 csv 数据。

例如我正在寻找这样的东西:

{
    "type": "Topology",
    "objects": {
        "towns": {
            "type": "GeometryCollection",
            "bbox": [33869.68649540044, 777514.5705503832, 330846.2264954001, 959743.1205503875],
            "geometries": [{
                    "type": "Polygon",
                    "id": 19,
                    "arcs": [
                        [0, 1, 2, 3]
                    ]
                }, {
                    "type": "MultiPolygon",
                    "id": 20,
                    "arcs": [
                        [
                            [4, 5, 6, 7, 8]
                        ]
                    ]
                }
            }
        }
    }

对我来说变成了一个令人头疼的问题。感谢您提供任何信息。

4

1 回答 1

0

我写了很多 R 代码,所以空间世界中的一切对我来说都像是钉子。这是一种方法:

我从US Census下载了所有 shapefile ,然后使用rgdal读取并写出geojson ,并使用 base R 仅对 NY 州进行子集化。这会在 geojson 中给出一个“id”,然后再写出您可以读取的文件并合并您感兴趣的任何数据。

library(rgdal)

country <- readOGR("tl_2016_us_county/tl_2016_us_county.shp", layer= "tl_2016_us_county")
ny <- subset(country, STATEFP == 36)

writeOGR(ny, dsn = "ny.geojson", layer="NY", driver="GeoJSON", check_exists = F)

然后我使用GEOjsonlint检查了这个文件,它看起来很好。

于 2016-09-09T05:18:24.243 回答