---
title: 导入 GIS 数据
source: https://vjmap.com/guide/map-video/import-gis.html
---

---
group: 数据与素材
video: mv-import-gis
description: 导入 KML、GeoJSON、GPX、SHP 数据，核对坐标后加进地图，并把面数据按高度拉成三维楼。
---

# 导入 GIS 数据

手头已有的 GIS 数据不必在地图上重画一遍。KML、GeoJSON、GPX、SHP 都可以直接导入，变成能做动画的点、线、面；带高度属性的面数据还能拉成三维楼。本篇按照「导入文件、预览核对、加进地图、再次使用、按高度拉楼」的顺序讲完整个流程。

## 导入文件

1. 打开「素材」，点「导入」。
2. 在文件对话框里选择要导入的文件，可以一次选多个。示例里同时选了成都一日游的 KML、珠江新城楼宇的 GeoJSON 和一条骑行 GPX。
3. 导入完成后，这些文件都出现在「数据与其它」分类里。

![导入后的 GIS 数据在「数据与其它」里](./images/import-gis-files.webp)

1. **素材**：左上角第一个标签页。
2. **导入**：素材面板右上角的按钮。
3. **数据与其它**：左侧分类，导入的 GIS 数据都归在这里，后面的数字是文件个数。
4. **数据卡片**：每个文件一张卡片，显示文件名、格式和大小，如「成都一日游.kml」（KML · 1 KB）、「珠江新城楼宇.geojson」（GeoJSON · 914 KB）、「骑行轨迹.gpx」（GPX · 4 KB），卡片上还有「删除」。列表上方的说明写着：GIS 数据单击可查看地图和属性表，双击或点 + 可做成数据层，点「…」可看全部操作。

| 格式 | 导入方式 |
|---|---|
| KML | 直接选择文件 |
| GeoJSON | 直接选择文件 |
| GPX | 直接选择文件；也可以用「导入轨迹」一键成线，见下文 |
| SHP | 连同同名的 .dbf、.prj 文件一起选，或者打成一个 zip 包再导入 |

::: warning 注意
SHP 数据由多个文件组成，只选 .shp 一个文件是不行的。请把 .dbf 和 .prj 一起选上，或者把它们打包成 zip。
:::

## 预览数据并加进地图

单击「数据与其它」里的数据卡片，打开数据预览。预览窗口标题下方显示数据概况，示例 KML 为「6 个要素 · 2 列 · 点 4 / 线 1 / 面 1」。

![数据预览：核对坐标，勾选要素后加进地图](./images/import-gis-preview.webp)

1. **数据坐标**：「互联网数据」或「CAD 数据」。
2. **底图**：可选天地图或高德，矢量或影像，用来对照数据的位置。
3. **坐标系**：在 WGS84 和 GCJ02 之间切换，看地图上的位置和底图是否对得上。
4. **要素统计**：地图左下角显示点、线、面各有几个；地图左上角显示当前底图和坐标系，旁边的「全图」可以缩放到全部要素。
5. **属性表**：每行一个要素，列出图形（点 / 线 / 面）、名称和图层。点一行，地图会定位到对应的要素并弹出它的属性；反过来，单击地图上的要素也会回到对应的那一行。
6. **勾选状态**：勾选表头的复选框可以全选，上方会显示已勾选几个，并可「只看勾选」或「清空」。按窗口底部的提示，也可以按住 `Ctrl` / `Shift` 点行多选。
7. **加进地图**：括号里是已勾选的要素数，点它把这些要素加进地图。

全选要素后点「加进地图」，要素会从播放头所在的时间开始依次入场，示例里 KML 的六个要素一个接一个出现。时间轴上的变化如下：

![加进地图后时间轴上的组合片段](./images/import-gis-added.webp)

1. **组合片段**：时间轴上多了一个「组合 6 项」的片段，片段上列出了大熊猫基地、宽窄巷子、武侯祠、春熙路等要素名称。
2. **要素轨道**：组合下面是对应的点标记、面等轨道。

右侧属性面板同时显示这个地图组合包含 6 个片段，可「展开编辑」或「取消组合」，下方是选中要素的样式。加完后右下角会弹出提示：

