使用地理表从电子表格制作交互式地图

geosheets 美国大陆气象站

带有地理表的交互式地图

在电子表格中处理地理标记数据并希望映射数据或进行地理空间查找以查找属性(例如您所在位置的邮政编码状态)是很常见的。

通常,这涉及安装其他软件,然后单向导出您的数据。每次数据更改时,您都必须重复该过程并导出,如果您要进行进一步分析,通常还要将结果导入电子表格。

Geosheets是一种工具,通过添加一套自定义地理空间函数,可以直接在 Google 表格中完成制图和地理空间查询。

在这里,我们将演示从 CSV 文件导入表格数据并使用 Geosheets 创建地图可视化。我们将在美国大陆绘制一组地面气象站,并按海拔对它们进行颜色编码。唯一的先决条件是拥有一个 Google 帐户,以便您可以使用 Google 表格。

1. 创建一个启用了 Geosheets 的新电子表格。

安装Geosheets 附加组件(推荐)或复制启用了 Geosheets 演示版本的演示模板。

2. 将示例数据导入您的工作表。

在工作表的 A1 单元格中,写入以下公式:

 =IMPORTDATA("https://www.geosheets.com/static/samples/continental-us-weather-stations.csv")

IMPORTDATA 是 Google 表格的内置函数,它获取 CSV 文件的 URL 并将其直接导入到您的文档中。此处使用的 URL 是由 Geosheets 托管的样本表,其中包含气象站及其海拔。片刻之后,您应该会看到您的工作表填充了 4 列和大约 3000 行数据。

此数据的来源位于http://weather.rap.ucar.edu/surface/stations.txt ,其中列出了全球气象站及其一些属性。示例 CSV 是从该主列表中提取的,其中仅包含相关站点及其坐标。

3. 添加类型和半径列以将站点呈现为圆形。

默认情况下,Geosheets 会将点呈现为泪滴标记,但此数据集中的点太多,因此更容易将它们可视化为圆圈。

将标题单元格添加到名为“类型”的 E 列。在单元格E2中写入值“circle” ,然后将其一直粘贴到 E 列下方。“Type”是 Geosheets 理解的特殊列标题,指示如何呈现要素。支持的类型是“marker”、“circle”、“line”或“geodesic”等值。

将标题单元格添加到名为“Radius”的 F 列。在单元格F2中写入值“4”并将其一直粘贴到 F 列下方。Radius 列告诉 Geosheets 以像素为单位的半径以呈现圆形特征。

圆柱

4. 按海拔对要素进行颜色编码。

我们希望以比低海拔站更亮的颜色显示高海拔站,因此我们希望根据 Elevation 列中的数值分配颜色。

将新的标题单元格添加到名为“Color”的 G 列。然后在单元格G2中写下这个公式:

 =GEO_COLOR_FROM_PALETTE(D2:D3419)

这是一个 Geosheets 函数,它采用一列数值,计算出最小值和最大值,然后根据每个值落在该范围内的位置为每个值分配一种颜色。颜色是从四个预定义调色板之一中选择的,这些调色板既好看又能清楚地显示对比度。我们没有指定调色板名称,因此将使用默认的“Viridis”调色板分配颜色,但您可以选择传递另一个调色板名称,“inferno”、“magma”或“plasma”之一。

5. 添加带有悬停时显示的文本的标签列。

当您单击 Geosheets 地图上的某个要素时,将弹出一个信息气泡,其中包含该要素的所有行数据,但您也可以定义一个自定义标签,以便在将鼠标悬停在某个要素上时显示。您只需添加一个名为 Label 的列,然后将所需的文本放入该列。

我们将在悬停时显示车站名称及其海拔高度。向 H 列添加一个新的标题单元格,称为“标签”。我们将用车站名称及其高程来标记每个要素。在单元格H2中写入此公式:

 =PROPER(B2) & " - Elev: " & D2 & "m"

此公式从单元格 B2 中提取站名,然后使用内置的 PROPER 函数将其正确大写并使其更容易阅读。然后,该公式附加标高的文本并将高程本身从单元格 D2 中拉出。所以公式的结果是“Alabaster – Elev: 173m”。

现在将此公式复制并粘贴到 H 列下方,以填充所有行的标签。

6. 使用 GEO_MAP 函数创建地图。

在单元格 I1 或任何空单元格中,写入此公式:

 =GEO_MAP(A1:H3419, "contintental-us-weather-stations", "LatLng")

第一个参数是用于映射的数据范围;在这里,我们传递了整个数据表,包括标题列。第二个参数只是一个标识地图的标签,它将构成结果地图 URL 的一部分;这可以是任何字符串。第三个参数是包含要映射的位置的列的标题; location 列可以像这里一样包含坐标,也可以包含地址或地名。第三个参数是可选的,如果您的位置在表格的第一列或名为“Location”的列中,则可以省略。在这里,我们的位置位于名为“LatLng”的中间列中,因此我们需要将其包含在内。

片刻之后,公式应该会评估新地图的 URL。如果您使用的是 Geosheets 插件,您将在文档右侧的侧边栏中看到地图的自动更新预览。否则,请单击 URL 以查看整页地图。

输出

最终地图应如下所示:

美国大陆气象站

您可以在https://www.geosheets.com/map/s:jwbz2Xb3/contintental-us-weather-stations查看全页地图。

从侧边栏或整页地图,您可以更改有关地图的设置,例如其标题、描述和底图图块图层。我们已将基础地图层更改为灰色,以更好地显示要素及其颜色。

这是最终的电子表格

You may also like...