DATA-DRIVEN Map Animation in Adobe After Effects

4 阅读13分钟

DATA-DRIVEN Map Animation in Adobe After Effects(03:00 之后)提取版

说明:本整理按你的要求跳过前 3 分钟广告,只拆 03:00 之后真正进入教程的部分
下面内容以视频画面可确认的操作为准;字幕中说到了、但画面里看不清或没完整展示的参数,我会明确标注为**“字幕提到 / 画面未完全显示”**。


一、这支教程在做什么

作者用 GEOlayers 3 + CSV 数据,做一个“法国 10 个主要城市人口大小可视化”的小型信息图地图:

  • 底层先创建法国地图 Mapcomp
  • 导入 CSV 数据
  • 把 CSV 里的每一行经纬度变成地图点位
  • Population 列驱动圆点大小
  • 再把这些点按单独图层方式重画,方便后续动画

本段视频里没有真正展开复杂 AE 动画细节,核心重点其实是:

  1. 如何把 CSV 导入 GEOlayers
  2. 如何让 GEOlayers 识别正确的列名
  3. 如何用数据列控制点的大小
  4. 如何把点位改成单独图层,方便后续逐个动画

二、能确认的关键参数

1)Mapcomp / 工程信息

Create Mapcomp 窗口能清楚看到:

  • Name:Top 10 Cities in France
  • Size:1920 px × 1080 px
  • Framerate:25 fps
  • Duration:画面一帧能看到是 30 seconds

但字幕里作者口头说:

  • “I’m happy with this 30 seconds actually let’s change that to like 10 seconds”

而后面 AE 时间线里确实显示是 10 秒

所以更稳妥的结论是:

  • 教程最终使用的是 10 秒时间线
  • Create Mapcomp 对话框抓到的那一帧仍显示 30 seconds

2)地图样式

  • 视频里使用的是 黑色 / 深灰底图风格
  • 国家边界和城市名为浅灰色
  • 法国最终信息图底色是 偏米灰 / 浅卡其色
  • 城市点为 亮蓝色

3)CSV 数据字段

视频里能确认至少有这些列:

  • City
  • Population
  • lat
  • lon

4)Feature Properties 里能看清的统计值

Feature Properties 面板中可见:

  • Population Min:228328
  • Population Max:2138551
  • lat Min:43.285413
  • lat Max:50.632971
  • lon Min:-1.552379
  • lon Max:7.787355

5)第一次做数据驱动点大小时的参数

Shape Layer Styles 面板中,画面能清楚看到:

  • Stroke / Point:开启
  • Fill:关闭
  • Color:亮蓝色
  • Opacity:100%
  • Width:20 px(这是基础宽度滑块当前值,不是最终数据范围)
  • Width by Feature Property:填入 Population
  • 第一次 Value Range 画面里出现过:
    • 下限:00 px
    • 上限:10030 px

这个阶段明显只是试填 / 占位,还不是最终设置。

6)按真实人口数据重新设定后的参数

后面画面能确认作者改成:

  • Width by Feature PropertyPopulation
  • Value Range 最小值:228328
  • Value Range 最大值:作者手动粗略输入为 2240000 左右
    • 这里字幕也说明:他是根据刚才看到的最大人口值,手动 rough it in
  • 对应宽度第一次正式设为:
    • 最小:50 px
    • 最大:200 px

7)第二次增强层级差异时的参数

字幕中作者后面又说把差异再拉大:

  • 下限从 50 改到 25
  • 上限从 200 改到 275

这一组是后期“更动态”的版本。

所以这支教程里,你可以认为有两套可复刻数值:

方案 A:第一版正式值
  • Population 最小:228328
  • Population 最大:2240000(作者手动近似)
  • Marker 宽度范围:50 px ~ 200 px
方案 B:增强对比版
  • Population 最小:228328
  • Population 最大:2240000
  • Marker 宽度范围:25 px ~ 275 px

8)重画为单独图层时开启的选项

在 GEOlayers 的样式下拉菜单中,画面能清楚看到:

  • Simplify Geometry:勾选
  • Auto Stroke Width:勾选
  • Individual Layers:勾选
  • Inside Mapcomp:未勾选

