首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中使用Leaflet将csv数据绑定到geojson

如何在R中使用Leaflet将csv数据绑定到geojson
EN

Stack Overflow用户
提问于 2019-04-17 18:25:23
回答 1查看 895关注 0票数 1

在R(闪亮)中,我使用了Leaflet。我想使用一个包含多边形的geojson文件;每个多边形都有一个id。我还想使用一个csv文件,对geojson中的每个id进行测量。我的问题是:我是否必须先合并这些文件,然后才能在leaflet中使用它们,或者我可以在leaflet中单独使用csv中的数据?如果我必须首先合并它们,我如何合并这些文件并将多边形保留在结果中,因为如果我使用函数merge,结果将不是SpatialPlolygonsDataframe。

我的代码

代码语言:javascript
复制
library(viridis)
library(geojsonio)
library(leaflet)


setwd('H:/Mijn documenten/R')

Neighborhoods <- geojsonio::geojson_read("Buurten/BuurtGrHTB2017_2.geojson",
                                      what = "sp")

deData <- read.csv(file="Buurten/Gegevens.csv", header=TRUE, sep=";")

MapData <- merge(Neighborhoods,deData,by='BU_CODE')

pal <- colorNumeric("viridis", domain = NULL, reverse=TRUE)

leaflet(MapData) %>%
  addTiles() %>%
  addPolygons(stroke = FALSE, smoothFactor = 0.3, fillOpacity = 1, fillColor=~pal(ifelse(P_GEHUWD<0,NaN,P_GEHUWD))) %>%
  addLegend(pal = pal, values = ~(ifelse(P_GEHUWD<0,NaN,P_GEHUWD)), title="Aantal Inwoners", opacity = 1.0)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-17 20:13:34

我推荐使用sf-package。它是R中最新一代的空间数据操作,更易于处理。

代码语言:javascript
复制
library(sf)
library(tidyverse)
library(geojsonsf)


Neighborhoods  <- geojson_sf('H:/Mijn documenten/R/Buurten/BuurtGrHTB2017_2.geojson')


deData <- read.csv(file='H:/Mijn documenten/R/Buurten/Gegevens.csv', header=TRUE, sep=";")

inner_join(Neighbourhoods, deData, by = 'BU_CODE') -> MapData 

或不使用dplyr

代码语言:javascript
复制
MapData <- merge(Neighbourhoods, deData, by = 'BU_CODE')

在此基础上,您可以使用leaflet执行任何操作

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55725430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档