流向地图火了,因为Facebook的那张著名的友邻图,抑或因为《数据可视化之美》中介绍飞行模式的航线图,总之,流向地图以它特殊的可视化形式,直观地展示事物之间的联系,尤其在展示网络流向、贸易流向、迁徙路线等方面具有天然的优势。

Flow maps - show the movement of some phenomenon, normally goods or people, from one place to another. Lines are used to symbolize the flow, typically varied in width to represent differences in the quantity of the flow.

  上面这段话是Flow Map的定义(Buckley,2013,AAG),流向地图的特点就在于展示移动的地理现象,利用线的粗细或是颜色来展示更多的信息。当我们惊叹于那优美的线条以及绚丽的可视化效果时,不由得会想到,怎么才能做出这么一张流向地图呢?ArcGIS是否能够快速的实现呢?

其实早在2011年,Esri的制图专家Mamata Akella就发表了一篇Blog,介绍在ArcGIS中实现一种流向地图的方法[1] ,来展示2011年Esri用户大会的参会者来源,如下图所示。

这里我们也以一个实例来尝试如何快速生成该类型的地图,在这个例子里,我们把帝都北京和其他各国家的首都连接起来,通过结果可以看到帝都与各首都之间航线的轨迹和距离,这里我们主要是利用ArcGIS的一个工具——XY to line。

数据准备:XY to line工具所需要的输入是一个表格数据(.xls,.csv,.txt,.dbf均可以),必需的四个字段是每个点对的XY起止坐标,如下图所示,XCoor为各首都的X坐标,YCoord为各首都的Y坐标,BJX为北京的X坐标,BJY为北京的Y坐标,这里采用的是WGS 1984的坐标系统。

数据处理:打开XY to line工具,设置如上图,在Line Type中有四个选项,这里我们选择的是GEODISIC,ID字段设置为大洲,目的是为了保留该字段,以便将来按大洲进行符号化。

GEODESIC:测地线,椭球体表面上两点之间的最短连线

GREAT_CIRCLE: 大圆航线,通过两航路点间的大圆圈线(该两航路点与地心在同一平面)

RHUMB_LINE(loxodrome line): 等角航线:是地球表面上与经线相交成相同角度的曲线。在地球表面上除经线和纬线以外的等角航线,都是以极点为渐近点的螺旋曲线,在航海图(采用墨卡托投影)上又表现为直线

NORMAL_SECTION:法截弧,A点的法线与B点确定的法截面与椭球相交的弧线

经过简单渲染,我们就得到了这样的地图:

偶尔换个视角也不错,例如我们把Data Frame的坐标系统换一换,再按大洲做个符号化:

这样的地图看起来也很别致吧~

参考文档:

http://blogs.esri.com/esri/arcgis/2011/09/06/creating-radial-flow-maps-with-arcgis/

