2017-04-17 8 views
-1
# From http://eric.clst.org/Stuff/USGeoJSON and 
# https://en.wikipedia.org/wiki/List_of_United_States_counties_and_county_equivalents 
nycounties <- geojsonio::geojson_read("json/nycounties.geojson", 
    what = "sp") 
# Or use the rgdal equivalent: 
# nycounties <- rgdal::readOGR("json/nycounties.geojson", "OGRGeoJSON") 

pal <- colorNumeric("viridis", NULL) 

leaflet(nycounties) %>% 
    addTiles() %>% 
    addPolygons(stroke = FALSE, smoothFactor = 0.3, fillOpacity = 1, 
    fillColor = ~pal(log10(pop)), 
    label = ~paste0(county, ": ", formatC(pop, big.mark = ","))) %>% 
    addLegend(pal = pal, values = ~log10(pop), opacity = 1.0, 
    labFormat = labelFormat(transform = function(x) round(10^x))) 

에 대한 R의 모든 카운티 데이터 NY 상태를 다운로드합니다.어떻게 위의 코드는 <a href="https://rstudio.github.io/leaflet/json.html" rel="nofollow noreferrer">https://rstudio.github.io/leaflet/json.html</a>에서 복사 전단지지도

나는 코드에서 필요에 따라 뉴욕 주 카운티 데이터를 다운로드하는 방법을 생각을해야합니다. (또는 다른 말로, 어떻게 nycounties.geojson 파일을 생성하기 위해) 내가 처음 두 의견 모두 웹 사이트를 통해 갔다

을 그러나 미국의 전체 데이터에서 NY 주 데이터를 부분 집합하는 데 실패했습니다.

답변

2

22MB json 파일을 다운로드 한 후 작업을 수행 한 것으로 보입니다.

library(leaflet) 

xy <- geojsonio::geojson_read("gz_2010_us_050_00_500k.json", what = "sp") 

> names(xy) 
[1] "GEO_ID"  "STATE"  "COUNTY"  "NAME"  "LSAD"  "CENSUSAREA" 

# from Wikipedia list of counties, find Genesse county, 
# which should be located in NY state 
> xy[grepl("36037", xy$GEO_ID), ]$STATE 
[1] 36 

# NY state should be number 36 

nyc <- xy[xy$STATE == 36, ] 

leaflet(nyc) %>% 
    addTiles() %>% 
    addPolygons() 

enter image description here