前言

今天看了smileliaohua老师的博客,学到很多,于是进行实验复现一下博客中的中国地图底图。下文中步骤为smileliaohua老师的步骤,但截图是我进行复现时重新取的图片,并且完善了老师博客中有些地方步骤不太详尽的地方。由于我的arcgis10.2为汉化版本,所以步骤里中英文我都进行了标注。
参考链接
实验数据下载
提取码346v

设置投影

世界国家图以及河流矢量图。如果大家安装了IDL,那么在IDL的安装目录下:E:\ENVI\IDL85\resource\maps\shape(我的IDL安装在E盘),可以找到cntry0*.shp和rivers.shp;

总共包含五个文件:
bou2_4l.shp:中国政区的线文件,在这个线文件里包含了南海的九段线
bou2_4p.shp:中国政区的面文件
rivers.shp:世界主要河流
cntry0*.shp:世界国家面文件
省会城市.shp:中国省会城市点文件
(此次实验使用的cntry02.shp国家面文件,IDL85中自带cntry08.shp)
注意:ITT提供的两个文件没有设置坐标系,需要先在Catalog中将这两个文件(rivers.shp和cntry02.shp)的地理坐标系设为WGS84。

设置地理坐标系方法如下:



放大图我们可以看到,沿海一带有很多面积很小的岛屿,为了制图的美观,我们需要删掉一些面积小的岛屿,但是在这之前,我们必需把南海诸岛以及台湾周围的岛屿保留下来。

选中过程中按住shift可进行连续选择

在bou2_4p图层上右击选择Selection(选择)->Create Layer From Selected Features(根据所选要素创建图层)。将选中的要素创建一个新的图层。

停止编辑,在刚刚产生的图层上右击选择Data(数据)->Export Data(导出数据)…,将选择的要素导出,命名为“南海诸岛及其它岛屿.shp”

接下来我们就可以删掉面积小的岛屿了。继续进入编辑状态,打开bou2_4p的属性表,打开Select by Attribute(按属性选择)对话框,输入"AREA"=0,点击apply,选中面积为小于0.01的多边形,删除。

bou2_4p图层中面积较小的岛屿已经删除

提取出中国的轮廓线

接下来我们要从政区文件(bou2_4p)中提取出中国的轮廓线。这一步的目的是我们要分开中国在陆地上的国界和在海岸线上的国界,因为这两者在制图的时候是不同的。之所不直接用政区线文件提取轮廓是因为经过一些处理以后用面文件提取会更方便(下面会细说);而不用IDL中的国家(cntry02)是因为ITT提供的世界图是他们所认为的世界图(对比一下中国的藏南地区就会发现,在这个世界图上,中国的藏南地区是直接划给印度的,所以我们不用它,只把它作为底图)。

打开Toolbox->Data Management Tools(数据管理工具)->Features(要素)->Polygon to Line(面转线),将输出文件命名为“中国线.shp”。确保”Identifyand store polygon neighboring information(optional)”选中(保留每条线段两边的多边形信息是下一步提取轮廓线的关键;另外,Feature to Line也能实现面转线的功能,但是没有选项)。

打开“中国线.shp”属性表,选中LEFT_FID=-1或者RIGHT_FID=-1的所有要素,这个时候边界上的所有线要素就被选中了。如前所述的方法,将选中的要素创建图层,并导出成单独的图层,命名为“中国轮廓线.shp”。

提取陆上国界和海上国界

新建一个点文件(坐标系设为WGS84),进入编辑状态。在辽宁与朝鲜的入海口处、广西与越南的入海口处创建两个点,保存并停止编辑。
如何新建一个点文件


使用Toolbox->Data Management Tools(数据管理工具)->Features(要素)->Split Line atPoint(在点处分割线)工具,将线在点处打段。并且在编辑状态下,用Merge(合并)工具将两部分分别合并在一起;并新建一个字段用以区分陆上国界和海上国界。


这里一定要细心,耐心,不能漏掉祖国任何一个小岛!

如下图这种小的断点也要选择完整,不然最后字段类型就不只是两类了!

提取出九段线

这一步我们从中国政区的线文件(bou2_4l)中提取出九段线。名称是叫九段线,但是实际上在现在地图出版物中都是10段的。这一步比较简单,在编辑状态下选出这10段线,导出成单独的文件,命名为“九段线.shp”。

到目前为止,我们已经整理出来我们的底图所需要的要素文件:
省会城市(点)
九段线(线)
中国陆_海国界轮廓线(线)
河流(线)
南海诸岛及其它岛屿(面)
中国政区(面)
国家(面)


接下来我们对这些要素进行符号化。

纸张设置

