三、变形地图制作

更新于 2026年10月10日 版权声明
三、变形地图制作

1.示意地图自动生成(线状变形地图)

示意变形地图(图12-16)和距离变形地图同属线状变形地图,但在生成算法中各有侧重,前者强调的是化简,而后者关键在于变形。下面针对示意地图生成规则和方法进行介绍。

基本思路是首先制定示意地图设计规则,将其作为约束条件,然后通过设计算法求解最优结果。

1)示意地图设计规则

①线化简;②将线投影到格网上,保证所有方向都是水平或垂直或45°斜向;③扩大拥挤区域。

2)示意地图应符合的五大规则

①拓扑关系,原地图和生成的网络示意地图拓扑关系保持一致;②线段走向,线段保持水平、垂直或45°斜向;③最小长度阈值,为确保清晰,线段的长度应不小于最小长度阈值;④要素距离的最小阈值,为确保清晰,相邻要素之间应不小于最小距离阈值;⑤最小角度阈值,为确保清晰,2个相邻边之间的角度应不小于最小角度阈值。

图示

图12-16 武汉地铁线路图

3)示意地图生成方法

示意地图生成算法研究始于20世纪80年代末,Elroi(1991)提出了一种格网匹配的方法,其核心思想是首先将线进行化简,然后匹配到格网上,以确保线的走向保持水平、垂直和45°角方向,并且可以将密度较高的局部区域扩大,防止拥挤。Avelar等(2000)采用传统的道格拉斯-普克算法对线进行简化预处理,然后根据约束条件对原有的顶点进行迭代位移,在每一次迭代过程中需要对几何和拓扑关系一致性进行检查,直至满足条件结束。Barkowsky等(2000)提出一种基于离散曲线渐进方法来简化图形的算法。

Neyer于1999年提出了一个给定方向的线化简算法,并将其应用在网络示意地图中。Cabello等于2001年提出一种不顾及线的原始形状的网络示意图生成算法。该算法的核心思想是原始网络节点的位置保持不变,通过2折或者3折的折线将节点连接起来,其中折线上各段的方向归为水平、竖直或者对角线方向。

2.基于扩散的Cartogram生成算法(面状变形地图)

根据特定的人口密度绘制地图的一种方法是,允许人口以某种方式从高密度地区“流动”到低密度地区,直到各地的人口密度均衡为止。有一个类似的过程可以实现这一点,即基础物理学的线性扩散过程,这就是传统基于扩散方法的基础。

从概念上来说,这种算法的某些方法类似于细胞自动机方法,这种扩散方法可以看作一个微观扩散过程,其中每个人口成员在地图表面上进行高斯随机游走,随着时间的推移,人口将扩散,地图上每个地方的人口密度都是一致的。(https://www.daowen.com)

该方法设置不同的转换质量将会产生不同的格网尺寸、扩散格网尺寸、迭代次数以及生成时间,当转换质量提高时,生成Cartogram的时间也有所提高。

3.基于软件制作变形地图

利用ArcGISCartogram Toolbox、QGIS Cartogram插件和R语言中的Cartogram包等工具,都可以制作变形地图。下面介绍ArcGISCartogram Toolbox的步骤。

(1)下载并安装针对ArcGIS开发的组件Cartogram Geoprocessing Tool version 2。

(2)在ArcGIS中打开ArcToolbox,使用鼠标右边选择【Add Toolbox】,添加安装路径中的“Cartogram.txb”。

(3)打开正常的地图,可以是shp文件、mxd文件等,如图12-17所示(这里打开的是压缩文件中自带的mxd,这张图是关于全球二氧化碳排放量的)。

图示

图12-17 打开mxd文件

(4)打开Toolbox→Cartogram→Create a cartogram(图)。在【Original Polygon Features】中选择原始图层;在【Value Field of the Original Features】中选择要用于生成Cartogram的定量数据;在【Output Cartogram Features】中选择一个自己的Geodatabase,或者直接使用默认的Default.gdb;其他值全部使用默认值即可。生成过程如图12-18所示。

图示

图12-18 Cartogram生成过程

(5)步骤(4)生成的Cartogram如图12-19所示。为使颜色和之前图12-17的一致,需要符号化,如图12-20所示。

图示

图12-19 Cartogram生成结果

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)