![加进地图后的提示](./images/import-gis-added-tip.webp)

1. **已加入 6 个片段**：确认加入了几个片段。
2. **说明**：6 个片段已从播放头起依次入场，预览已移到它们那里；要让成片的镜头也拍到，就把这个视角记成镜头关键帧。
3. **记成镜头关键帧**：点它，然后播放一遍检查效果。

::: tip 小技巧
如果数据整体偏离了底图上的实际位置，多半是坐标系选错了。GPS 设备记录的轨迹通常是 WGS84，国内部分互联网地图采用 GCJ02，在预览里换一个坐标系再看。
:::

## 我的要素

加进地图的要素都会收进「地图」里的「我的要素」。同一份数据想在片子的其他时间再用一次，在「我的要素」里找到它，点加号即可加到播放头位置，不需要重新导入。

![我的要素](./images/import-gis-my-features.webp)

1. **我的要素**：地图标签页左侧列表中的一项。
2. **按类型筛选**：「全部」「点标记」「线」「面」，后面的数字是各类的个数；右侧还有搜索框。
3. **加号**：卡片右下角的「＋」，点它加到播放头处。每张卡片还显示类型、长度或面积（如线 17.0 km、面 21.27 km²）和已经用了几次。
4. **操作提示**：单击选中后在右栏改样式；双击或点 + 加到播放头处；也可以拖到时间轴上的指定时刻；按 `Ctrl` / `Shift` 可多选。

## 导入轨迹

GPX 轨迹有一个更快的入口：

1. 打开「地图」里的「编辑地图」，在「更多」里点「导入轨迹」。
2. 选择 GPX 文件。

轨迹会马上变成一条线，点数和里程也自动算好。示例中的骑行轨迹共 43 个点，全长 17.1 km。

![编辑地图里的「更多」与导入的轨迹](./images/import-gis-track.webp)

1. **编辑地图**：地图标签页左侧列表的第一项。
2. **更多**：编辑地图工具栏最右侧的「更多」，「导入轨迹」就在这里。
3. **新的线**：要素列表的「线」分组里多了「骑行轨迹」。

选中这条线后，右侧属性面板显示它的信息，右下角也会提示「已导入 43 点 · 17.1 km」：

![轨迹的点数、里程与样式](./images/import-gis-track-panel.webp)

1. **点数和里程**：「43 个点 · 17.10 km」。
2. **线条样式**：可以直接调线类型（示例为实线）、颜色、线宽、不透明度等。

## 按高度拉成三维楼

带高度属性的面数据可以拉成三维楼，并做出楼从地面长出来的动画。

1. 在右边「场景」里找到「楼块拉伸」，勾选「启用」，来源选「GeoJSON」（面 GeoJSON）。
2. 「资源」选刚导入的面数据，示例里是珠江新城楼宇.geojson。
3. 「高度字段」填数据里表示高度的属性名，示例是 `height`。
4. 「生长动画」默认开启，把时长改成 4 秒。
5. 拖动播放头，楼块会从地面慢慢长出来。

![楼块拉伸设置与效果](./images/import-gis-extrude.webp)

1. **楼块拉伸**：勾选「启用」，右侧选「GeoJSON」（另一个选项是「图纸」）。
2. **资源**：未选时提示「选择面 GeoJSON 资源」，这里选珠江新城楼宇.geojson。
3. **高度字段**：填 `height`。未填时提示「属性名（米）；留空用固定高度」，即留空时使用下面「高度」里的固定值（示例中为 30 m）。同一组设置里还有「透明」「颜色」「倍率」。
4. **生长动画**：勾选后可设置从第几秒起、持续几秒，示例为 0 秒起、持续 4 秒。
5. **效果**：楼块按各自的高度从地面长出来。

::: tip 小技巧
高度字段要和属性表里的列名完全一致。不确定字段叫什么时，回到数据预览看一眼属性表。
:::

## 下一步

接下来可以看 [加载三维模型](./import-3d-model.html)，把自己的 glTF / GLB 模型放到地图上；如果要把表格数据做成专题图，可以看 [数据可视化](./data-viz.html)。
