2015-11-20 217 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