2015-11-20 218 views
0

我正在学习如何使用R和Leaflet。我几乎完成了使用加利福尼亚县的地图,但我不喜欢我可以在地图上看到其他州。我想把我的多边形(县)周围的地图画出来。我看到类似的问题在其他地方解决,但我不知道如何在代码中应用所述内容。有人可以检查这个代码,并建议我需要添加什么?将Leaflet视图的可视部分限制为多边形区域

如果你滚动到这个链接的底部,你会看到我想要做的。 http://rpubs.com/stefanya/127436

我使用的代码是:

#loading shapefile 
    counties <- readOGR("./shapefiles", layer="cb_2014_us_county_20m") 

#filtering for only california 
    counties <- subset(counties, [email protected]$STATEFP=="06") 

#making a leaflet map of california counties 
    leaflet() %>% addTiles() %>% addPolygons(data=counties) 

#merging the data into this shapefile 
    [email protected] = data.frame([email protected],  sumByCounty[match([email protected][,"NAME"], sumByCounty[,"NAME"]),]) 

#set color palette 
    colorRamp <- colorRamp(c("#2c7fb8","#7fcdbb","#edf8b1"), interpolate = "spline") 
    palette <- colorNumeric(colorRamp, [email protected]$progress) 

    leaflet() %>% addProviderTiles("Stamen.TonerLite") %>% 
addPolygons(
    weight= 2, 
    stroke = TRUE, 
    fillOpacity = .65, 
    data=counties, 
    color = ~palette(progress), 
    popup = ~paste("<strong>County:</strong>",NAME, 
        "<br>", 
        "<strong>Total Responses:</strong>",sumByCounty, 
        "<br>", 
        "<strong>Complete:</strong>",progress,"<strong>%</strong>") 
) %>% addLegend(title = "Response <br> Goal Met", pal = palette, values = [email protected]$progress, bins=5, opacity = 1, position="topright", labFormat = labelFormat(suffix = '%')) 
+1

一个简单的解决办法是建立在其他国家一大多边形来隐藏他们... – ghybs

+0

你也许可以组成你自己的自定义瓷砖。 https://help.openstreetmap.org/questions/136/how-do-i-render-my-own-maps-for-my-website –

+0

这是链接到“类似的问题解决其他地方”:http:///gis.stackexchange.com/questions/73048/how-do-i-clip-osm-basemap-with-a-polygon,因为它基本上是@ghybs解决方法,并且可以很容易地应用于传单。 – Spacedman

回答

0

与两个环,先用整个地球的几何形状(或您的视图边界),第二与加州的几何创建一个多边形:

[ 
    // World 
    [[90,-180], [90,180], [-90,180], [-90,-180]], 
    // California 
    [[42.006186,-123.233256],[42.011663,-122.378853],[41.995232,-121.037003],[41.995232,-120.001861],[40.264519,-119.996384],[38.999346,-120.001861],[38.101128,-118.71478],[37.21934,-117.498899],[36.501861,-116.540435],[35.970598,-115.85034],[35.00118,-114.634459],[34.87521,-114.634459],[34.710902,-114.470151],[34.448009,-114.333228],[34.305608,-114.136058],[34.174162,-114.256551],[34.108438,-114.415382],[33.933176,-114.535874],[33.697668,-114.497536],[33.54979,-114.524921],[33.40739,-114.727567],[33.034958,-114.661844],[33.029481,-114.524921],[32.843265,-114.470151],[32.755634,-114.524921],[32.717295,-114.72209],[32.624187,-116.04751],[32.536556,-117.126467],[32.668003,-117.24696],[32.876127,-117.252437],[33.122589,-117.329114],[33.297851,-117.471515],[33.538836,-117.7837],[33.763391,-118.183517],[33.703145,-118.260194],[33.741483,-118.413548],[33.840068,-118.391641],[34.042715,-118.566903],[33.998899,-118.802411],[34.146777,-119.218659],[34.26727,-119.278905],[34.415147,-119.558229],[34.40967,-119.875891],[34.475393,-120.138784],[34.448009,-120.472878],[34.579455,-120.64814],[34.858779,-120.609801],[34.902595,-120.670048],[35.099764,-120.631709],[35.247642,-120.894602],[35.450289,-120.905556],[35.461243,-121.004141],[35.636505,-121.168449],[35.674843,-121.283465],[35.784382,-121.332757],[36.195153,-121.716143],[36.315645,-121.896882],[36.638785,-121.935221],[36.6114,-121.858544],[36.803093,-121.787344],[36.978355,-121.929744],[36.956447,-122.105006],[37.115279,-122.335038],[37.241248,-122.417192],[37.361741,-122.400761],[37.520572,-122.515777],[37.783465,-122.515777],[37.783465,-122.329561],[38.15042,-122.406238],[38.112082,-122.488392],[37.931343,-122.504823],[37.893004,-122.701993],[38.029928,-122.937501],[38.265436,-122.97584],[38.451652,-123.129194],[38.566668,-123.331841],[38.698114,-123.44138],[38.95553,-123.737134],[39.032208,-123.687842],[39.366301,-123.824765],[39.552517,-123.764519],[39.831841,-123.85215],[40.105688,-124.109566],[40.259042,-124.361506],[40.439781,-124.410798],[40.877937,-124.158859],[41.025814,-124.109566],[41.14083,-124.158859],[41.442061,-124.065751],[41.715908,-124.147905],[41.781632,-124.257444],[42.000709,-124.213628],[42.006186,-123.233256]] 
] 

例如在Plunker:http://embed.plnkr.co/ZWzuxz/preview