R-ArcGIS探秘(1)安装以及Sample运行

在今年的全球用户大会上,Esri官方公布了R-ArcGIS的官方示例,在ArcMap和ArcGIS
pro中,直接通过Toolbox可以调用R的分析工具包,将R的分析能力直接作用在ArcGIS上面。打通了两大工具之间的壁垒,不能不说,是分析界的一大盛事啊。

视频截图如下:

总所周知,R在数据分析领域的地位,犹如JAVA在编程语言领域的地位,简直就占据了开源软件的头把交椅,据统计,R的公开分析包,已经超过了6000个,至于其他的小范围的专用分析包,更是多不胜数。Esri能够打通R与ArcGIS之间的通道,不得不让人对Esri未来的战略有了各种遐想。

至于R语言和ArcGIS未来的发展,以后有机会慢慢说,今天我们来看看,这个神器的物体,到底是神马神器。

前提条件:你的ArcGIS
的版本必须是10.3.1以及以上的版本。

首先,R-ArcGIS是Esri弄出来的一个开源软件,目前全部的东西都在github上,地址如下:

https://r-arcgis.github.io/

打开之后,发现了这这样一个界面,从官方的说明来看,一共有两大内容:

1、在ArcGIS(toolbox)中调用R语言的分析包。

2、在R语言中调用ArcGIS的工具。

要完成这个功能,首先简单的描述一下他们的沟通机制是怎么样的。

ArcGIS的toolbox提供了一个封装的环境,可以把符合规范的脚本,直接封装成在toolbox中直接执行的工具,最常见的可能是封装Python的脚本了,比如下面的工具,就是直接封装的Python脚本:

这里要对python脚本进行封装,也是有规则的,需要按照ArcGIS给定的编写方法,进行输入输出的交互,具体的Python交互方法,可以参考ArcGIS的帮助文档,我这里就不赘述了。

那么R语言的代码,也是一种脚本,按照Toolbox可以封装Python脚本的规则,R语言的脚本,依然可以被封装到Toolbox里面,变成一个工具来执行,和Python脚本一样,只需要安装ArcGIS定义好的输入和输出规则,就可以直接在ArcGIS里面调用R语言的工具了。如下图:直接把R语言的脚本,封装到了ArcToolbox中。

封装和编写工具,以后有机会慢慢聊,今天我们先来看看如何安装这一套环境。

首先,ArcGIS还没有把R环境像Python一样集成到ArcGIS的安装包里面(当然,如果按这种趋势下去,我觉得未来总有一天会被集成的)。所以,要使用这一套东西,需要自己安装R语言环境。

R的安装非常容易,直接下载R语言的安装包就可以了,然后全部都是下一步,而且R语言作为开源软件,不存在许可授权的情况,网络上各种安装教程,不做罗嗦。

贴一个R语言的下载地址,官方网址:https://www.r-project.org/

安装的时候注意,如果你的电脑是64位的,最好选择64位的安装,因为64位的安装包里面,包括了32位的,但是32位的不包括64位,所以,你只需要按照64位的,就等于全部可用了。ArcMap使用的是32位的R,所以你也可以选择只安装32位的,但是我个人建议,是32位和64位都装上。

另外,Esri官方建议,需要用刀R的3.1.0以上版本,只要你去官网上下载最新,自然就不会用问题。

把R安装好之后,可以打开测试一下R语言是否正常运行,一般来说,都R语言环境会提供两个GUI工具,如下:(当然,
我这里是3.2.0,你安装的版本可能比我高,这里对版本可以忽略,只要超过3.1.0就可以了)

一个用于启动32位的R环境,一个用于启动64位的R环境,因为我们在ArcMap里面使用的是32位的,所以双击启动R
i386这个工具即可。下面可以来个经典程序“hello world”。

R安装完成之后,就可以按照R-ArcGIS了,回过头来看R-ArcGIS的主页,整个R-ArcGIS提供了三个东西,一个是r-bridge-install,一个是r-bridge,一个是r-sample-tools。

