使用`st_write`标记kml特征

Nov*_*ova 3 label r kml r-sf

我想将sf对象导出为.kml文件,并带有我感兴趣的每个功能的标签,以便我可以在 Google 地球中轻松查看数据。我知道您可以点击 Google 地球中的“信息”按钮,但是对于数百个多边形来说,这并不理想。

例如,我想使用 column 标记下面的每个多边形特征NAME。如何修改st_write下面的调用以标记 kml 多边形,以便它们出现在 Google 地球的侧边栏目录中?

library(sf)
library(dplyr)

# sf includes this dataset
county_polygons <- st_read(system.file("shape/nc.shp", package="sf")) %>% 
st_transform(4326)


st_write(county_polygons , "test.kml", driver = "kml")
Run Code Online (Sandbox Code Playgroud)

这是一张图片,显示了将其作为 kml 文件导入时 Google 地球中缺少标签的情况:

没有标签的多边形

Jin*_*cko 5

考虑这个代码,使用一个不同的,虽然也是众所周知且广受欢迎的数据集 - 北卡罗来纳州的多边形来自ns.shp{sf} 包:

library(sf)
library(dplyr)


# dataset included with sf package
county_polygons <- st_read(system.file("shape/nc.shp", package="sf")) %>% 
  st_transform(4326) %>% # just because wgs84...
  select(Description = NAME) # see https://gdal.org/drivers/vector/kml.html#creation-options

st_write(county_polygons, "test.kml", driver = "kml", delete_dsn = TRUE)
Run Code Online (Sandbox Code Playgroud)

它是围绕DescriptionField(可在Google Earth 中点击)的KML 导出功能构建的,默认为名为Description 的sf 列。

在此处输入图片说明

如果您在侧边栏想要的功能的名称,而不是,你可以替换词DescriptionName在上面的代码。