ArcGIS制作放射状流向地图(Radial Flow Map)的更多相关文章

  1. ArcGIS放射状流向地图

    今年百度推出了一个百度迁徙,在其他人看是好像是还挺专业的,其实不复杂.下面是百度的迁徙图示例:从图中可以看出从一个城市到另一个城市迁徙的直线路径,多个路径可以反映城市是否为热点城市,即人口流动比较大. ...

  2. ArcGIS制作tpk离线压缩包

    ArcGIS制作tpk离线压缩包 tpk是什么的缩写,对应的中文名称是? 什么叫tpk文件? 缓存切片? 切片类型:紧凑型与稀疏型.   一.目前自己使用的在ArcMap中制作tpk压缩包 1.首先打 ...

  3. ArcGIS API for Silverlight实现地图测距功能

    原文:ArcGIS API for Silverlight实现地图测距功能 问题:如何实现地图测距功能? 地图工具栏 <Grid x:Name="gToolMenu" Hei ...

  4. HTML5 canvas createRadialGradient()放射状/圆形渐变

    定义和用法 createLinearGradient() 方法创建放射状/圆形渐变对象. 渐变可用于填充矩形.圆形.线条.文本等等. 提示:请使用该对象作为 strokeStyle 或 fillSty ...

  5. 【百度地图API】如何制作一张魔兽地图!!——CS地图也可以,哈哈哈

    原文:[百度地图API]如何制作一张魔兽地图!!--CS地图也可以,哈哈哈 摘要: 你玩魔兽不?你知道如何做一张魔兽地图不?! 快来看此文吧! ---------------------------- ...

  6. 关于ArcGis for javascript整合百度地图 天地图 高德地图进行搜索

    1.ArcGis for javascript整合百度地图搜索 1.1.首先引入百度地图的api <!-- 引入百度地图API --> <script type="text ...

  7. ArcGIS api for javascript——加入地图并显示x,y坐标

    这个示例报告了用户在地图上悬停和拖拽鼠标的鼠标指针坐标.通过事件监听器来更新鼠标移到的x和y坐标. 下行代码创建了地图: var map = new esri.Map("map") ...

  8. 百度LBS开放平台个性化地图 制作一款独一无二的地图

    百度LBS开放平台个性化地图  制作一款独一无二的地图 天天用百度地图的亲们是否已不再满足仅仅看例如以下的地图样式了呢? 默认百度地图样式 是否特别渴望看特别不一样的地图呢.如带京城81号气息的午夜蓝 ...

  9. ArcGIS操作技巧——怎样把地图放到PPT中,并且进行编辑?

    需求:把arcgis配好的矢量地图插入到ppt中,并且要求可以在PPT中进行修改和重新着色.编辑. 效果:如下图所示: 操作过程: 方法一: 在最上面工具栏找到edit——>copy map t ...

随机推荐

  1. Kinect开发随笔①——红外扫描仪(Kinect 数据源)

    来源于 MVA 的 快速入门:Kinect for Windows v2 开发 的学习随笔 具体内容为上图所示章节内容 章节内全部代码:GitHub地址点我(链接失效,待补档) <Page &l ...

  2. 动态SQL 学习

    <select id="findUser" parameterType="Map" resultType="User">     ...

  3. iOS Hit-Test应用

    最近又看了遍苹果的官方文档<Event Handling Guide for iOS>,对事件响应链中的hit-test view 又多了些理解,个人觉的官方文档对这块讲的非常简单,很多东 ...

  4. 丢手帕问题即约瑟夫问题的PHP解法

    问题描述:n个人排成一圈.从某个人开始,依次报数,数到m的人被杀死.下一个人重新从1开始报数,数到m的人被杀死.直到剩下最后一个人. 解决思路:从数学角度去看,每一次报数决定谁去死是一个n.m的求余数 ...

  5. VIew-CoordinatorLayout 笔记

    CoordinatorLayout 协调者:一般会是两个控件,一个Dependency一个child ,CoordinatorLayout的主要功能就是协调这两个控件,使child跟随Dependen ...

  6. linux中shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

  7. Struts相关

    使用Struts2流程: 1.导入Struts2类包 2.在Web源代码文件夹中,创建名为struts.xml的配置文件.在其中定义Action对象,其关键代码如下: struts.xml: < ...

  8. volatile不能保证原子性

    1.看图自己体会 2.体会不了就给你个小程序 package cs.util; public class VolatileDemo { private volatile int count =0; p ...

  9. 20161023 NOIP 模拟赛 T1 解题报告

    Task 1.纸盒子 (box.pas/box.c/box.cpp) [题目描述] Mcx是一个有轻度洁癖的小朋友.有一天,当他沉溺于数学卷子难以自拔的时候,恍惚间想起在自己当初学习概率的时候准备的一 ...

  10. 【枚举】POJ 3279

    直达–>POJ 3279 Fliptile 题意:poj的奶牛又开始作孽了,这回他一跺脚就会让上下左右的砖块翻转(1->0 || 0->1),问你最少踩哪些砖块才能让初始的砖块全部变 ...