使用“st_write”标记 kml 特征

Label kml features using `st_write`

我想将 sf 对象导出为 .kml 文件,其中包含我感兴趣的每个功能的标签,以便我可以在 Google 中轻松查看数据地球。我知道您可以在 Google Earth 中单击 "info" 按钮,但是对于数百个多边形,这并不理想。

例如,我想使用列 NAME 来标记下面的每个多边形要素。我如何修改下面的 st_write 调用以标记 kml 多边形,以便它们出现在 Google 地球内容的侧边栏 table 中?

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")

这是一张显示 Google 地球在导入为 kml 文件时缺少标签的图片:

考虑此代码,使用不同但也广为人知且广受欢迎的数据集 - 来自 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)

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

如果您想在边栏中显示该功能的名称,您可以将上面代码中的单词 Description 替换为 Name