R 如何直接读取包含要素集合的geojson文件
我的问题是如何读取包含要素集合的geojson文件,以便将其传单。我看过joe的github,但他没有使用外部数据集,而是手动创建了geojson。我不知道是否R 如何直接读取包含要素集合的geojson文件,r,leaflet,shiny,R,Leaflet,Shiny,我的问题是如何读取包含要素集合的geojson文件,以便将其传单。我看过joe的github,但他没有使用外部数据集,而是手动创建了geojson。我不知道是否 可以直接将geojson文件读入传单吗 如果没有,那么在shiny(Joe的文章中是multi polygon)中,功能集合的结构是什么样子的?如何以更快更简单的方式创建它 对于问题1,参考,您可以直接提供geojson字符串,而不是示例中的列表 所提供的示例也提到了它 您还可以使用GeoJSON字符串值而不是结构化字符串 像这样的Ge
对于问题1,参考,您可以直接提供geojson字符串,而不是示例中的列表 所提供的示例也提到了它 您还可以使用GeoJSON字符串值而不是结构化字符串 像这样的GeoJSON对象 您可以使用来读取GeoJSON文件
对于问题2,问题1没有问题。您可能希望能够在
R-shinny
和R
中直接操作GeoJSON文件,而不是读取静态文件
如前所述,您可以将包含GeoJSON的字符串馈送到传单
,例如此GeoJSON特性集合:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {"party": "Republican"},
"id": "North Dakota",
"geometry": {
"type": "Polygon",
"coordinates": [[
[-104.05, 48.99],
[-97.22, 48.98],
[-96.58, 45.94],
[-104.03, 45.94],
[-104.05, 48.99]
]]
}
},
{
"type": "Feature",
"properties": {"party": "Democrat"},
"id": "Colorado",
"geometry": {
"type": "Polygon",
"coordinates": [[
[-109.05, 41.00],
[-102.06, 40.99],
[-102.03, 36.99],
[-109.04, 36.99],
[-109.05, 41.00]
]]
}
}
]
}
然后,您可以使用RJSONIO::fromJSON
以示例中提供的格式读取此对象,并在R
中对其进行如下操作(注意:似乎您必须在读取GeoJSON文件后添加样式,而不是读取已经具有样式的GeoJSON FeatureCollection文件):
有帮助吗?
geojson <- RJSONIO::fromJSON(fileLocation)
geojson[[2]][[1]]$properties$style <- list(color = "red",fillColor = "red")
geojson[[2]][[2]]$properties$style <- list(color = "blue",fillColor = "blue")
geojson$style <- list(weight = 5,stroke = "true",fill = "true",opacity = 1,fillOpacity = 0.4)
geojson <- list(
type = "FeatureCollection",
features = list(
list(
type = "Feature",
geometry = list(type = "MultiPolygon",
coordinates = list(
list(
list(
c(-109.05, 41.00),
c(-102.06, 40.99),
c(-102.03, 36.99),
c(-109.04, 36.99),
c(-109.05, 41.00)
)
)
)
),
properties = list(
party = "Democrat",
style = list(
fillColor = "blue",
color = "blue"
)
),
id = "Colorado"
),
list(
type = "Feature",
geometry = list(type = "MultiPolygon",
coordinates = list(
list(
list(
c(-104.05, 48.99),
c(-97.22, 48.98),
c(-96.58, 45.94),
c(-104.03, 45.94),
c(-104.05, 48.99)
)
)
)
),
properties = list(
party = "Republican",
style = list(
fillColor = "red",
color = "red"
)
),
id = "North Dakota"
)
),
style = list(
weight = 5,
stroke = "true",
fill = "true",
fillOpacity = 0.4
opacity = 1
))