绘制地图(R-3.5)

 

      绘制地图是数据可视化的重要内容之一。常用的软件包括Tableau,R,Excel等。这里我们要求R语言进行地图的绘制和基本的地图功能分析,使学生能够通过完成实验内容对R语言有一定的了解,会运用软件对数据进行简单的图像处理。

实验内容

  1、应用maps绘制世界地图、美国地图、中国地图;

  2、使用百度地图API查找长春大学,练习使用百度拾取坐标系统;

  3、使用maptools和中国地图数据绘制中国地图;

  4、使用ggplot绘制中国行政详图;

1、

(1)

> library(maps)

(2)

> map("world",fill=TRUE,col=rainbow(200),ylim=c(-60,90),mar=c(0,0,0,0))

> title("世界地图")

(3)

> map("state",fill=TRUE,col=rainbow(209),mar=c(0,0,2,0))

> title("美国地图")

2、

(1)

> library(devtools)

> library(baidumap)

(2)

> getCoordinate('长春大学',formatted=T)

longtitude   latitude

 125.32799   43.84018

> getCoordinate(c('长春大学东校区','长春大学西校区'),formatted=T)

               longtitude latitude

长春大学东校区   125.3280 43.84018

长春大学西校区   125.3054 43.83761

(3)

(4)

> getCoordinate('长春',formatted=T)

> p=getBaiduMap(c(125.31364,43.89834))

> plot(p)

 

3、

(1)

> library(sp)

>  library("maptools")

> china_map=readShapePoly("F:/数据可视化/R语言实验12-16/地图包/bou2_4p.shp")

(2)

> plot(china_map)

(3)

>  library(ggplot2)

> mymap=ggplot(data=fortify(china_map))+geom_polygon(aes(x=long,y=lat,group=id),colour="black",fill=NA)+theme_grey()

> print(mymap+coord_map())

 

4、

(1)

> x=china_map@data

> head(x)

(2)

> xs=data.frame(x,id=seq(0:924)-1)

> china_mapl<-fortify(china_map)

> library(plyr)

> china_map_data=join(china_mapl,xs,type="full")

> head(china_map_data[china_map_data$NAME=="吉林省",])

> mymap=ggplot(china_map_data,aes(x=long,y=lat,group=group,fill=NAME))

> mymap+geom_polygon()+geom_path(colour="grey40")+

 scale_fill_manual(values=colours(),guide=FALSE)+

coord_map("polyconic")+

theme(panel.grid=element_blank(),panel.background=element_blank(),axis.text=element_blank(),axis.ticks=element_blank(),axic.title=element_blank(),legend.position=c(0.2,0.3))

(2)

> jilin<-subset(china_map_data,NAME=="吉林省")

> ggplot(jilin,aes(x=long,y=lat,group=group,fill=NAME))+

geom_polygon(fill="beige")+

 geom_path(colour="grey40")+

 ggtitle("中华人民共和国吉林省")+

 geom_point(x=125,y=44)+

 annotate("text",x=125,y=44,label="长春市")

5、

> pop<-

c(7355291,3963604,20813492,10654162,8470472,15334912,9162183,13192935,8893483,25635291,20060115,19322432,11971873,11847841,30794664,26404973,17253385,19029894,32222752,13467663,2451819,10272559,26383458,10745630,12695396,689521,11084516,7113833,1586635,1945064,6902850,23193638,7026400)

> NAME<-c("北京市","天津市","河北省","山西省","内蒙古自治区","辽宁省","吉林省","黑龙江省","上海市","江苏省","浙江省","安徽省","福建省","江西省","山东省","河南省","湖北省","湖南省","广东省","广西壮族自治区","海南省","重庆市","四川省","贵州省","云南省","西藏自治区","陕西省","甘肃省","青海省","宁夏回族自治区","新疆维吾尔自治区","台湾省","香港特别行政区")

> pop<-data.frame(NAME,pop)

> china_pop<-join(china_map_data,pop,type="full")

 

> mymap=ggplot(china_pop,aes(x=long,y=lat,group=group,fill=pop))

> mymap+geom_polygon()+geom_path(colour="grey40")+scale_fill_gradient(low='blue',high='red')

 

### 使用 ArcGIS 绘制北京市地图的操作指南 #### 3.1 准备工作 为了能够顺利绘制北京市的地图,需要先准备好所需的矢量数据。可以从官方渠道获取最新的行政区划边界文件[^1]。 #### 3.2 启动 ArcGIS 软件并加载底图 启动ArcGIS应用程序之后,默认会进入操作环境工具栏界面。如果之前有保存的工作项目可以直接打开;如果是初次使用,则建议从空白文档开始创建新工程。通过菜单中的“File -> New Map”来新建一个地图文档。接着可以通过“Add Data”按钮添加在线底图服务作为背景层,以便更好地定位地理位置信息。 #### 3.3 添加北京市行政区域数据 点击左侧目录面板里的“Add Data”,找到预先准备好的北京市矢量数据文件夹路径,选中包含北京地区边界的Shapefile或其他兼容格式的数据集进行加载。此时应该能在视窗中央看到代表该市域范围的多边形图形。 #### 3.4 设置地图样式与属性 对于已加入到当前项目的要素类(Feature Class),可以在右侧属性表里调整其外观表现形式,比如改变填充颜色、线条粗细等参数让最终成果更加美观易读。此外还可以利用标注功能给重要地点加上文字说明,提高可辨识度。 #### 3.5 进行空间查询及分析 借助于强大的地理信息系统能力,用户不仅限于简单地展示静态图像,更可以执行诸如缓冲区计算、叠加分析等多种高级运算任务。例如想要了解某个特定区域内有多少个公园设施分布情况时就可以运用这些特性完成相应统计作业。 #### 3.6 输出结果 当所有编辑完成后,可以选择导出为图片或PDF等形式分享给别人观看交流之用。“File->Export Map...”命令提供了丰富的选项供定制输出质量大小等方面的要求。 ```python import arcpy # Set the workspace environment to your data location arcpy.env.workspace = "C:/data" # Add a base map layer from an online service mxd = arcpy.mapping.MapDocument("CURRENT") basemap_layer = arcpy.mapping.Layer(r"http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer") # Add Beijing boundary shapefile as a feature class beijing_boundary = r"C:\path\to\your\BeijingBoundary.shp" layer_beijing = arcpy.MakeFeatureLayer_management(beijing_boundary, &#39;Beijing Boundary&#39;) # Save changes and export the final result arcpy.SaveToLayerFile_management(layer_beijing, r"C:\output\BeijingMap.lyr") ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值