大家知道,R语言的软件包都是各领域专家贡献而来,通过一个统一的开放的语言环境神奇地组装到了一起,然后开始产生化学反应,为大数据分析立下汗马功劳。
R中已经有一个Spatial软件包。通过library(sp)即可加载,如果提示没有安装,使用install.packages("sp")进行安装即可,安装过程中需要选择一个软件分发站的镜像。
然后使用getClass("Spatial")即可查看类的信息。返回信息如下:
> getClass("Spatial") Class "Spatial" [package "sp"] Slots: Name: bbox proj4string Class: matrix CRS Known Subclasses: Class "SpatialPoints", directly Class "SpatialGrid", directly Class "SpatialLines", directly Class "SpatialPolygons", directly Class "SpatialPointsDataFrame", by class "SpatialPoints", distance 2 Class "SpatialPixels", by class "SpatialPoints", distance 2 Class "SpatialGridDataFrame", by class "SpatialGrid", distance 2 Class "SpatialLinesDataFrame", by class "SpatialLines", distance 2 Class "SpatialPixelsDataFrame", by class "SpatialPoints", distance 3 Class "SpatialPolygonsDataFrame", by class "SpatialPolygons", distance 2
通过getClass("CRS")返回投影系统的值。
sp包中已经定义了几种数据类型。包括SpatialPoints,可以转为data.frame对象给其它模块使用;以及SpatialLines对象,Spatialpolygons对象,SpatialpolygonsDataFrame对象,多边形可以区分为是岛还是洞,以适应复杂的多边形;还包括SpatialGrid和SpatialPixel对象,用于网格分析和影像分析。
除sp之外,还可以使用maptools包,通过library("maptools")引入库。GDAL也可以在R中使用,进行数据转换的操作,通过library("rgdal")引入库。
分析的结果可以通过spplot显示出来,并输出为图形图像格式到其他地方使用。
R与其它GIS软件的联合使用,可以通过数据文件交换的方式。目前的商业GIS软件对R的支持都比较弱,而且R定位于数据分析,就不要动联合集成之类的心思了,R并不是设计为工程系统提供应用支撑的。用其所长乃智慧。
时间: 2024-10-27 07:19:51