三、03:00 之后逐段拆解


03:00–03:28 新建 Mapcomp

操作

  1. 在 GEOlayers 里进入 Create Mapcomp
  2. 创建一个法国区域地图工程
  3. 名称设为:
    • Top 10 Cities in France
  4. 分辨率:
    • 1920 × 1080
  5. 帧率:
    • 25 fps
  6. 时长:
    • 字幕说改到 10 seconds
  7. 点击:
    • Next
    • 然后 Create now

结果

AE 中自动生成:

  • 一个地图合成
  • 一个地图锚点层(Anchor)
  • GEOlayers 所需的基础地图层

可见图层关系(后面时间线里能确认)

至少会有:

  • Top 10 Cities in France Anchor
  • Top 10 Cities in France

03:30–04:02 导入 CSV 数据

操作

  1. 在 GEOlayers 面板左下附近点击:
    • +
  2. 选择:
    • Import File
  3. 导入 CSV 文件:
    • Top 10 Most Populous Cities in FRANCE.csv

导入结果

初始导入后,GEOlayers 会把这些数据识别为:

  • Points

并在地图上显示 10 个点位。

这一步的画面特征

  • GEOlayers 文件树里出现 CSV 文件名
  • 其下有一个 Points 文件夹
  • 文件夹里每个点一开始都叫:
    • Feature
    • Feature
    • Feature
    • ……

也就是说,坐标读进来了,但名字还没按城市名命名


04:02–04:28 把点位名称改成 City 列

操作

  1. 选中 CSV 下的点位集合(或 Points / Features 总层级)
  2. 点击:
    • Feature Properties
  3. 在弹出的属性窗口中,找到:
    • Name Contents by
  4. 下拉选择:
    • City
  5. 点击:
    • Apply

结果

原来那些叫 Feature 的点,都会改名为城市名。

视频里能确认的城市名

在后面列表里至少能看到:

  • Paris
  • Marseille
  • Lyon
  • Toulouse
  • Nice
  • Nantes

这一步为什么重要

因为后面你如果要:

  • 给每个城市单独做缩放动画
  • 做单独淡入
  • 做单独标签

图层必须先有正确名称,否则很难管理。


04:28–04:58 查看人口最小值 / 最大值

操作

仍然在 Feature Properties 面板里查看 Collective Feature Properties

关键数据

  • Population Min:228328
  • Population Max:2138551

用途

作者强调这一步很重要,因为后面要把:

  • Population

这个列,拿去驱动点的大小。

也就是:

  • 巴黎圆点最大
  • 人口更少的城市圆点更小

05:00–05:42 先画法国国家轮廓

操作逻辑

作者这一步不是直接画点,而是先画出法国国家底图,做信息图背景。

操作

  1. 打开 GEOlayers 的样式选择器(Feature Styles)
  2. 选择一个偏静态、偏柔和的国家填充样式
    • 画面和字幕都表明是一个** muted / muted color** 方向的样式
  3. 在地图里直接点击:
    • France
  4. GEOlayers 会识别并下载法国这个国家要素
  5. 点击:
    • Draw Features

结果

AE 里会生成一个法国轮廓图层。

视觉效果

  • 法国主体:浅米灰 / 浅卡其色
  • 背景:黑色
  • 这是后面蓝色城市点的承载底板

时间线里能确认的图层名

后面可见:

  • France

而且 France 图层被 parent 到:

  • Top 10 Cities in France Anchor

06:00–06:42 新建数据驱动点样式

这是本教程最核心的一段。

操作

  1. 在 GEOlayers 面板中打开样式编辑:
    • Edit Styles
  2. 新建一个 style:
    • 默认名字是 new Style
  3. 配置样式:
    • Fill:关闭
    • Stroke / Point:开启
  4. 点颜色设成:
    • 亮蓝色
  5. use Fill Color:不勾选
  6. Opacity100%
  7. Width 当前滑块值显示为:
    • 20 px

这一段的设计思路

作者解释得很清楚:

  • 想让“点大小”反映人口
  • 所以这里要用 Stroke / Point
  • 因为只有 Stroke / Point 区域里才有 Width 可做数据驱动

