研究了一下数据结构:
更新之后的maptools读入bou2_4p.shp之后,形成一个SpatialPolygonsDataFrame对象 (class(x)).这个对象有"data","polygons" , "plotOrder","bbox","proj4string"五个slot组成(slotNames(x)),如果想提取每个slot的数据可以通过x@slotname, slot(x,”slotname”)获得。
每个slot中包含不同的内容
data: 是一个data.frame, 包含925行,7列数据("AREA" ,"PERIMETER" "BOU2_4M_", "BOU2_4M_ID", "ADCODE93", "ADCODE99" , "NAME"),而最重要的各个省市的名称就在NAME这一列中。
plotOrder,是一个长度925的vector
bbox是一个2x2的矩阵,包含x,y值的最大和最小值
proj4string 在该数据情况下没有值(NA)
polygons: 它的情况比较复杂,本身是一个list, 长度925, 其中每个元素又为一个polygons对象,又有几层结构:
$ :Formal class 'Polygons' [package "sp"] with 5 slots
.. ..@ Polygons :List of 1
.. .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots
.. .. .. .. ..@ labpt : num [1:2] 114.3 22.2
.. .. .. .. ..@ area : num 8.6e-06
.. .. .. .. ..@ hole : logi FALSE
.. .. .. .. ..@ ringDir: int 1
.. .. .. .. ..@ coords : num [1:9, 1:2] 114 114 114 114 114 ...
.. ..@ plotOrder: int 1
.. ..@ labpt : num [1:2] 114.3 22.2
.. ..@ ID : chr "924"
.. ..@ area : num 8.6e-06
具体内容还没有彻底弄明白!
现在这个数据的主要局限是没有办法在英文系统下使用,或者没有办法以各个省的拼音名称进行索引和赋值。所以我想 把NAME 部分的中文名称改为拼音(这个不难实现),之后不知道有谁知道如何把修改后的数据输出保存到一个新的shp文件中?或者把这个修改后的SpatialPolygonsDataFrame对象直接保存为data, 然后就可以在英文系统上操作了!
请多帮忙!
ps:留言时候的那个认证太难了,失败了几次才成!!
更新之后的maptools读入bou2_4p.shp之后,形成一个SpatialPolygonsDataFrame对象 (class(x)).这个对象有"data","polygons" , "plotOrder","bbox","proj4string"五个slot组成(slotNames(x)),如果想提取每个slot的数据可以通过x@slotname, slot(x,”slotname”)获得。
每个slot中包含不同的内容
data: 是一个data.frame, 包含925行,7列数据("AREA" ,"PERIMETER" "BOU2_4M_", "BOU2_4M_ID", "ADCODE93", "ADCODE99" , "NAME"),而最重要的各个省市的名称就在NAME这一列中。
plotOrder,是一个长度925的vector
bbox是一个2x2的矩阵,包含x,y值的最大和最小值
proj4string 在该数据情况下没有值(NA)
polygons: 它的情况比较复杂,本身是一个list, 长度925, 其中每个元素又为一个polygons对象,又有几层结构:
$ :Formal class 'Polygons' [package "sp"] with 5 slots
.. ..@ Polygons :List of 1
.. .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots
.. .. .. .. ..@ labpt : num [1:2] 114.3 22.2
.. .. .. .. ..@ area : num 8.6e-06
.. .. .. .. ..@ hole : logi FALSE
.. .. .. .. ..@ ringDir: int 1
.. .. .. .. ..@ coords : num [1:9, 1:2] 114 114 114 114 114 ...
.. ..@ plotOrder: int 1
.. ..@ labpt : num [1:2] 114.3 22.2
.. ..@ ID : chr "924"
.. ..@ area : num 8.6e-06
具体内容还没有彻底弄明白!
现在这个数据的主要局限是没有办法在英文系统下使用,或者没有办法以各个省的拼音名称进行索引和赋值。所以我想 把NAME 部分的中文名称改为拼音(这个不难实现),之后不知道有谁知道如何把修改后的数据输出保存到一个新的shp文件中?或者把这个修改后的SpatialPolygonsDataFrame对象直接保存为data, 然后就可以在英文系统上操作了!
请多帮忙!
ps:留言时候的那个认证太难了,失败了几次才成!!