第一个,r-bridge-install就是用于安装R-ArcGIS的工具,这个工具用Python写成,可以直接在ArcGIS里面调用(从这里看出Esri软件开发团队的代码水平大有进步啊,直接提供安装脚本了!)

点击下载zip之后,解压到你可以找到的位置,就可以进行安装了:

解压之后,文件夹的结构如下:

其中,pyt这个包,就是ArcGIS的Python专用脚本包,在ArcMap中直接打开,如下:

打开之后,一共有四个工具,分别是安装R语言与ArcGIS的桥接包、显示R语言的版本、检查工具安装情况,和更新工具。如果是第一次安装,只需要依次执行前三个即可。

点击Install Rbindings工具,弹出如下窗体:

如果是你以前安装过以前的版本,可以选择勾上里面的这个勾,那么会进行覆盖安装,第一次安装就什么都不用选,直接点OK就行。再次提醒,ArcGIS的版本,必须是10.3.1及以上,当然,现在最新版本就是10.3.1,以后有更高的版本,就不用说了。

安装脚本运行界面如下,从控制台打印出来的信息可以看到,脚本其实就是去github上,下载了一个Esri提供的,与R进行交互的zip包,这个包一般是用C++写的,下载完成之后,会自动解压和安装。

下载这个包和安装的速度,取决于你的网络(也取决于当地连接github的网络质量,你懂的)。

提示成功之后,运行一下两个工具,来检查一下是否成功:

1、输出R的版本:

如果版本不对,控制台会输出错误和警告的,成功就表示没问题。

2、检查桥接工具是否安装成功:

同样,如果不报错,就表示成功了。

然后,我们可以切回到R语言的环境里面,来看看ArcGIS的包是否在R的环境中可用。

在R语言环境中输入如下语句:

library(arcgisbinding)

arc.check_product()

第一句是在R语言环境中加载ArcGIS的桥接包,第二句是检查ArcGIS的许可,显示如下:

如果不报错,测试就全部完成,然后我们可以运行官方提供的一个sample来测试一下

下载r-sample-tools,(就在主页上,不截图了,自己找),然后解压,得到如下文件结构:

因为我们要再ArcMap里面进行测试,所以双击打开ModelBasedClustering.mxd就可以了,因为Esri官方在这个文档里面加入了好几个online的服务,所以在本地打开,如果没有网络的话,会很慢加报找不到图层,不过不影响,你把引用的网络服务关就可以了,如下:

打开R SampleTools.tbx,然后运行脚本工具:

前面两个是必选的,第一个是用于聚类的点图层,第二个是输出结果图层,后面三个是可选图层,执行工具:

这个工具调用的是R语言里面的sp包(空间分析工具包)和mclust包(聚类包),所以,如果你是第一次运行这个工具的话,脚本会自动去网上将这个两个包下载并且安装到你的R环境中去。下载安装的速度,视网络情况而定。

安装完成之后,R语言就会执行聚类和空间分析操作,最后得到的结果如下:

控制台输出:

其中那个乱码,是中文提示,下载的两个包是R的3.2.1制作的,我的版本比这个版本老一点,不用管。

后面是一系列分析结论。

分析完成之后,因为是空间分析,所以结果会自动的添加到ArcMap的显示窗中,如下:

至此,安装完成,分析完成,至于分析的结论如何阶段,可以参考你的sample中的文档。

关于如何在开发自己的R脚本在ArcGIS中使用,以后有机会我们再说。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-11 20:38:30

R-ArcGIS探秘(1)安装以及Sample运行的相关文章

Ubuntu下安装 Ruby, Rails 运行环境

说明: 在安装之前我做了:1.更新软件源,详细指导在这里: 2.更新系统:sudo apt-get update && sudo apt-get upgrade; 3.安装fcitx,安装sogou输入法: 4.打字不方便,禁用触摸板:sh TouchPad.sh off 接着就开始安装了!这里说明一下,后面的可能有几步可能是多余的,怕出错,就没有说去更正简化. 参考资料来自:边晓宇@CSDN 和 ruby-china.org如何快速正确的安装 Ruby, Rails 运行环境 操作系统U

