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

视频截图例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

总所周知,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的安装很easy,直接下载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之后,解压到你能够找到的位置。就能够进行安装了:

解压之后,目录的结构例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

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

打开之后。一共同拥有四个工具,各自是安装R语言与ArcGIS的桥接包、显示R语言的版本号、检查工具安装情况,和更新工具。假设是第一次安装,仅仅须要依次运行前三个就可以。

点击Install Rbindings工具,弹出例如以下窗口:

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

安装脚本执行界面例如以下,从控制台打印出来的信息能够看到。脚本事实上就是去github上,下载了一个Esri提供的,与R进行交互的zip包,这个包通常是用C++写的。下载完毕之后,会自己主动解压和安装。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

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

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

1、输出R的版本号:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

假设版本号不正确,控制台会输出错误和警告的,成功就表示没问题。

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中使用,以后有机会我们再说。

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

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

    结合实际的工作环境,在开始R研究的时候,首先着手收集的就是能以Web方式发布R运行结果的基础框架,无耐的是,R一直以来常使用于个人电脑的客户端程序上,大家习惯性的下载R安装包,在自己的电脑上安装 -- ...

  2. ArcGIS 10.6 安装破解教程

    ​​美国时间2018年1月17日,ArcGIS 10.6正式面向用户发布!10.6带来更完善的产品体系框架,同时全面拥抱前沿IT技术,升级平台大数据.三维.影像等核心能力,为我们打造了一个功能强大,性 ...

  3. Deepin下phpunit安装,以及执行过程中所遇到的问题

    Deepin下phpunit安装,以及执行过程中所遇到的问题 安装phpunit步骤 wget https://phar.phpunit.de/phpunit.phar chmod +x phpuni ...

  4. ArcGIS 10.3 安装及破解

    系统环境:win7 64位操作系统. 一.ArcGIS 10.3包简介 ArcGIS 10.3 下载包含 1.  ArcGIS for Desktop ArcGIS for Desktop简介: Ar ...

  5. arcgis 10.2 安装教程

    arcgis 10.2 安装教程(含下载地址)_百度经验 http://jingyan.baidu.com/article/fc07f98911b66912ffe5199b.html arcgis 1 ...

  6. Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案

    原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...

  7. Hadoop-2.4.0安装和wordcount执行验证

    Hadoop-2.4.0安装和wordcount执行验证 下面描写叙述了64位centos6.5机器下,安装32位hadoop-2.4.0,并通过执行 系统自带的WordCount样例来验证服务正确性 ...

  8. linux使用npm成功安装命令后,执行时却报找不到命令的问题

    # 使用npm安装serve命令 ~$ npm install serve --global 安装成功 # 可是执行命令会报错 ~$ serve -v bash: serve: command not ...

  9. 安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法

    安装oracle11g [INS-30131] 执行安装程序验证所需的初始设置失败. 解决方法 第一步:控制面板>所有控制面板项>管理工具>服务>SERVER 启动 TCP/I ...

随机推荐

  1. 在Centos 7中使用 Docker搭建MySQL异地双向复制环境

    (0)一些准备操作: Centos安装好之后(这里使用的是vm虚拟机) 将当前用户添加到sudoers中: su root vim /etc/sudoers 找到 root ALL=(ALL) ALL ...

  2. 深入NIO Socket实现机制(转)

    http://www.jianshu.com/p/0d497fe5484a# 前言 Java NIO 由以下几个核心部分组成: Buffer Channel Selector 以前基于net包进行so ...

  3. [Typescript] Improve Readability with TypeScript Numeric Separators when working with Large Numbers

    When looking at large numbers in code (such as 1800000) it’s oftentimes difficult for the human eye ...

  4. window onload 与 img onload事件

    window onload 与 img onload事件 通常,window.onload就是载入完dom之后运行的. 而img就是载入完图片完运行它的onload事件.依据img的src是否载入完毕 ...

  5. Python学习笔记(三)多线程的使用

    这节记录学习多线程的心得.   Python提供了thread模块,不过该模块的缺点很多,例如无法方便的等待线程结束,所以我们使用更加高级的threading模块.   threading模块的使用一 ...

  6. 游戏AI的综合设计

    原地址:http://www.cnblogs.com/cocoaleaves/archive/2009/03/23/1419346.html 学校的MSTC要出杂志,第一期做游戏专题,我写了一下AI, ...

  7. 微信小程序bindtap和catchtap区别

    bindtap可以产生冒泡事件 catchtap只自身触发事件,不会传递到父视图         文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing 欢迎关注 ...

  8. lodash camelCase 驼峰写法

    _.camelCase([string='']) 转换字符串为 驼峰写法 _.camelCase('Foo Bar'); // => 'fooBar' _.camelCase('--foo-ba ...

  9. Eclipse 安装应用SVN地址

    SVN插件下载地址及更新地址,你根据需要选择你需要的版本.现在最新是1.8.xLinks for 1.8.x Release:Eclipse update site URL: http://subcl ...

  10. MYSQL版查询分页存储过程

    /*--名称:MYSQL版查询分页存储过程 --输入参数:@fields -- 要查询的字段用逗号隔开--输入参数:@tables -- 要查询的表--输入参数:@where -- 查询条件--输入参 ...