首先在File(文件)->Page and Print Setup(页面和打印设置)中,将纸张调成横向。进入版面视图,适当调整数据框的大小和位置(上面留出写标题的空间),将地图比例尺改为1:23 000 000。

设置国界线的符号样式

双击“中国陆_海国界”图层打开Layer Properties(图层属性)对话框,在Symbology(符号)中选择Categories(类别)方式,在ValueField(值字段)中选择国界类型,点击Add all Values(添加所有值)。双击陆上国界的符号,打开Symbol Selector(符号选择器)对话框,随便选择一种线型符号,点击“Edit Symbol”,打开Symbol Property Editor(符号属性编辑器)对话框。


对对话框中点击左下的“+”号新建两层。将线型符号的颜色设为50%灰度,线宽0.5,Line Joins为“Round”。第二层的颜色设为Mango(更多颜色)(RGB 255,211,127),线宽2,Line Joins(线连接)设为“Round”,将Line Propeties中的Offset设为1。类似地,第三层的颜色设为Topaz Sand(RGB 255,235,175),线宽4,Line Joins设为“Round”,将Line Propeties(线属性)中的Offset(偏移)设为2。点击确定,返回Symbol Selector(符号选择器)对话框,可以将刚刚设置的样式保存。
点击确定返回Layer Properties(图层属性)对话框,将海上国界的符号样式设置为:颜色Yogo Blue(RGB 115,178,255),线宽0.4。设置完成后国界线的效果如图:

然后将九段线的符号样式也设置成陆上国界的样式。

设置省会城市符号

将省会城市的符号类型设置为“Circle 19”(圆形19),颜色50%灰度,大小6。并右击该图层设置“Label Features”。(标注要素)

设置河流符号样式

使用ArcToolbox(工具箱)->Cartography Tools(制图工具)->Generalization(制图综合)->Smooth Line(平滑线)工具,将河流光滑。”SmoothingAlgorithm”(平滑算法)方法选择BEZIER_INTERPOLATION。

完成以后设置河流的符号样式为:颜色Cretean Blue(RGB 0,112,255),线宽0.5。为了只让它显示长江和黄河,双击光滑过的河流图层,切换到“Definition Query”(定义查询)选项卡,在Definition Query中输入"NAME" = ‘Huang He’ OR “NAME” = ‘Yangtze’,点击确定。

为数据框设置背景颜色

将cntry02图层颜色改为50%灰色,然后双击数据框“Layers”(图层)打开Data Frame Properties对话框,切换到“Frmae”(框架)选项卡,在“Background”中选择“Lt Blue”,(浅蓝色)确定,此时效果如图:

为数据框添加经纬线

双击数据框“Layers”打开Data Frame Properties对话框,切换到“Grids”(格网)选项卡,点击“New Grid…”(新建格网),保持默认一直到Finish(下一步)。接下来点击“Properties…”打开“Reference System Properties”对话框。

在“Axes”选项卡中,取消”Major Division Ticks”和”Subdivision Ticks”中所有的复选框;


在“Interior Labels”选项卡中,取消”Show interior grid labels”复选框;

在“Labels”选项卡中,设置Label的字体为Times new Roman,8号,“Label Offset”为“-2”pts。点击“Additional Properties”打开“Grid Label Properties”对话框,取消“Show coordinate direction labels”复选框,取消“Show zerominutes”和“Show zero seconds”复选框;

在“Lines”选项卡中,点击Symbol,设置经纬线的符号样式为:颜色Moorea Blue(RGB 0,169,230),线宽0.2;

效果如下图:

添加北回归线

双击数据框“Layers”打开Data Frame Properties对话框,切换到“Grids”(格网)选项卡,点击“New Grid…”(新建格网),保持默认一直到Finish。点击“Properties…”(属性)打开“Reference System Properties”对话框。

在“Lines”(线)选项卡中设置线型为“Dashed 4:4”,颜色40%灰度,线宽0.4;

在“Label”(标注)选项卡中取消所有复选框;
在“Intervals”(间隔)选项卡中如下设置:

点击确定。点击菜单”Insert(插入)”->”Text(文本)”插入“北回归线”四个字,双击这四个字,如下设置:


到现在为止,我们的底图就基本做完了,效果如下图所示。

还有重要的南海诸岛没有放上去

添加南海诸岛

首先插入一个新的数据框,添加如下图层到新的数据框。

然后右键省会城市图层,标注要素。调整新建数据框大小和位置,至九段线显示完整,最终效果如下:

随后插入比例尺,指北针,设置地图标题,导出300dpi分辨率的jpg格式。

写在后面

看了smileliaohua老师的博客后,摸索着实验了下,不知不觉用了两个多个小时才完成底图部分的绘制- -。改天有时间再试一下气象数据的插值可视化。
再次感谢smileliaohua老师的博客,受益匪浅。
纸上得来终觉浅,绝知此事要躬行啊~