mac快速正确的安装 Ruby, Rails 运行环境

Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ...) 强烈新手使用 Ubuntu 省掉不必要的麻烦! 以下代码区域,带有 $ 打头的表示需要在控制台(终端)下面执行(不包括 $ 符号) 步骤0 - 安装系统需要的包# For Mac # 先安装 [Xcode](http://developer.apple.com/xcode/) 开发工具,它将帮你安装好 Unix 环境需要的开发包 # 然后安装 [Homebrew](http:

R(三): R包原理及安装

包(package)是多个函数的集合,常作为分享代码的基本单元,代码封装成包可以方便其他用户使用.越来越多的R包正在由世界上不同的人所创建并分发,这些分发的R包,可以从CRAN 或 github 上获取,由于向 CRAN 提交包审核非常严格,有些开发者并没有将自己开发的R包提至CRAN的意向,通过 devtools 可以轻松从 github上下载安装.包的生命周期一般会经历 source.bundled.binary.installed和in-memory五个阶段.参考资料 (http://r-

如何快速正确的安装 Ruby, Rails 运行环境

对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境. 次安装方法同样适用于产品环境! 系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用: Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ...) 强烈新手使用 Ubuntu 省掉不必要的麻烦! 以下代码区域,带有 $ 打头的表示需要在控制台(

ArcGIS 10.2安装及卸载教程

卸载 在控制面板中找到程序->卸载程序 找到ArcGIS的相关软件 这里以ArcGIS 10.2 Destop为例,选中,然后点击卸载,会出现如下界面 选择Remove,然后根据提示进行操作,即可完成ArcGIS 10.2 for Destop的卸载操作,之后卸载其他ArcGIS软件即可. ArcGIS 10.2的安装 在安装包的根目录下找到安装程序,点击运行 安装ArcGIS for Desktop和ArcGIS License Manager 安装ArcGIS for Desktop 点击上

R(二): http与R脚本通讯环境安装

结合实际的工作环境,在开始R研究的时候,首先着手收集的就是能以Web方式发布R运行结果的基础框架,无耐的是,R一直以来常使用于个人电脑的客户端程序上,大家习惯性的下载R安装包,在自己的电脑上安装 --> 写算法 --> 运行 --> 以贴图或者文档的形式发表自己的作品.幸运的最终找着了一套这样的框架FastRWeb (Fast Interactive Web Framework for Data Mining Using R),参考 (http://www.rforge.net/Fast

在linux下安装eclipse以及运行c++程序的安装步骤

1.       下载jre,eclipse,cdt 其中jre是java运行环境,eclipse需要先装jre,才可能运行,cdt是在eclipse中运行c\c++程序的插件. 下载jre 网址是:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击JRE下载(如下图) 选择"Aceept License Argeement" (如上图) 点击"jre-7u21-linux-i586.bi

R语言中动态安装库

R语言中动态安装库 在一个R脚本中,我们使用了某些library,但是发现运行环境中没有这个library,如果能检测一下有没有这个包,没有就自动安装该多好.而R中非常方便地支持这些,只要联网. 代码如下: site<-"http://cran.r-project.org" if (!require("ggplot2")) { install.package("ggplot2", repos=site) }

LINUX安装32位运行库【LINUX配置YUM源的几种办法】

前言:本帖仅适用于RedHat.CentOS的64位系统 很多时候我们需要用linux运行或测试程序,然而我们发现64位linux系统在检测32位程序的动态链接库文件时(也就是ldd一个so文件)会报错: 不是动态可执行文件[或英文提示:not a dynamic executable file] 这是因为系统没有安装32位兼容库的缘故,我们分两大方法解决这个问题→有网络/无网络 一.当前使用linux系统已连接网络情况下,可进行在线安装 yum在线安装:sudo yum install xul