-1

我目前正在做一个概念验证,我们使用 Azure 数据库作为我们的数据存储。我有一张表,其中包含一些信息,还有一个几何列(几何都是多面体)。

现在,我们希望能够在 Azure Maps 中查看和编辑这些几何图形。从我的谷歌搜索来看,您似乎不能只是将两者“挂钩” - 必须有一些中介,这很公平。我已经编写了一个 node.js 文件,目前在我的 PC 上本地,它可以查询数据(当前过滤字段,但发送边界框很容易)。

我想我的问题是“让 Azure Maps 和 Azure Database 交流的推荐方法是什么?” 如果首选方法是 node.js,我会采用它,然后我需要从结果中创建一个 json/geojson 并将其显示在 Azure Maps 中,但我该怎么做呢?我将如何发送/发布信息?

我还想尽可能远离 Visual Studio,最好有一个轻量级的解决方案。

4

1 回答 1

1

您需要一个简单的服务将数据从数据库传递到客户端应用程序。从那里您可以在地图上叠加数据。Azure 函数是一个不错的简单解决方案,但在 Azure Web 应用程序中创建 REST 服务也相当容易。没有一种架构建议,因为可以采用数百个有效选项/路径,根据您的场景,其中一些比其他更好(即 SignalR 更适合流数据集)。我建议使用你最熟悉的。这里有几个简单的方法:

https://markheath.net/post/azure-functions-rest-csharp-bindings

https://devblogs.microsoft.com/azure-sql/rest-api-with-azure-functions-javascript-and-azuresql/

如果创建一个 Web 应用程序,那么至少将数据作为 JSON 传递将是理想的,GeoJSON 会更容易,并且在添加到地图之前不需要转换服务响应,但可能会导致更大的响应大小(可能无关紧要,具体取决于关于您的回复中的结果数量)。

如果使用 JSON(不是 GeoJSON),您可以将几何图形转换为众所周知的文本字符串,空间数据库中的 ToString 或等效方法将为您生成它。然后,您可以使用 Azure Maps 的Spatial IO 模块将其解析为客户端应用程序中的 GeoJSON。

于 2021-05-12T17:14:44.613 回答