使用“st_write”标记kml功能`

使用“st_write”标记kml功能`,r,label,kml,sf,R,Label,Kml,Sf,我想将一个sf对象导出为一个.kml文件,其中包含我感兴趣的每个功能的标签,这样我就可以在Google Earth中轻松查看数据。我知道你可以点击谷歌地球上的“信息”按钮,但对于数百个多边形来说,这并不理想 例如,我想使用列名标记下面的每个多边形特征。如何修改下面的st_write调用来标记kml多边形,以便它们出现在Google Earth的侧栏目录中 library(sf) library(dplyr) # sf includes this dataset county_polygons

我想将一个sf对象导出为一个.kml文件,其中包含我感兴趣的每个功能的标签,这样我就可以在Google Earth中轻松查看数据。我知道你可以点击谷歌地球上的“信息”按钮,但对于数百个多边形来说,这并不理想

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

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")
以下图片显示了作为kml文件导入时Google Earth中缺少标签的情况:


考虑一下这段代码,使用一个不同的数据集,尽管也是众所周知和深受喜爱的数据集—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的KML导出功能构建的,该功能可在Google Earth中单击,默认为名为Description的sf列


如果您想在侧边栏中显示该功能的名称,可以在上面的代码中将“描述”替换为“名称”。

Hi,请检查此软件包:。我以前成功地使用过它,贴上标签并创建时间线。KML驱动程序无法标记多边形,您需要计算质心,然后将标签放置在点上Hanks@aldo_tapia,我现在已经这样做了,作为权宜之计,希望随着sf的改进,会有一个一站式解决方案。。。问得太多了PI认为sf专注于空间数据库管理,而不是绘图环境之外的样式或标签。一个解决方案可以是从KML驱动程序添加一个layer_选项声明。我试过使用NAME和NameField,但没有成功,这肯定比我以前的好,但我仍然好奇如何让名字显示在侧边栏上!感谢普立万的更好示例-我将编辑我的问题以使用此数据集。对于侧栏,请在我的代码段中将描述替换为名称:是!!!!!现在,我难道不希望我昨天没有花时间为这件事找到解决办法……很高兴能为大家服务!:另外,我不知道你可以在选择中重命名。头脑=崩溃!