也就是说:

  • 不是单纯画一个固定大小圆点
  • 而是让每个点的大小由数据列控制

06:42–07:32 让 Population 驱动点宽度

操作

  1. 在样式面板里找到:
    • Width by Feature Property
  2. 点击该栏,输入:
    • Population
  3. 先做一个测试性范围

测试性设置(画面可见)

  • 00 px
  • 10030 px

注意

这一组不是最终值,只是作者先把字段通路打通,确认功能是生效的。


07:32–08:02 回到 Feature Properties 查真实人口范围

操作

  1. 退出样式面板
  2. 重新选中数据集合
  3. 再次打开:
    • Feature Properties
  4. 读取实际人口最小 / 最大值

画面确认值

  • Min:228328
  • Max:2138551

作者做法

作者没有把 2138551 一字不差地照抄进去,而是:

  • 直接手动粗略输入一个更整的近似值
  • 大约 2240000

字幕原意就是:

  • “rough it in”
  • 也就是先用一个接近上限的整数去映射

08:02–08:56 第一版正式数据驱动样式

操作

回到 Shape Layer Styles,继续编辑刚才的新样式。

画面可确认设置

  • 样式名:作者尝试改名,画面里能看到输入框开头是:
    • France ...
    • 精确全名没有完全看清
  • Fill:关闭
  • Stroke / Point:开启
  • Color:亮蓝
  • Opacity100%
  • Width by Feature PropertyPopulation
  • Value Range
    • 22832850 px
    • 2240000 左右 → 200 px

结果

这意味着:

  • 最小人口城市,圆点直径约 50px
  • 最大人口城市,圆点直径约 200px
  • 其他城市按人口在线性映射到中间值

08:56–09:18 第一次 Draw Features

操作

  1. 选中数据集合
  2. 点击:
    • Draw Features

结果

GEOlayers 生成一层新的点图层。

但这一步有一个问题

作者马上指出:

  • 这些点虽然已经按数据大小生成了
  • 但是它们被做成了一个 shape layer 里的多个 shape elements

这对后续动画不够灵活。

画面结果特征

  • 法国地图上出现不同大小的蓝色圆点
  • 巴黎明显最大
  • 其他城市大小有层级差

09:18–09:44 改成单独图层输出

这是第二个核心点。

操作

  1. 删除刚才第一次生成的点图层
  2. 在 GEOlayers 样式下拉菜单里,打开样式附加选项
  3. 勾选:
    • Simplify Geometry
    • Auto Stroke Width
    • Individual Layers
  4. 不勾选:
    • Inside Mapcomp

这几个选项的作用

Individual Layers

把每个点画成单独图层
这是后面做:

  • 单独缩放
  • 单独淡入
  • 单独移动
  • 单独标签绑定

最关键的前提。

Auto Stroke Width

地图缩放时,点的可见宽度会自动补偿,不会因为镜头缩放而显得忽大忽小得过于夸张。

Simplify Geometry

简化要素结构,减少不必要复杂度,输出更干净。


09:44–10:08 第二次优化样式,拉大点大小差异

作者在重画之前,又顺手把大小对比再强化了一次。

字幕明确提到的修改

  • 把下限改小:
    • 5025
  • 把上限改大:
    • 200275

画面能确认到的局部数值

  • 最小宽度框里确实出现了:25
  • 最大宽度之前是:200 px
  • 字幕说明最终会拉到:275

这一步的目的

让:

  • 大城市更显眼
  • 小城市和大城市之间的层级差更明显
  • 整张图更“信息图化”

10:08–10:22 重新 Draw Features

操作

  1. 选中数据集合
  2. 再次 Draw Features

结果

这次输出的是:

  • 单独图层版本的城市点
  • 名称按城市名命名
  • 点大小由 Population 驱动

画面里能看出的最终时间线结构

至少有:

  • France
  • Top 10 Cities in France Anchor
  • Top 10 Cities in France

而前一个版本的点层已被删掉 / 替换。

作者口头最后一句也说明:

  • 现在就可以开始逐个去动画这些城市点了

