Microsoft 与 ArcGIS 集成

构成 ArcGIS 的工具和技术历来与多种 Microsoft 技术相集成。 随着 Esri 和 Microsoft 各自调整其产品战略、术语及产品组合,双方紧密的合作关系推动了持续性的开发工作,形成了传统与前沿模式并存的格局,并形成了将 ArcGIS 与 Microsoft 结合使用的多种方式。

本主题将提供有关这些技术的高级指南,以针对如何应用这些技术提供建议,并在适当情况下提供指向相关 ArcGIS 或 Microsoft 文档的链接以提供附加背景信息。

请参阅 ArcGIS for Microsoft,了解 ArcGIS 产品对各种 Microsoft 技术的支持概览。

Microsoft 365

Microsoft 365 商业生产力套件包含多种可与 ArcGIS 集成或者与 ArcGIS 系统配合使用的应用程序。 这些集成将 ArcGIS 的功能直接引入用户已经熟悉的工具中。

  • ArcGIS for Excel 是一个 Microsoft 365 加载项,借助该加载项,用户可以将 Excel 电子表格中的数据与 ArcGIS 底图和内容合并到直接嵌入 Excel 体验的地图中。 用户可以连接到其 ArcGIS Online 或 ArcGIS Enterprise 组织中的内容。 该加载项还包含一套丰富的空间函数,无需通过地图界面,即可直接在 Excel 中使用这些函数,用于地理编码、处理几何以及其他工作流。 在 Excel 中创建的地图也可以发布回 ArcGIS Online 或 ArcGIS Enterprise。

  • ArcGIS for SharePoint 是一款 SharePoint 应用程序和 web 部件,由 Microsoft 管理员启用后,用户即可在 SharePoint 页面中进行创建。 与 ArcGIS for Excel 类似,用户可以将 SharePoint 列表中的数据绘制到地图上,集成来自 ArcGIS Online 或 ArcGIS Enterprise 的 ArcGIS 图层,并将结果共享回其 GIS 系统以供进一步使用。

  • ArcGIS for Teams 允许用户将地图和位置智能引入 Microsoft Teams 应用程序,以支持态势感知及其他工作流。 用户可以从 Microsoft AppSource 安装 Teams 插件以供本地使用,或者具有足够权限的特权用户可以将 ArcGIS for Teams 添加至频道或会议。

  • 拥有 OneDrive 数据的 ArcGIS Online 用户可以使用 ArcGIS Online 界面将这些云驱动器文件发布为托管要素图层。

对于使用 OneDrive 或 SharePoint 站点以共享工程数据和文件的组织,应注意将这些服务与 ArcGIS Pro 配合使用时的一些相关重要建议。 虽然单用户工作流或对数据的访问可能与 OneDrive 兼容,但如果不加以妥善管理,则多用户对工程或数据的访问很可能会导致问题。

  • 使用 Microsoft Visio 的团队可以使用架构中心提供的架构绘图工具包。 Visio 也是绘制工作流程图、流程示意图以及与 ArcGIS 系统相关的其他内容的有用工具。

  • Microsoft Defender 是另一个常与 ArcGIS 系统配合使用的 Microsoft 365 组件,应用于客户端和服务器计算机的底层操作系统。 虽然防病毒软件提供了重要的威胁防护选项,但其也可能会干扰 ArcGIS 应用程序中的软件工作流。 有关建议排除项以及高效使用防病毒软件的模式的详细信息,请参阅 ArcGIS 信任中心(需要 ArcGIS 登录账户)中的 ArcGIS 防病毒软件指南文档。

Microsoft Fabric

Microsoft Fabric 是由 Microsoft 提供的企业级数据整合、存储和分析平台,可将多个关键应用程序和模式整合到一个统一的体验中。 ArcGIS 技术与 Microsoft Fabric 产品体系的多个环节相关,集成点遍及这些领域。

  • ArcGIS GeoAnalytics Engine 是 Microsoft Fabric 数据工程体验中的一项通用功能,拥有 Spark notebook 或 Spark 作业定义的用户可以使用此功能将强大的地理空间查询、函数和工具集成到其工作负载中。

用户可以从数据框中访问自己的数据,也可以通过 web 服务进行查询,以访问权威的组织或公共数据集,从而与其 OneLake 数据源进行比较或交互。

