R语言 您所在的位置:网站首页 绘制一张美食地图三年级 R语言

R语言

2024-06-30 05:37| 来源: 网络整理| 查看: 265

R中的画地图的思路有三种,一种是利用包里GIS方面的数据,在R中直接画出来,第二种是从其他地方拿到数据,在R中通过某些包解析后再展现成,第三种就是直接把别人的图拿过来,自己再添加或去掉自己需要或不需要的东西。这三种方法只是数据来源不同,具体的画图以及美化方法无异。 第一种,最早应该是从maps包开始的,将地图数据封装在包里,这个包里应该用map函数为主,美中不足的是包里面的数据是在是太少了,连张中国地图都画不全,好在后来有了mapdata等一系列的包,CRAN上maps包后面那一串全是,情况有所好转,具体的内容看一下帮助文档就可以了。 可是问题又来了,R包里的数据总是不够用的,而且R包更新的速度远远赶不上开发商的脚步,这个时候就可以考虑第二种思路,自己下载实时的地图数据信息,可以在世界各国的地理信息系统里下载最官方的地图数据,然后通过包调用这些下载到本地的数据;或者更简单些,规规矩矩的做个伸手党,那么就是第三种思路,通过某些包直接引用百度或谷歌地图的地图数据,光明正大的白嫖。

地理信息数据毕竟是一门专业的领域,我们使用的时候不需知其所以然,但至少要知其然。下载的地图数据一般有三个文件:.dbf,.shp,.shx。这三个文件即可以映射出一幅地图。ESRI Shapefile(shp),或简称shapefile,是美国环境系统研究所公司(ESRI)开发的一种空间数据开放格式,是一种文件存储的方法,实际上该种文件格式是由多个文件组成的。这种文件方法用于描述几何体对象:点,折线与多边形。例如,Shapefile文件可以存储井、河流、湖泊等空间对象的几何位置。除了几何位置,shp文件也可以存储这些空间对象的属性,例如一条河流的名字,一个城市的温度等等。目前,许多自由的程序或商业的程序都可以读取Shapefile。要组成一个Shapefile,有三个文件是必不可少的,它们分别是".shp", ".shx"与 ".dbf"文件。表示同一数据的一组文件其文件名前缀应该相同。例如,存储一个关于湖的几何与属性数据,就必须有lake.shp,lake.shx与lake.dbf三个文件。而其中“真正”的Shapefile的后缀为shp,然而仅有这个文件数据是不完整的,必须要把其他两个附带上才能构成一组完整的地理数据。除了这三个必须的文件以外,还有八个可选的文件,使用它们可以增强空间数据的表达能力。具体哪几个、怎么命名、文件里面是什么就无需再深究,只需要知道有一种数据格式叫Shapefile,我们绘制地图就是要找这种数据。 接下来就按照这三种思路一步步走,不求美观,先求能画出来图。

一、包自带地图数据绘制(maps包使用) 1、世界地图

有一些R包中存储着常见地图的数据,比如maps包中存有世界地图、美国地图、美国各州郡地图、法国地图以及加拿大城市地图等,加载了这个包,就可以轻松愉快地绘制世界地图。

library(maps) map("world", fill = TRUE, col = rainbow(200), ylim = c(-60, 90), mar = c(0, 0, 0, 0)) title("世界地图")

上图参数解释:‘fill=’是否填充各个地区颜色,‘col=’为填充或边界的颜色,‘ylim=’为所取地图上下长度,‘mar=’是图片边界宽度,具体参数可参考:“?map()”

2、中国地图的绘制

加载maps和mapdata包,使用包中中国地图的数据直接作图

map('china')

但数据比较老了(重庆仍然在四川省内),获取比较新的,下载中国GIS数据(http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip),解压到自己R的工作空间(“getwd()”和“setwd()”可查看和设置工作空间),然后下载maptools包:install.packages(“maptools”),加载到R的工作空间:library(maptools),然后绘制地图(这个属于接下来第二部分手动下载地图数据绘制,奈何包中数据过于古老,涉及地理问题不太好展示,为了逻辑完整,只能投机取巧先糊弄过去,可忽略不看):

x


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有