R的传单未显示形状文件中的多边形

时间:2019-05-09 17:34:16

标签: r leaflet shapefile

我正在尝试使用传单制作一个choropleth。我从data.gov下载了ZCTAs的shapefile,并通过readOGR将其导入到R中。然后,将文件通过管道传送到传单时,什么也没有发生。

我认为问题可能是来自shapefile的经纬度是作为因子而不是数字导入的?除非我尝试将这些变量转换为数字,否则返回错误:

  

`$ <-。data.frame`(`* tmp *',lat,value = numeric(0))错误:     替换有0行,数据有33144

另一方面,这只是一个猜测,我对传单和地图绘制是全新的;我还在学习哪种方式。

这是我的代码:

shape <- readOGR(dsn = path.expand("//cifs2/radonfin$/MaxG/In Progress/Geographical Capture/Shape Files"), 
                 layer = "tl_2018_us_zcta510")
    shape@data$GEOID10 = as.numeric(as.character(shape@data$GEOID10))
    colnames(shp_Patients_by_ZCTA)[colnames(shp_Patients_by_ZCTA)=="INTPTLAT10"] <- "lat"
    colnames(shp_Patients_by_ZCTA)[colnames(shp_Patients_by_ZCTA)=="INTPTLON10"] <- "lng"

shape %>%
    leaflet(options = leafletOptions( minZoom = 8,
                                      maxZoom = 12,
                                      dragging = TRUE))  %>% 
        addProviderTiles("CartoDB.PositronNoLabels", group = "Light Mode")  %>%
        addProviderTiles("CartoDB.DarkMatterNoLabels", group = "Dark Mode") %>%
            addPolygons() %>%
                setView(lng = -71.808206, lat = 42.016621, zoom = 8) %>%
                    setMaxBounds(lng1 = -73.561893,
                                 lat1 = 42.855596,
                                 lng2 = -69.889730,
                                 lat2 = 41.001180) %>%
                        addMarkers(data = Hospital_Locations, 
                                   lat = Hospital_Locations$Latitude, 
                                   lng = Hospital_Locations$Longitude, 
                                   label = Hospital_Locations$Location) %>%
                            addLayersControl(baseGroups = c("Light Mode", "Dark Mode"), 
                                             overlayGroups = c("Boston", "Mansfield", "Milford", "Saint Anne's"))

我的预期结果是一个包含shapefile描述的多边形的传单地图,但实际结果是:

  1. latlon转换为数字时出现错误;或者,如果我跳过了

  2. R冻结直到我停止代码。

我非常感谢您可以提供的任何帮助!

0 个答案:

没有答案