如何用R绘制地图

Python017

如何用R绘制地图,第1张

这里主要介绍下在R语言中绘制地图的个人琢磨的思路。绘制地图步骤有三:

你得需要绘制地图;(约等于废话)

你得有要绘制地图的地理信息,经纬度啊,边界啊等等;

你得利用2的数据在R中画出来。

以上步骤中,目前最关键的是2,一旦2的数据有了,在R中不就是把它们连起来嘛,这个对于R来说就是调戏它,就跟全民调戏小黄鸡一样。

R语言中绘制地图的思路也是由于2的获取方式不一样而分开的。

第一种思路:有一些R包中存储着常见地图的数据,比如maps包中存有世界地图、美国地图、美国各州郡地图、法国地图以及加拿大城市地图等,加载了这个包,就可以轻松愉快地绘制上述地图。mapdata包中存有中国地图的数据,但是比较旧了,这个数据,重庆还没有从四川分出来呢。

第二种思路:我先去一个地方所画图的地理数据,然后读入R进行绘制。比如由于mapdata中的中国地图比较久远了,谢老大的《终于搞定中国分省市地图》一文中就介绍了,先从国家基础地理信息中心中国各省市的地理数据,之后再绘制。后来肖凯老师又介绍googleVis包也可以按照这个思

现在已经有了这方面的资料:

台湾概况

简称台。总面积3.6万平方千米,其中台湾岛面积3.58万平方千米。人口22,790,250人(2006年)。

台湾位于祖国大陆架的东南缘。地处东经119°11′03〃(澎湖县望安乡花屿西端)至124°34′30〃(宜兰县赤尾屿东端),北纬21°45′25〃(屏东县恒春镇七星岩南端)至25°56′30〃(宜兰县黄尾屿北端)之间。北临东海,东北接琉球群岛;东滨太平洋;南界巴士海峡,与菲律宾相邻;西隔台湾海峡与大陆福建省相望,最近处仅130千米。台湾是中国一个由岛屿组成的海上省份。全省由台湾本岛和周围属岛以及澎湖列岛两大岛群,共80余个岛屿所组成。陆地总面积35989.7573平方千米。其中,台湾本岛南北长394千米,东西最宽处144千米,绕岛一周的海岸线长1139千米,面积35788.0908平方千米,约占全省面积的97%以上,是中国第一大岛。

行政区划

台湾本岛和澎湖共设7市、16县,其中台北市和高雄市为“院辖市”,直属“行政院”,其余属台湾省;市下设区,县下设市(县辖市)、镇、乡,合称区市镇乡。

台 北 市

中正区 大同区 中山区 松山区 大安区 万华区 信义区 士林区

北投区 内湖区 南港区 文山区

高 雄 市

新兴区 前金区 芩雅区 盐埕区 鼓山区 旗津区 前镇区 三民区

左营区 楠梓区 小港区

基 隆 市

仁爱区 信义区 中正区 中山区 安乐区 暖暖区 七堵区

台 中 市

中 区 东 区 南 区 西 区 北 区 北屯区 西屯区 南屯区

台 南 市

中西区 东 区 南 区 北 区 安平区 安南区

新 竹 市

东 区 北 区 香山区

嘉 义 市

东 区 西 区

台北县(板桥市) 宜兰县(宜兰市) 新竹县(竹北市) 桃园县(桃园市)

苗栗县(苗栗市) 台中县(丰原市)彰化县(彰化市) 南投县(南投市)

嘉义县(太保市) 云林县(斗六市) 台南县(新营市) 高雄县(凤山市)

屏东县(屏东市) 台东县(台东市) 花莲县(花莲市) 澎湖县(马公市)

历史沿革

公元230年,吴国大将渡海到达“夷洲”(台湾)。隋唐称台湾为“流求”。1335年,元朝正式在澎湖设“巡检司”,管辖澎湖和台湾民政,隶属于福建省泉州同安县(今厦门)。从此,中国开始在台湾设立专门的政府机构。明朝末期,大陆居民大规模移居台湾,推动了台湾的经济和文化发展。

荷兰先后于1602年和1622年两次侵占澎湖。1642年,荷兰人占领了西班牙人在台湾北部的据点,台湾沦为荷兰殖民地。1662年,郑成功收复台湾。1683年,清政府统一台湾,第二年,设置一府三县,隶属福建省。从1760年以后,出现了大陆居民再度大规模移居台湾的高潮,到1811年,除山地族原住民以外,人口已超过了200万。1885年,建台湾为行省。

1894年,日本发动了中日战争(甲午战争),次年3月攻占澎湖。1895年4月17日,清政府与日本签定《马关条约》,将台湾和澎湖列岛割让给日本。台湾沦为日本殖民地,开始了长达50年的日本统治时期。1945年,二战结束,根据《开罗宣言》和《玻茨坎公告》,台湾和澎湖列岛重新回归祖国怀抱。

附:金门、“连江”

金门、马祖各设一县,属福建省,马祖因原来即是大陆的连江县的一部分,因此仍叫连江县。(注:马祖原属连江、长乐、罗源三县,1956年整并于连江县;乌丘原属莆田县,1956年并入金门县。)

金门县:面积153.1平方千米,人口5.6万。县治金沙镇。辖3镇3乡(金沙镇、金湖镇、金城镇、金宁乡、烈屿乡、乌丘乡)。 地图

连江县:面积28.8平方千米,人口1.8万。县治南竿乡,辖4乡(南竿乡、北竿乡、莒光乡、东引乡),23村/里,136邻。

参考 https://blog.csdn.net/fanfanrenrenmi/article/details/52565429

https://my.oschina.net/u/2306127/blog/473842](https://my.oschina.net/u/2306127/blog/473842

这两篇文章中已经写的很详细,那就开始比着做吧

虽然之前很少用R做过地图

https://pan.baidu.com/s/1jIicFHk](https://pan.baidu.com/s/1jIicFHk

先来安装一些的包

画个 好看的 中国地图,使用ggplot调整到平面图,调整投影方式后,图像如下,可以不要theme部分,自己查看效果,会有经纬线等信息。