有关使用 GeoAnalytics Engine for Fabric 的详细信息,请参阅 Esri 文档Microsoft 文档或集成视频摘要

  • Spark 作业定义可以在 Fabric Data Factory 配置中使用,从而将地理空间步骤添加至现有或新开发的数据迁移和变换模式。

  • Fabric 工作负载将与 OneLake 进行交互,OneLake 汇集了来自不同源的数据集。 可以通过数据库镜像和存储快捷方式将存储在 Azure 或其他云提供商的对象存储或关系数据库中的地理空间数据集成到 OneLake 中。 与 Fabric 进行交互的数据库也可能具有空间类型(例如 SQL Server 或 PostgreSQL)或者托管可在 Fabric 工作负载中使用的空间数据表。

  • Power BI 是 Fabric 的核心组件,有关将 Power BI 与 ArcGIS 数据配合使用的附加说明,请参阅下文。

  • 与 ArcGIS for Microsoft Fabric 类似,Azure Synapse Analytics 同样支持在 PySpark notebook 内使用 ArcGIS GeoAnalytics Engine

Power Platform

Microsoft Power Platform 包含多种用于处理 ArcGIS 服务和接口的模式,如下所述。

ArcGIS Connectors for Power Automate 是一组 Power Automate 原生的 ArcGIS 服务连接点,支持各种集成场景。 Power Automate 可用于基于工作流的操作,既可以作为计划的 ETL 模式,也可以基于 Microsoft 或 Azure 系统内外的其他事件驱动型触发器。 ArcGIS Connectors 支持 ArcGIS Enterprise、ArcGIS Online 或 ArcGIS Location Platform,每个平台的功能略有不同。 使用这些连接器的常见集成模式包括:

  • 通过该提供商的 Power Automate 连接器连接到远程数据源,并将数据输入到 ArcGIS 要素服务中。

  • 在将记录传递到下一步骤或其他位置之前,可以使用地理编码或地理增强服务来丰富记录。

  • 基于要素编辑内容触发电子邮件

  • 接收从 ArcGIS Enterprise、ArcGIS Online 或 ArcGIS Field Maps 工作流发送的 webhook。

  • 对多个数据集执行空间连接和汇总,并将结果输出到 OneLake 中以供进一步分析。

以上只是 ArcGIS Connectors for Power Automate 支持的多个工作流示例,有关附加示例和指南,请参阅文档

ArcGIS Maps for Power BI 是由 Esri 为 Microsoft 用户提供的另一项地理空间功能。 ArcGIS Maps 可视化对象直接内置于 Power BI 中,支持显示来自 Power BI 数据集的空间数据图层(例如地址或经纬度位置),以及来自 ArcGIS Enterprise 或 ArcGIS Online 的参考图层。 作为原生集成,用户可以在 Power BI Desktop、在线创作体验或者已发布的在线报表中直接使用 ArcGIS Maps 可视化对象及其现有数据图层。

与 ArcGIS Maps for Power BI 配合使用的常见集成模式是将业务数据(例如按区域划分的销售额)与一组标准地理位置相结合,这些地理位置可以是 Esri 提供的(如美国各县),也可以是内部数据集(如销售区域)。 然后,可以通过连接来合并这些数据,并根据数据量或其他属性来符号化数据,同时仍可使用 Power BI 切片器和过滤器与报表进行交互。

通过 REST 访问的 ArcGIS 服务也可以用作具有 JSON 数据连接器的 Power BI 的数据输入,在 JSON 数据连接器中,这些服务可以像任何其他数据集一样,用于创建切片器、图表、表格或其他可视化对象。 此模式可以支持来自 ArcGIS Online、ArcGIS Enterprise 和 ArcGIS Location Platform 的数据服务。 该工作流依赖于构造对 REST 端点(例如地图服务的要素图层或者影像服务)的查询,该查询会返回 JSON,然后将该查询的 URL 用作 Power BI 中的数据源。 JSON 返回结果经过反嵌套处理后,即可用作 Power BI 中的数据源。 使用此方法时,请注意身份验证方面的限制:公共服务最适用,但受保护的服务可能需要长期有效的令牌或 API 密钥,才能进行集成;此外,大多数 REST 服务将响应限制为一定数量的记录,因此 PowerQuery 配置中可能需要分页逻辑。

