Я создаю рабочий процесс для чтения файлов KML с несколькими геометрическими объектами в R. Это моя рабочая карта, с точечной и траекторной геометрией. (Воспроизводимый) сценарий R:
library(rgdal)
setwd( {SPECIFY A FOLDER} )
download.file("http://www.scribblemaps.com/maps/kml/shackleton.kml", "file.kml")
(lyr = ogrListLayers("file.kml"))
map = readOGR ("file.kml", layer=lyr, verbose = TRUE, drop_unsupported_fields=T, dropNULLGeometries=T)
который терпит неудачу с:
Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv) :
Cannot open layer
Любые идеи, как обойти это?
Мне удалось получить данные о пути, создав новый KML только с записью пути: в Google Планета Земля щелкните запись пути в списке объектов kml, выберите «копировать», вставьте в текстовый редактор и сохраните как KML. Это открывается в R с:
(lyr = ogrListLayers("path.kml"))
pathkml = readOGR ("path.kml", layer=lyr, verbose = TRUE, drop_unsupported_fields=T, dropNULLGeometries=T)
coordinates(pathkml)
Но я не разработал рабочий процесс для точечных данных, который включает метки точек и аннотации. Предпочтительным решением было бы чтение исходного KML и устранение необходимости в Google Планета Земля, но, конечно, все, что работает. Очень благодарен за помощь.
Приложение:
Сейчас я смотрю на использование XML для анализа этого. Данные кажутся структурированными в тегах. Я должен:
require(XML)
d = xmlParse("shackleton.kml")
doc = xpathSApply(d, "//Placemark")
но это, кажется, не дает ничего полезного.
Multiple incompatible geometries: 1:2
. Кроме того, во втором предложении на странице справки говорится: он может обрабатывать только слои с соответствующими геометрическими элементами. - person IRTFM   schedule 21.10.2013