但本支视频到这里就基本收尾了,没有继续展开具体动画制作。


四、按教程复刻时,建议你直接照抄的版本

如果你的目标是最大限度接近视频效果,建议直接用下面这套:

法国底图

  • 先点击地图上的 France
  • 用 muted / 柔和填充样式绘制国家轮廓
  • 得到浅米灰色法国底图

城市点样式(推荐最终版)

  • Fill:关闭
  • Stroke / Point:开启
  • Color:亮蓝色
  • Opacity:100%
  • Width by Feature PropertyPopulation
  • Value Range
    • 22832825 px
    • 2240000275 px

样式附加选项

  • Simplify Geometry:开
  • Auto Stroke Width:开
  • Individual Layers:开
  • Inside Mapcomp:关

五、如果你想做得更稳,我建议这样改

虽然作者视频里把最大值手动写成了约 2240000,但如果你自己复刻,建议用更严谨版本:

更严谨的数据映射写法

  • 最小值:228328
  • 最大值:2138551

对应宽度

  • 保守版:50 px ~ 200 px
  • 强对比版:25 px ~ 275 px

这样你做出来会:

  • 更忠于原始数据
  • 同时保留作者那种“大小差异很明显”的视觉效果

六、这支视频里最值得学的 4 个点

1)CSV 导入后,先检查列映射

不要一导进来就画。
先确认:

  • Name Contents by = City
  • 人口列名是不是 Population
  • 经纬度列有没有识别正确

2)先查最小值 / 最大值,再做数据驱动

作者不是盲填,而是先回到:

  • Feature Properties

确认 min / max,再拿去喂给样式映射。

3)信息图点位尽量输出成单独图层

如果你后面要做 AE 动画,Individual Layers 非常重要。
否则所有点都挤在一个 Shape Layer 里,后续很难分别控制。

4)用数据驱动控制点大小,比手调更稳定

这种做法特别适合:

  • 城市人口
  • 门店数量
  • 销售额
  • 访问量
  • GDP / PM2.5 / 温度等地理统计数据

本质上就是把某一列数值映射成点的视觉尺寸。


七、可直接复刻的简版步骤清单

A. 建图

  1. 新建 GEOlayers Mapcomp
  2. 名称:Top 10 Cities in France
  3. 1920×1080
  4. 25 fps
  5. 时长最终用 10 sec

B. 导入数据

  1. GEOlayers → +
  2. Import File
  3. 导入 Top 10 Most Populous Cities in FRANCE.csv

C. 修正字段

  1. 选中数据集合
  2. Feature Properties
  3. Name Contents byCity
  4. 记住人口范围:
    • Min 228328
    • Max 2138551

D. 画法国底图

  1. 选一个 muted 风格样式
  2. 在地图上点击 France
  3. Draw Features

E. 新建城市点样式

  1. Edit Styles
  2. 新建 style
  3. Fill
  4. Stroke / Point
  5. 颜色改亮蓝
  6. Width by Feature PropertyPopulation
  7. Value Range:
    • 228328 → 25 px
    • 2240000 → 275 px

F. 以单独图层方式重画点

  1. 勾选:
    • Simplify Geometry
    • Auto Stroke Width
    • Individual Layers
  2. Draw Features

G. 后续动画

视频里没往下细讲,但你这时已经可以对每个城市图层单独做:

  • Scale 弹出
  • Opacity 淡入
  • Position 微移
  • Label 跟随
  • 逐个入场

八、这一支和你前面几支地图教程的区别

前几支更偏:

  • 路线动画
  • 3D 地图
  • 镜头运动
  • 发光线 / Trim Paths / 纸张质感

而这一支更偏:

  • CSV 数据可视化
  • 把表格数据转成地图点位
  • 用字段驱动样式参数

所以它更像是:

  • GEOlayers 的数据可视化入门

不是复杂的镜头型地图包装教程。


九、一句话总结

这支视频 03:00 之后的核心,不是做复杂动画,而是教你:

如何把 CSV 中的城市人口数据导入 GEOlayers,并用 Population 字段自动驱动城市点大小,再把结果输出成可单独动画的图层。