使用 Snowflake 进行地理空间分析2025 年 7 月 31 日 | 阅读 10 分钟 通过收集和分析具有空间背景的任何数据,例如公司卡车和司机的地理位置、居民的消费模式、跨国界的天气模式的影响、消费者需求、交通模式以及零售行业的本地人口,地理空间数据已成为几乎所有组织在更广泛的方面理解和优化其业务的关键。 ![]() 通过利用地理空间能力来优化决策,各行各业的企业已经与客户行为相匹配。在 Snowflake 云平台上使用超过 60 个开源地理空间函数,处理地理空间数据变得简单。 概述本课程将探讨 Snowflake 的地理空间函数在优化方面的实用性。此外,在讨论要使用的最佳技术时,还将说明竞争分析。 访问和评估地理数据可获得可用于提高收入、确定区域需求、按地理位置分析用户行为等方面的见解。 现在让我们来考察零售行业的几个用例,并了解地理数据(如 Snowflake)如何用于改善业务运营。下一个用例是检查 5 到 15 公里半径内的商店,并了解消费者行为和零售运营。同样,地理信息和客户人口统计数据可以结合起来提供本地化服务。 架构概述CARTO Spatial Extension 由一组用户定义函数组成,这些函数增强了 Snowflake 的地理空间能力。 对于我们的用例,零售数据集(Marketplace)将被导入 Snowflake 云 数据仓库,并将使用 Tableau 生成可视化分析。下面将介绍 Snowflake 数据仓库平台的基本功能和模块,可用于启用地理分析。 ![]() 转换模块包含修改几何形状大小或计算几何构造的函数。
这使得创建一个全局地理数据库成为可能,该数据库没有接缝和奇点,具有单一坐标系,并且相对于地球的实际形状,在整体上具有最小的失真。 下面列出了此零售用例中使用的核心模块和功能。
数据集和工具包下面列出了用于此概念验证的数据集和工具包。 ![]() Tableau 的可视化分析 Tableau 是最好的 数据可视化 工具之一,其简单目标是帮助用户查看和理解他们的数据。无需编写大量代码,Tableau 地图即可轻松分析和理解地理空间数据。 ![]() 使用 Tableau 的地图图表和地理空间函数,可以快速可视化地理空间数据并创建交互式仪表板。您可以将空间文件与电子表格或文本文件等其他格式的数据集成,并通过空间函数的帮助进行复杂空间分析。 下面列出了 Tableau 使用的一些常用地理函数
由于此用例中的数据是静态的,因此仪表板和图表很简单,并且只使用了少量 Tableau 功能或应用程序。在实际情况中,还可以使用地图层、故事板和集函数。为了更容易理解,数据以 Tableau 中的 GIS 地图形式显示,以生成“可用于分析的交互式且即时可用的仪表板”。 第一部分:为了找出哪些客户在商店指定范围内,哪些其他商店在该范围内,以及哪些产品最常被该区域的客户使用,让我们在 Snowflake 中建立一个视图。该视图将提供商店名称、商店位置、客户名称、客户位置、产品类型、客户与商店位置之间的距离以及许多其他相关详细信息。这些数据将有助于理解在预定半径内特定商店的客户交易。 以下步骤用于生成下面的图表步骤 1:使用 MAKEPOINT 函数在 Tableau 地图图表上使用纬度和经度绘制商店的位置。 步骤 2:使用相同的 MAKEPOINT 方法在同一地图图表上绘制客户的位置。 步骤 3:在 Tableau 中,创建一个距离参数,其可能值为:5、10 或 15 公里。 步骤 4:使用距离参数和距离字段通过连接它们来过滤。 当用户选择一个客户位置时,仪表板将显示距离用户位置 5-10-15 公里范围内的其他商店,并且客户可以在这些商店进行购买。 ![]() 让我们来谈谈第二个例子,其中仪表板显示了距离已从第一部分(见上文)选择的客户 5-10-15 公里范围内的所有商店。 以下步骤用于生成下面的图表步骤 1:使用 MAKEPOINT 函数绘制客户的位置。 步骤 2:使用相同的地图图表,标记所选客户未进行任何购买的零售地点。这些数据直接从 Snowflake 视图中检索。 步骤 3:在 Tableau 中,创建一个距离参数,其可能值为:5、10 或 15 公里。 步骤 4:使用距离参数和距离字段通过连接它们来过滤。 下面的屏幕截图是第一部分的扩展,显示了客户订单随时间推移的模式。“viz in tooltips”方法是主要使用的方法。 ![]() 要创建类似的内容,需要执行以下操作:步骤 1:创建一个折线图,按产品类别显示订单随时间推移的趋势。 步骤 2:参考第一部分中该图表的工具提示。 步骤 3:通过传递客户 ID 来应用过滤器。 ![]() 第二部分:为了理解指定区域内没有交易的商店,让我们创建另一个 Snowflake 视图。该视图将提供商店名称、人口、密度以及商店与潜在客户之间的距离。这些详细信息将有助于分析并提供有关业务可能得到改善的区域的见解。 让我们来考察以下图表如何以及显示什么。下面的图表说明了为选定的商店进行客户覆盖的潜在目标位置。图表中显示了尚未进行客户交易的位置。为了便于理解,下面的表格视图提供了按邮政编码划分的人口和密度详细数据。 可以使用以下步骤来创建此可视化效果:步骤 1:从新创建的 Snowflake 视图中检索尚未完成交易的所有客户位置。每个商店将有一个此长列表的不同版本。 步骤 2:使用 Tableau 的 MAKEPOINT 函数将这些客户映射到地图图表上。 ![]() 一些复杂的用例
用例 1:基于用户画像Mike 拥有一家食品配送业务,正打算在新区域创建一个新地点。Mike 需要研究新区域的消费者和市场趋势,因为他对市场趋势一无所知。Mike 使用 Snowflake 数据市场来获取消费者交易数据作为输入。通过利用 Snowflake 地理空间功能,Mike 对整个可触达市场有了全面的了解。 ![]() 用例 2:基于用户画像Bella 拥有一家杂货店,出售雨伞等日常用品。 通过关注新老客户以提高质量,Bella 希望提高收入。 她最近在店里增加了侧边商品。 通过利用 Snowflake 的地理分析功能,Bella 可以利用天气预报数据。此外,还可以使用客户交易数据来定位新老客户。 ![]() 竞争分析由于负载可以分散到多个服务器和集群,并且由于有现成的数据市场,可以轻松获得更深入的见解,因此 Snowflake 使处理地理空间数据变得高效且简单。通过利用 Snowflake 在地理空间 数据分析 方面的见解,可以降低利润、欺诈和风险。 ![]() Tableau![]() Snowflake![]() 数据类型对于地理空间数据,Snowflake 提供以下数据类型:
输入和输出地理空间以下各节涵盖了读取和写入地理数据所支持的标准格式和对象类型。
关于 GEOGRAPHY 值 EWKT 和 EWKB 处理的说明 PostGIS 引入了两种非标准格式:EWKT 和 EWKB。通过添加空间参考系统标识符(SRID),指示要与数据一起使用的坐标参考系统,它们改进了 WKT 和 WKB 格式。目前 Snowflake 只支持 WGS84,它对应于 SRID=4326。 ![]() 了解在 GEOMETRY 中使用不同 SRID 的影响您可以将具有不同 SRID 的对象添加到 GEOMETRY 列。如果列具有多个 SRID,则一些关键性能优化将不起作用。这可能导致搜索速度变慢,尤其是在对地理空间谓词进行连接时。
将 Python UDF 与地理数据结合使用
Snowflake 提供的 SQL 工具使将 H3 与 GEOGRAPHY 对象结合使用成为可能。这些功能可用于:获取点的 GEOGRAPHY 对象的 H3 单元格 ID(索引)(反之亦然)。
概述处理无效地理空间形状的过程默认情况下,当输入格式合适的数据转换为 GEOGRAPHY 或 GEOMETRY 对象时,地理转换函数执行以下操作:
将地理空间数据摄取到 Snowflake地理空间数据有许多不同类型和大小。您摄取到 Snowflake 的文件与 CSV 文件之间唯一的结构区别在于源文件将包含纬度和经度。如果数据之前已被处理并塑造成地理表示形式,则可以预期数据是熟悉的文本格式。 用例
使用 Snowflake 进行地理空间分析的优势 可伸缩性
挑战与注意事项
结论总而言之,我们可以得出结论,通过 Snowflake 中的地理空间分析,企业可以轻松、可扩展且高效地利用空间数据的价值。企业可以通过利用其高级地理数据类型、强大的 SQL 函数和集成功能,从基于位置的数据中提取有价值的见解。 下一个主题地理空间函数-转换-输入解析 |
我们请求您订阅我们的新闻通讯以获取最新更新。