我正在尝试将县数据的CSV文件与我从US Census site获得的NY状态的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,但是从每个对象的csv数据中缺少id
。
例如我正在寻找这样的东西:
{
"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]
]
]
}
}
}
}
对我来说是一个头疼的人。感谢您的任何信息。
答案 0 :(得分:0)
我写了很多R代码,所以空间世界中的所有东西对我来说都是一个钉子。这是一种方法:
我从US Census下载了所有的shapefile,然后使用rgdal读取并写出geojson,并使用base R将子集分配到NY州。这给了一个" id"在geojson中,在写出文件之前,你可以读入并合并你感兴趣的任何数据。
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检查了这个文件,看起来很好。