ArcGIS精美中国地图制作(详解)相关推荐

  1. vue中使用ECharts实现中国地图配置详解(配官方配置地址)

    前言: 1.实现自定义左下角的视觉映射组件(包括自定义颜色.文字.图元大小) 2.实现自定义悬浮提示框 如下图所示: 实现步骤: 一.在vue中安装echarts 1.npm install echa ...

  2. Arcgis连接sql server发布地图服务详解

    Arcgis+sql server发布地图服务详解 1.ArcGIS中创建企业地理数据库 通过ArcGIS创建一个地理数据库至SQLServer数据库中. 1.需要有一个登陆ArcGIS的管理员账号, ...

  3. ArcGIS Engine中的Symbols详解

    转自原文 ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式 ...

  4. ArcGIS 栅格函数在线调用详解

    ArcGIS 栅格函数在线调用详解 导读:ArcGIS从10.0版本开始引用镶嵌数据集,并且第一次在影像中加入栅格函数(raster functions),使得影像的呈现和信息提取与GIS紧密的结合起 ...

  5. php小程序地图处理,微信小程序 地图map详解及简单实例

    微信小程序 地图map 微信小程序map 地图属性名类型默认值说明longitudeNumber中心经度 latitudeNumber中心纬度 scaleNumber1缩放级别 markersArra ...

  6. 腾讯小程序 java编写_微信小程序 使用腾讯地图SDK详解及实现步骤

    微信小程序 使用腾讯地图SDK详解及实现步骤 近期在做一款彩票服务类项目中用到了腾讯地图提供的小程序解决方案,拿来给大家分享一下! 使用起来非常简单,就是一些功能还有待完善. 官方文档:http:// ...

  7. DOS/WinPE双启动移动硬盘制作详解

    DOS/WinPE双启动移动硬盘制作详解 DOS/WinPE双启动移动硬盘制作详解 转自:http://blog.cfan.com.cn/html/22/314222-121110.html [ 20 ...

  8. CentOS 7.0全自动安装光盘制作详解

    CentOS 7.0全自动安装光盘制作详解 1 复制光盘文件 1 )挂载 iso 镜像 创建目录用于挂载光盘: mkdir /root/centos7 挂载 iso 镜像  mount -o loop ...

  9. 中国农业银行笔试详解

    中国农业银行笔试详解 中国农业银行笔试详解 银行秋招时间表 农行考情讲解 看看农行 历年农行真题串讲 农行备考建议 中国农业银行笔试详解 银行秋招时间表 农行考情讲解 看看农行 历年农行真题串讲 偶数 ...

最新文章

  1. 算法导论——动态规划:0-1背包问题(完全解)
  2. 为什么不从算法上优化机器的“眼睛”,而是从“大脑”入手?
  3. SpringCloud 应用在 Kubernetes 上的最佳实践 —— 开发篇
  4. ae多线程渲染工具:BG Renderer MAX for Mac(AE插件)
  5. java 每秒处理1000个请求_每秒处理请求数和并发是一个概念吗?
  6. 深入浅出MFC笔记(5)
  7. 华南理工大学811信号与系统真题
  8. 国内PC版64位谷歌浏览器离线下载安装地址
  9. xbox 手柄按键测试软件,unity中链接Xbox手柄设置及按键检测
  10. 从零开始制作小车TB6612控制电机
  11. matlab由滤波的系数得到传输函数 设计带通滤波器 design fdatool设计IIR带通滤波器
  12. 什么是广域网?它的特点以及与局域网的不同点是什么?
  13. 三个mplayer播放器mplayer mpv mplayer-ww
  14. 突发:史蒂芬·霍金去世,享年76岁!
  15. latex 调整图片大小
  16. 内存卡打不开需要格式化怎么恢复数据
  17. 2018领航杯awd简单复现
  18. 华为ENSP模拟器简易路由交换机分段划分Vlan
  19. 3090人工神经网络工作站配置
  20. 红领巾小创客机器人活动计划_争当红领巾小创客--小创客 大梦想

热门文章

  1. Exchange笔记之Exchange2010部署实施
  2. cocos入门7:cocos creator 中的ui系统
  3. PHP 代码页面操作
  4. 前端特效CSS样式樱花
  5. C#中HP-Socket通信组件详解
  6. c语言课程设计找出肇事车牌,C语言课程设计报告.doc
  7. win10 如何进入bios
  8. sql server2016连接失败
  9. 全新修复版/官方代付系统/支付宝微信代付/企业付款/提现秒到
  10. html5 websocket c++,C++ websocket库 websocketpp/websocket++例子编译试用