另一种在 PowerBI 中访问基于 ArcGIS 的数据源的模式是使用 Power Automate,通过内置连接器查询 ArcGIS 服务,并将结果以文件形式输出到 OneLake、数据库或者其他支持作为 Power BI 输入的系统中。 此 ETL 过程会创建数据副本,并通过计划的 Power BI 过程保持其最新状态,并且还可以在过程中集成数据变换或合并。

将 ArcGIS 界面或数据集引入 Power Apps 体验(如画布或模型驱动应用程序)的另一种常见方法是在 <iframe> 元素中嵌入 ArcGIS web 应用程序。

关于此集成的更多建议,请参阅将 ArcGIS 应用程序嵌入 iframe。 对于 Power Platform 用例,尤其是当嵌入式应用程序需要用户登录账户或身份验证步骤时,请务必仔细查看与单点登录相关的建议。

此模式的潜在用例包括:

  • 当查看列表中的相应位置时,嵌入用于加载位置地图的 ArcGIS web 应用程序

  • 使用 ArcGIS Experience Builder 构建的要素编辑应用程序将作为许可解决方案的一部分加载,支持用户在返回到 Power Apps 表单视图进行进一步数据输入之前必须绘制边界的步骤

  • 公司可以将其保单信息与洪水风险地图以及保单覆盖位置地图进行对照查看,从而更好地理解承保方式或承保范围变更的背景及其潜在的地理影响

.NET 开发

多年来,.NET 开发人员一直使用 ArcGIS SDK 来构建自己的应用程序和工作流,并在此过程中应用各种空间工具或功能。 如今,Esri 提供了多种 .NET 开发选项,可支持与此 Microsoft 技术的集成:

  • ArcGIS Runtime SDK for .NET 面向希望创建相应移动或原生应用程序的开发人员,这些应用程序具有以地图为中心的体验。 该 SDK 提供了一组类和方法,可用于与地理空间 web 服务进行交互、执行设备端分析、离线处理地理空间数据以及支持复杂的编辑工作流。 可将使用此 Runtime SDK 构建的应用程序部署到 iOS、Android、Windows 及其他操作系统上。

  • ArcGIS Pro SDK for .NET 是一个专为创建 ArcGIS Pro 的加载项和配置而设计的 .NET SDK。 此 SDK 可用于创建与外部服务或系统集成的加载项,或者创建在启用特定工具或要素集的情况下打开 ArcGIS Pro 的配置。 借助该 SDK,开发人员可以创建新的用户界面、支持编辑模式或者操作地图控件。 就集成而言,ArcGIS Pro 加载项是为 ArcGIS Pro 构建特定于提供商的界面的常用方式。通过该界面,用户可以登录到远程系统、使用一组 API 进行操作,并提取可在 ArcGIS Pro 地图中显示的数据,甚至在可能的情况下实现双向工作模式。

  • ArcGIS Enterprise SDK for .NET 可用于开发服务器对象拦截器服务器对象扩展,可将其部署到基于 Windows 的 ArcGIS Server 站点中。 拦截器和扩展对于集成工作流都非常有用,包括:

    • 应用于要素图层查询请求的 SOI 可以通过调用单独的 API 来添加 GIS 系统中不存在的属性,从而丰富查询结果。

    • 可以开发 SOE 以访问单独的数据库提供商或数据存储系统,然后由为特定工作流定制开发的移动应用程序调用该 SOE。

    • SOI 的安全集成可以通过使用请求用户的用户名查询单独的安全系统来引入图层级别或行级别的安全机制。

Azure 技术

许多组织会构建并部署与 Azure 组件及服务进行交互的 ArcGIS 系统。 为 Azure 设计系统的架构师会使用各种服务,本部分将为每项服务提供有用的背景信息,以及与 ArcGIS 软件的任何标准集成模式。

