中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

json素材操縱與圖層面板控制的方法是什么

發布時間:2021-12-18 09:54:28 來源:億速云 閱讀:152 作者:iii 欄目:大數據

本篇內容介紹了“json素材操縱與圖層面板控制的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

json地圖數據結構和變量操控:

library(jsonlite)

library(leaflet)

library(dplyr)

library(geojsonio)

library(rgdal)

library(sf)

library(ggplot2)

library(maptools)

library(plyr)

library(htmltools)

options(stringsAsFactors=FALSE,warn=FALSE) 

#這樣的全局預設可以為你省卻很多麻煩,強烈建議

setwd("D:/R/mapdatanew/")

###1

以下數據導入json原生數據格式的三種方式:(2,3兩種是沒啥區別的,但是simplifyVector=FALSE參數設定與否則至關重要,他決定著輸入的json數據是經過平整的向量化數據還是原生的list數據,這里的leaflet需要原生格式的json數據)

geojson1<-fromJSON(url)  #在同一層級對象長度一致,便會被自動視作數據框。

geojson2<-fromJSON(url,simplifyVector=FALSE)  #不強轉化為數據框。

geojson3<-readLines(url,warn=FALSE,encoding="UTF-8")%>%paste(collapse="\n")%>%fromJSON(simplifyVector=FALSE)

設置隨機中非常必要,否則容易導致每次的效果都不一樣:

set.seed(1234)

#向list對象中添加數據(隨機數據)

geojson3$features<-lapply(geojson3$features,function(feat){

feat$properties$scale<-runif(1,0,10)

feat

})

#從list對象中讀取數據(主要讀取我們可做更改與擴展的行政區劃列表信息)

mydata<-ldply(geojson3$features,function(feat){ 

name<-feat$properties$name

id<- feat$properties$id

scale<-as.numeric(feat$properties$scale)

mydata<-data.frame(name,id,scale)

})

# Default styles for all features  

#it has  higher precedence  compare with  the style in a function of GeoJSON

geojson3$style=list(weight=1,color="#555555",opacity=1,fillOpacity=0.8)

# Color by scale using quantiles

pal<-colorQuantile("Greens",mydata$scale)

# Add a properties$style list to each feature

geojson3$features <- lapply(geojson3$features, function(feat) {

  feat$properties$style<-list(

       fillColor=pal(feat$properties$scale)

       )

  feat

})

關于屬性設置的三個優先級:

按照由高到低的順序排列為:

  •  feature-specific styles #(也就是設置在 simple featrue的style)

  •  the top-level style object #(設置在features中的style)

  • style-related arguments passed to the function #(設置在GeoJSON內的各種參數)

#這是通過增加地圖圖層來進行圖層控制的簡單案例:

leaflet()%>%

addTiles(group ="OSM (default)")%>%

setView(lng=116.435889,lat=39.932642,zoom=8)%>%

addGeoJSON(geojson3,group="GeoJSON")%>%

addProviderTiles(providers$CartoDB.Positron,group="CartoDB")%>%

addProviderTiles(providers$Stamen.TonerLines,options=providerTileOptions(opacity=0.35),group="TonerLines")%>%

addProviderTiles(providers$Stamen.TonerLabels,group="TonerLabels")%>%

addLayersControl(

   baseGroups = c("OSM (default)", "CartoDB", "TonerLines","TonerLabels"),

   overlayGroups = c("GeoJSON"),

   options=layersControlOptions(collapsed = FALSE)

  )

json素材操縱與圖層面板控制的方法是什么

json素材操縱與圖層面板控制的方法是什么

json素材操縱與圖層面板控制的方法是什么

json素材操縱與圖層面板控制的方法是什么

以下這段代碼是之前leaflet系列教程的線圖篇里面的案例,這里剛好應用一下:

data<-read.table("D:/R/File/subwayline.txt",header=TRUE,stringsAsFactors = FALSE)

data$size<-runif(47,10,25)


data$Type<-as.factor(data$Type)

data1<-filter(data,Type=="NO1")

data2<-filter(data,Type=="NO5")

pal <- colorFactor(topo.colors(2),data$Type)

leaflet()%>%

addTiles()%>%

addPolylines(data=data1,~lon,~lat,color="blue")%>%

addPolylines(data=data2,~lon,~lat,color="green")%>%

addCircleMarkers(data=data,~lon, ~lat,popup = ~address,radius=~size,group=~Type)

json素材操縱與圖層面板控制的方法是什么

這是一個高度綜合的案例,包含底圖圖層的多分類控制;數據圖層的多分類控制以及點線面三種數據圖層的綜合運用。

leaflet()%>%

addTiles(group ="OSM (default)")%>%

setView(lng=116.435889,lat=39.932642,zoom=8)%>%

addGeoJSON(geojson3,group="GeoJSON")%>%

addProviderTiles(providers$CartoDB.Positron,group="CartoDB")%>%

addProviderTiles(providers$Stamen.TonerLines,options=providerTileOptions(opacity=0.35),group="TonerLines")%>%

addProviderTiles(providers$Stamen.TonerLabels,group="TonerLabels")%>%

addPolylines(data=data1,~lon,~lat,color="red",group="line1")%>%

addPolylines(data=data2,~lon,~lat,color="orange",group="line2")%>%

addCircleMarkers(data=data,~lon, ~lat,popup = ~address,radius=~size,group="address",color = "#1843F9")%>%

addLayersControl(

   baseGroups = c("OSM (default)", "CartoDB", "TonerLines","TonerLabels"),

   overlayGroups = c("GeoJSON","line1","line2","address"),

   options=layersControlOptions(collapsed = FALSE)

  )

json素材操縱與圖層面板控制的方法是什么

“json素材操縱與圖層面板控制的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎川县| 万年县| 富裕县| 垣曲县| 绍兴市| 天津市| 屏边| 黄陵县| 榆林市| 常德市| 鄱阳县| 金湖县| 宿州市| 龙江县| 尖扎县| 连江县| 仪陇县| 深州市| 呼玛县| 光山县| 共和县| 博客| 亳州市| 萨迦县| 盐池县| 军事| 抚松县| 额尔古纳市| 黄浦区| 太仓市| 六安市| 闵行区| 太保市| 三原县| 新郑市| 丽水市| 乐都县| 湘潭县| 泗水县| 西乌| 临安市|