我正尝试使用readOGR
函数从包装rgdal
将英格兰的CCG边界(Available here, 200Kb)的KML映射导入到R中。我的最终目标是通过根据一些关联值着色CCG来创建热图。在一个数据框中,我有一个包含CCG名称旁边的值的列表。我需要将该数据框中的CCG名称与导入的地图对象中的CCG名称相匹配,并根据该值分配颜色。但是,我看不到地图对象中导入的任何CCG名称,尽管它们存在于KML文件中。这就是我在做的:readOGR(rgdal)无法从XML获取多边形名称
library(sp)
library(rgdal)
library(maps)
library(maptools)
假设KML文件在工作目录中。 清单层:
ogrListLayers("Clinical_Commissioning_Groups_April_2016_Ultra_Generalised_Clipped_Boundaries_in_England.KML")
读OGRGeoJSON
层:
ccg_boundaries <- ReadOGR("Clinical_Commissioning_Groups_April_2016_Ultra_Generalised_Clipped_Boundaries_in_England.KML","OGRGeoJSON")
řStudio显示有两个部分(右字?)中的对象。
polygons
,它包含每个多边形的数据,例如,对于第一种:
> [email protected][1]
[[1]]
An object of class "Polygons"
Slot "Polygons":
[[1]]
An object of class "Polygon"
Slot "labpt":
[1] -2.104671 54.040320
Slot "area":
[1] 0.168067
...
而且data
,两个变量(Name
和Description
),我会希望包含CCG的名字,但它是空:
> [email protected]
Name Description
0
1
2
3
4
5
但是,CCG名那里有KML文件,如果用Word编辑器打开,可以看到,例如第一个字母顺序是“NHS Airedale,Wharfedale和Craven”。
<PolyStyle><fill>0</fill></PolyStyle></Style>
<ExtendedData><SchemaData schemaUrl="#OGRGeoJSON">
<SimpleData name="objectid">1</SimpleData>
<SimpleData name="ccg16cd">E38000001</SimpleData>
<SimpleData name="ccg16nm">NHS Airedale, Wharfedale and Craven CCG</SimpleData>
是否有可以选择readOGR或其他选项来提取它们并包含在对象中?