Экспорт KML для использования на Картах Google. Вот код для экспорта (адаптировано из here):Экспорт таблицы данных в Карты Google KML в R
t_expkml_c <- function(obj, archivo,
col_nombre, col_desc, col_color,
mapa_colores = "mapa_colores_topaz",
mapa_nombre = "Mapa_TSE", mapa_desc = "Mapa Creado por PE de TSE") {
# - changes projection
if (proj4string(obj)!="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0") {
cat("Input SpatialPolygonsDataFrame ",obj," re-projected from ",
proj4string(obj)," to WGS84 longlat\n",sep="")
assign(obj,spTransform(obj,CRS(" +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0")))
} # check projection
# opens file
kmlFile <- file(archivo,
open = "w")
# goes through each polygon
# usa maptools::kmlPolygon
Xout <- sapply(slot(obj,
"polygons"),
function(x) {
maptools::kmlPolygon(x, # Object
name = as(obj, "data.frame")[slot(x, "ID"), col_nombre],
# name column
col = mapa_colores[as.numeric(as(obj, "data.frame")[slot(x, "ID"), col_color])],
# color column
lwd = 0.5, # stroke
border = NA, # borders
visibility = TRUE,
description = as(obj,"data.frame")[slot(x, "ID"), col_desc], #description (what I need to change)
)
}
)
# export polyon out
cat(kmlPolygon(kmlname=mapa_nombre,
kmldescription=mapa_desc)$header,
file = kmlFile, sep="\n")
# estilos
cat(unlist(Xout["style",]),
file = kmlFile, sep="\n")
# contenidos
cat(unlist(Xout["content",]),
file = kmlFile, sep="\n")
# footers
cat(kmlPolygon()$footer,
file = kmlFile, sep="\n")
close(kmlFile) # end
}
Это работает хорошо, когда у меня есть только один столбец из [email protected]
data.frame (объект класса SpatialPolygonsDataFrame
). Однако я хочу экспортировать большую таблицу данных, чтобы она отображалась в описании формы Google Maps.
Например, это одна колонка (исходный экспорт);
Если я хочу, чтобы добавить другие дескрипторы, изменить таблицу данных в Google Maps, как это:
Но я хочу повторить это поведение от первоначального экспорта в R. У меня есть попытался изменить параметр description
, чтобы добавить вектор имена столбцов или даже индексы имен столбцов (например, c("Column2", "Column3")
или 1:2
), и я попытался добавить HTML в столбец описания (который не работает при визуализации в таблице данных Google Maps в разных столбцах).
Как я могу это достичь?
Небольшое отступление: как вы используете таблицу на карте, чтобы заполнить информационное окно? (Я только что нажал функцию 'add_kml()' в [dev version] (https://github.com/SymbolixAU/googleway) моего пакета, который позволит вам построить KML на карте из R) – SymbolixAU
И ваша ссылка не работает – SymbolixAU