从实例看RgoogleMaps包的使用

写在前面

RgoogleMaps是SenseNetworks公司的Markus Loecher于2009年5月开始编写的一个R包. 此包的用途是把已有坐标数据作为一个个点自动打到从Google Maps上抓取的卫星地图上,好处是省去了人工计算抓取图片的参数和手动抓取、手动调整、打点的麻烦. 换句话说,现在我们只要在R中准备好经纬度数据再调用几个简单的函数就能画出一张 ( 至少从表面上看 ) 比较漂亮的图了 ( 其实也没这么简单 ).

话说敝人有去GIS选修课上睡过几次,奈何所学未有涉及地理专业,叙述方面难免缺失,只要大家能看懂就好了.  :smile:

准备工作

下载安装或读入以下R包:

sp

RgoogleMaps

rgdal (若需生成PNG格式图片)

ReadImages(若需生成JPEG格式图片,还要安装 libjpeg)

接着,前往以下网址申请一个Google Maps的API key. 至于API是什么,我想就不用解释了,不知道的童鞋可以去Google上百度一下.

http://code.google.com/apis/maps/signup.html

Sign_Up_for_Goole_Maps_API图1: Google Maps API 申请页面

阅毕许可协议,勾选 I have read and agree with the terms and conditions 即可获得一个Google Maps的API key. 将此API key(一长串的数字字母符号混合物)写入一个文本文档,保存为:

X:Documents and Settings你的用户名My Documents/API.key.txt

继续阅读

《最近一周中国及周边版图地震情况》之卫星地图版与动画实现

依稀记得09年的R会议北京会场上,来自中国地质环境监测院的刘永生老师曾经讲到一句R与Google Earth的结合,当时俺就震惊了,很好很强大,例如这张图就把自己的图层直接Overlay到了Google Earth中,俺猜可能是用R生成了KML文件吧:

R_and_Google_Earth

图1: R与Google Earth

以俺的代码能力现在是写不出这样的程序了 .. 但是俺的脑海中蹦出了一个个小问号:如果要求降低一点,抓取Google的卫星图片,再往上Overlay可视化的数据,怎么计算抓取图片的参数?如果要在抓来的卫星图片上打点,又如何把点与图上的位置正确地对应?这些问题让俺困惑了好久。

前一阵子,在遥远的贝吉塔行星上,又出现了这样一篇博文:

http://www.bjt.name/2010/01/chinese-earthquake-visualization/

里面有一张图,描绘了2009年1月20日至1月25日中国及周边版图的地震情况:

图2: 最近7天中国及周边版图的地震情况

继续阅读