2016-09-09 7 views
0

카운티 데이터의 CSV 파일을 US Census site에서 가져온 NY 상태의 SHP 파일과 결합하려고합니다.topojson - 카운티 CSV 데이터를 상태의 shp 파일과 결합합니다.

모양 파일을 다운로드했습니다. 그리고 NY 말할 수 있습니다, 이것은 CSV 파일 될 것이다 : 나는 CLI로하지만 아무 소용이 명령을 시도

countyid countyname 
1 Albany County 
3 Allegany County 
5 Bronx County 

: 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

나는 많은 R 코드를 작성하기 때문에 공간 세계의 모든 것이 나에게 못처럼 보입니다.

모든 모양 파일을 US Census에서 다운로드 한 다음 rgdal을 사용하여 geojson을 읽고 쓰고 기본 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을 사용하여이 파일을 확인하고 그것을 잘 보았다.