ArcGIS 系统可以使用原子 Azure 服务从头开始构建,可以通过 ARM 模板实现自动化部署,也可以使用 ArcGIS Enterprise Cloud Builder for Microsoft Azure 进行构建,该工具提供了一个基于向导的可视化界面,用于部署 Azure 资源并在这些系统上配置 ArcGIS 软件。

  • Azure 中最常见的架构模式依赖于 Azure 虚拟机,后者提供了具有多种操作系统选项的虚拟化计算资源。 许多组织使用 Azure 虚拟机以及受支持的 Windows 或 Linux 操作系统来托管和部署 ArcGIS Enterprise 组件以及 ArcGIS Pro。 虚拟机提供了一种直接部署特定计算资源的方式,并且是许多基于 Azure 的架构的基础构建块。 Azure 虚拟机支持加入 Entra ID 域,并通过 Entra ID 身份进行登录,这可以模拟本地虚拟机或终端的许多用户访问和权限模式。

  • The Azure Kubernetes 服务 (AKS) 可用于将 ArcGIS Enterprise on Kubernetes 部署到经过适当预配置的集群中。 AKS 是一款功能强大的 Kubernetes 托管服务,包含多种用于实现可扩展性、韧性和可观测性的内置功能。 从架构角度来看,请注意 note AKS 会强制要求定期升级 Kubernetes 版本,这意味着组织应计划定期升级 ArcGIS Enterprise on Kubernetes 以保持与受支持的版本一致。

  • Azure Virtual Desktop (AVD) 将为最终用户客户端提供托管 VM 产品。 此服务常用于 ArcGIS 系统中,以提供对虚拟化 ArcGIS Pro 主机的访问权限。 在 VDI 环境中运行 ArcGIS Pro 的架构建议同样适用于 AVD。 Microsoft 已发布示例 AVD 架构作为其架构中心的一部分。

  • Azure Entra ID 几乎是所有 Azure 部署中的核心组成部分,许多组织已转向采用 Entra ID 的混合目录方案,或者已完全迁移至 Entra ID。 此技术与 ArcGIS 在多个方面具有关联性:

    • 组织可以通过 SAML 或 OIDC 协议,将 ArcGIS OnlineArcGIS Enterprise 配置为使用 Entra ID 作为企业级身份提供者。 Entra ID 也可以像传统域一样使用,管理员可将虚拟机或数据库服务加入该域,以实现身份验证。

    • Entra ID 应用程序代理服务是一种 Azure 解决方案,用于为内部应用程序或本地系统提供 Internet 访问。 可将应用程序代理组件安装在内部 web 服务器上,然后将其配置为连接到 Entra ID,Entra ID 会为应用程序创建一个面向公众的 URL,并通过安全隧道将流量传回内部服务器。 在_直通_模式下,Entra 应用程序代理可以高效地为内部应用程序提供面向 Internet 的访问,而无需构建 DMZ 或部署反向代理。 当配置为对用户进行预先身份验证时,Entra ID 应用程序代理是身份感知型代理的示例。

    • 对于许多基于虚拟机的部署,这些系统可能会在某种程度上与 Entra ID 集成,涵盖从 DNS 管理到完全加入域。 这些配置的定义方式最好与其他组织 IT 倡议保持一致,从而以合规方式管理 ArcGIS 组件。

  • Azure 中的多种托管数据库服务通常与 ArcGIS 系统配合使用。 ArcGIS 可与 Azure SQL Database 或 Azure SQL Managed Instance 等数据库服务集成,以便用作企业级地理数据库、通过查询图层进行访问,或者用作 ArcGIS Enterprise on Kubernetes 的关系存储。 Azure 提供 SQL Server 和 PostgreSQL 两种选项,具体取决于组织的首选项,并且还包含无服务器选项,以平衡性能与成本。 通过 Azure SQL 托管实例,可以实现与 Entra ID 的紧密集成。

  • Azure CosmosDB 是 Azure 中一种灵活的文档数据库服务,在多种场景下与 ArcGIS 相关。 Azure Cosmos DB for PostgreSQL 是一种受支持的企业级数据库托管模式,可与 ArcGIS Pro 和 ArcGIS Enterprise 配合使用。 Cosmos DB 也可以作为数据源类型从 ArcGIS Velocity 进行访问,以便将记录读入 Velocity 中进行持久化和分析。

  • Azure 应用程序网关是一个功能强大的反向代理和负载均衡解决方案,通常用于为 ArcGIS Enterprise 部署提供通用入口点。 Azure Cloud Builder 会将 Azure 应用程序网关部署为标准部署架构的一部分,此服务提供了多种相关功能。 应用程序网关可以帮助配置 TLS 证书设置、转发至单独的后端服务器池、管理到后端端点的端口转换,以及根据配置需要重写 URL、标头或其他 HTTP 组件。

  • Azure Databricks 是一项托管 Databricks 服务,其基于 Azure 计算资源构建,并与 Azure 存储容器和服务进行交互。 ArcGIS GeoAnalytics Engine 可在 Azure Databricks 内使用,以完成大规模数据集上的数据变换和分析工作流。

  • Azure NetApp Files 是 NetApp 提供的一种云原生存储产品,用于为关键系统组件或资产的存储提供高性能文件系统。 ArcGIS Enterprise 部署可以使用 Azure NetApp Files 来存储配置文件和内容,尤其是在高可用性和系统可靠性至关重要的场景下。

  • Azure API 管理是一个面向 API 的管理平台,可以在 API 管理模式中与 ArcGIS 部署配合使用。 具有 Azure API 管理的一些常见集成模式包括:将自定义安全策略应用于 GIS 服务、创建能够根据不同配置代理到不同服务的端点,或者有选择地将请求反向代理到基础架构中。

  • Azure Monitor 和 Azure Log Analytics 是 Azure 提供的可观测性产品,支持对应用程序性能数据进行高级查询和可视化。 ArcGIS Enterprise on Microsoft Azure 可以配置为将 ArcGIS Server 日志发送至 Azure Monitor,可以在其中将其与其他系统指标一起进行分析。

  • Azure Functions 是一种轻量级的无服务器应用程序,可以通过 URL 或请求进行调用。 基于 Python 的 Azure Functions 可以利用 ArcGIS API for Python 向 ArcGIS 服务发送请求、创建或更新内容,或者向要素服务写入行。 基于 NodeJS 的 Azure Functions 可以使用 arcgis-rest-js 库来实现类似集成。 请注意,由于 arcpy 需要 ArcGIS 软件许可,因此无法在 Azure Functions 内运行。

  • 许多 ArcGIS 系统将数据集存储在 Azure Blob 存储账户和容器中,主要存储在 Blob 容器中。 常见工作流包括影像数据存储、备份模式以及 ArcGIS Enterprise 的基础系统存储。 Azure Blob 存储可用作系统目录的存储位置,支持 Portal for ArcGIS 的内容存储以及 ArcGIS Server 站点的配置存储库和服务器目录,并且可以将其配置为对象存储。 ArcGIS Enterprise 部署可以将 Azure 存储账户或 Azure Data Lake Storage Gen2 容器注册为云存储,然后将其用作分析过程的输入或者分析工作流结果的输出位置。

  • ArcGIS Data Pipelines 也可以连接到 Azure Blob 存储容器并从中拉取文件。 在大多数情况中,映射工作流不支持直接读取 S3 中的矢量数据,但是对于使用在 AWS 内部或邻近的 Spark 环境中运行的 ArcGIS Pro 或者 ArcGIS GeoAnalytics Engine 的地理分析工作流,在分析输入中使用这些矢量数据集是常见做法。 ArcGIS Pro 也可以连接到并读取来自云存储连接的 Apache Parquet 文件。​

  • Azure 内容分发网络 (CDN) 是 Azure 提供的内容分发网络产品,可利用全球接入点加速 web 请求。 CDN 可以与 web 应用程序或者 ArcGIS Enterprise 本身进行集成,但存在一些重要的注意事项。 有关使用 CDN 的一些有用的注意事项,请参阅此 Esri 社区帖子

其他 Microsoft 技术

许多组织将 SQL Server 与 ArcGIS 配合使用,作为关系数据库存储库,用于存储地理或表格数据,并根据用例通过企业级地理数据库或查询图层对其进行访问。 许多类型的 SQL Server 功能均与 ArcGIS 工作流兼容,并提供了若干相关的最佳实践。

  • 对于大多数与企业级地理数据库要素类的交互,建议使用 ArcGIS 工具,因为诸如分支版本化或归档等特定配置可能会创建复杂的 SQL 定义,需要谨慎处理。

  • 在数据库逻辑内使用 ArcGIS 空间 SQL 函数有助于实现数据工作流的自动化、合并不同的数据集以及创建新的输出表或视图。

  • 当使用数据库视图时,请先在 SQL 接口中确保视图性能足够良好,然后再从 ArcGIS 客户端中使用该视图。 支持物化视图的数据库系统可以考虑利用此功能,通过定期计划更新来提升视图的查询性能。

Azure 中的实时工作流通常会使用 Azure Service BusAzure Event Hub,这两项 Azure 原生服务可提供消息处理、队列和管理功能。 ArcGIS Velocity 可以与这些云端源集成以读取事件并通过分析流处理源。

Top