在 IBM SmartCloud Enterprise 上实现地图和地理空间数据分析

Esri ArcGIS 和 Esri Maps

云计算正成为管理资源、降低成本和优化基础架构的下一代 IT 平台。与云关联的核心特征与地理空间技术具有内在的关系,比如动态分配资源来满足地理空间专业人员的严格需求、相关领域科学,以及在数 TB 空间数据上执行分析所必要的密集计算容量。本文介绍 GIS、地理空间分析、Esri ArcGIS 应用程序和 Esri Maps 应用程序,以及如何在 IBM® SmartCloud Enterprise 上部署它们。

Marwa Mabrouk, ArcGIS for Server 产品经理, Esri

Marwa Mabrouk 是 GIS 领域的全球领导企业 Esri 的一位产品经理。Marwa 致力于基于服务器的产品,将云计算和大数据带到 GIS 和空间分析中。14 多年来,Marwa 将她的时间和精力都投入到了拓宽 GIS 的新边界上。她领到了业界第一个提供在线地图的托管 Web 服务的开发。在这之后,她担任了在云中建立 Esri 的托管服务的项目的技术领导。Marwa 拥有肯塔基州路易斯维尔大学的计算机科学硕士学位和加利福尼亚州雷德兰兹大学的 MBA 学位。



Victoria Kouyoumjian, 高级业务和技术战略家, Esri

Victoria Kouyoumjian 在 Esri 从事地理空间领域方面的研究工作已有超过 15 年的时间,在此期间见证了高科技行业的许多变化。在担任专注于开发人员的软件解决方案套装的产品经理一职多年以后,她现在担任高级业务和技术战略家,专注于新兴技术趋势(比如云计算、大数据和开源等)以及它们对地理空间社区的影响。她为全球独立研究机构 Gartner 和 Forrester 以及信息技术行业的业务领导者工作。她参与编写了 The Business Benefits of GIS: An ROI Approach, in 2008;是一位正式的企业客座博主;还常常编写和发表有关技术主题的文章,揭示即将成为主流的蓬勃发展趋势。



2012 年 11 月 28 日

地理信息系统 (GIS) 允许任何人为了进行智能空间分析而存储、操作和可视化显示在地图上的数据。GIS 可展示数据中的模式、识别关系和趋势,允许通过预测建模来理解和规划可能影响未来的业务或社区的因素。

本文的第一节将介绍 GIS 可为应用程序增加的价值,还将探讨作为一种新的地理空间分析形式的云给这个领域增加的价值。

地图可传达信息。类似于照片或图画,地图以可视的形式来强调一些概念和想法,它们可以记录历史,建模更改和构想未来。地图描述的解释模式和趋势可突破语言和文化壁垒,是用来制定关键决策的一种强大工具。

尽管地理信息系统 (GIS) 有许多定义,但在本文中,GIS 是一项技术,它提供了一个动态地图系统来存储和访问空间数据,以便执行空间分析、查询和地理处理。

有许多不同类型的地图也可以使用地图解决许多不同类型的问题,比如规划一个城市的增长,向社区提供服务,管理公共基础架构,开发或发展一项业务,或者改善应急响应操作。GIS 允许用户编译和传达大量信息,通过可视化轻松地揭示用户数据中的关系和模式。GIS 地图构建于一个正式的 GIS 信息模型之上,该模型描述了在底图层概念上建立的地理特性,可部署在 Web 上、通过服务器部署到桌面应用程序上和部署到移动设备上。

在传统上,GIS 是使用内部部署的软件和硬件中的本地数据来实现的。但 GIS 越来越多地应用在云中。随着云计算的出现,使用和共享数据正在快速变得大众化,这使地理空间分析和 GIS 几乎可供任何人使用。因为 GIS 的价值随其普及程度的增长而增长,所以向更多用户和社区提供智能地图的平台不仅为这些交付成果增添了价值,还为用于生成这些产品(比如通过 Web 地图应用程序)底层 GIS 增添了价值。

地理空间分析和地图

地理空间分析和地图可为应用程序带来变革,无论是从用户体验角度和易用性方面,还是从特性优化角度来讲。理解位置作为任何信息的一部分所带来的影响,并在分析信息时考虑位置和地理信息,这样可以揭示平常可能隐藏的、难以理解的新洞察。能够运行常见的分析并增加了一些位置和地理特性分析等充实因素,可以将一种部分想象转换为完整的理解。Esri Maps Web 应用程序就是通过丰富的地图数据可视化功能产生新洞察的一个示例。

此外,在云中利用 ArcGIS for Server 是让这些特性变得可用,维持对资源利用率的控制和基于部署需求来优化它的一个关键方面。ArcGIS 10.1 for Server 专为在云环境中高效运行而构建;该架构为了可以在分布式虚拟环境中工作而设计,使用户能够获得最佳的性能和可伸缩性。ArcGIS for Server 可成功部署在 IBM SmartCloud Enterprise 中,以便支持构建利用了其地图和地理空间分析功能的应用程序。

希望在其应用程序中利用地图和地理空间分析的开发人员可在 Esri 产品中找到一个功能非常丰富的平台,该平台为他们提供云环境中的一些必要功能。借助利用了 ArcGIS Online 和 ArcGIS for Server 的 ArcGIS 地图 API 和应用程序模板,开发人员可迅速开始构建非常强大的地图应用程序。希望专注于移动平台和构建特定于移动设备的应用程序的开发人员可利用 ArcGIS for Mobile API。此外,数据专家可以利用 ArcGIS for Desktop 来实现数据管理和创建,并从非常复杂的分析中生成更多数据。

开发人员可立即通过 Esri Developer Network (EDN) 利用来自 Esri 的各种 API、产品和内容开始进行开发,该网络可手动订阅,提供了一种经济高效的方式为 Esri ArcGIS 产品和工具提供许可。无论您是 Web、桌面、移动开发人员还是服务器开发人员,EDN 都拥有构建可轻松部署在您环境中和云中的 GIS 应用程序和解决方案所需的资源。


地理空间分析实战:Esri Maps

为了强调地理空间分析带给 Web 开发人员的价值,让我们来看一个利用地理空间技术的 Web 地图应用程序的示例。

Esri Maps Web 应用程序可在一个地图上下文中显示不同内容,允许用户过滤、聚合和显示条件数据,同时让高管远离深入的细节和信息重载,以一种易于理解、动态的地图形式传达含义和理解。通过 GIS 的一个强大系统,可制定有益于业务、客户、居民和选民的关键决策。

Esri Maps Web 应用程序为城市视图和事件提供了一个地理空间上下文。公交车路线、人口统计、关键公共设施、天气和流量等特性与 IBM Intelligent Operations Center (IOC) 生成的事件有关联。通过可视化这些数据,城市官员可以:

  • 通过地图理解实时事件。
  • 跟踪趋势和查看事件在增多还是减少。
  • 处理一个可通过任何浏览器 24x7 提供的通用的操作图像。

这个 Web 地图应用程序可通过桌面上的一个 Web 浏览器进行使用,也可在智能电话和平板电脑等移动设备上通过 Web 浏览器进行使用。应用程序的用户可通过地图上下文查看以下内容:

  • 来自 IBM IOC、从各种城市级来源流出的当前事件。
  • 关键设施,比如附近的学校和日托场所;关键资源,比如避难所和医院;以及关键基础架构资产,比如地铁。
  • 事故的估计传播时间,以及性能度量指标。
  • 社交媒体数据,比如 Twitter 和 YouTube 视频提要。

要查看此示例应用程序,请查看 IOC (IBM Intelligent Operations Center) Dashboard

现在让我们看看用于开发此地图仪表板的每个组件。

ArcGIS for Server

ArcGIS for Server 提供了通过 Web 创建、管理和分发 GIS 服务来支持桌面、移动和 Web 地图应用程序的功能。此外,ArcGIS for Server 还为您提供了一个可扩展的 GIS 服务器平台,可在单台机器上部署该平台,以便支持小型工作组,或者可以跨多个服务器来分发它,以便支持企业应用程序。

ArcGIS for Server 为开发人员、GIS 专业人员、移动工作者以及没有 GIS 经验的知识工作者简化了对 GIS 服务的访问。借助 ArcGIS for Server,用户可通过空间数据(包括图像)的集中化管理来保持对其数据的控制。

地图服务

地图服务是用户使用 ArcGIS for Server 向 Web 提供地图的方式。互联网或内部网用户然后可在 Web 应用程序、移动应用程序、ArcGIS for Desktop、ArcGIS Online 和其他客户端应用程序中使用该地图服务。地图服务的一个常见用途是:在来自 ArcGIS Online、Bing Maps 或 Google Maps 的基础地图磁贴上显示商业数据。使用地图服务的许多其他方式包括:

  • 提供动态地图
  • 提供磁贴式的缓存地图
  • 提供特性
  • 提供网络分析功能
  • 通过 KML 提供地图或特性
  • 提供图像或光栅图
  • 为移动设备提供地图

地图 API

ArcGIS 地图 API 提供了 JavaScript™、Microsoft Silverlight® 和 Adobe Flex™ 版本。通过这些不同的语言,Web 开发人员能够通过他们最喜欢的语言以及该语言的已知优点来利用地图和地理空间分析 Web 服务。为了进一步简化使用,还提供了应用程序模板。

此外,开发人员也可以通过 ArcGIS for Mobile 利用专为移动设备构建的 API。这些不同种类的 API 都拥有使用 ArcGIS for Server 地图服务的内置功能,让 Web 和移动应用程序开发变得更容易。

地图内容

ArcGIS Online 是一个完整的、基于云的协作式内容管理系统,允许组织在一个安全而又可配置的环境中管理其地理信息;ArcGIS Online Map and Geoservices 是 ArcGIS Online 的一个特性,允许开发人员在其应用程序中利用丰富的基础地图。ArcGIS 地图 API 拥有利用 ArcGIS Online 地图的内置功能,使开发人员能够使用基础地图作为其内容的背景/上下文。

例如,如果开发人员希望使用 ArcGIS API for JavaScript 和 ArcGIS Online 基础地图向一个 JavaScript Web 应用程序添加一个表示全球街道的基础地图,那么可以使用如下所示的一项功能来完成此任务:

有关包含使用不同类型的地图服务、支持空间分析的小部件和应用程序模板的示例的完整列表,每个地图 API 的 Esri web 地图资源中心 提供了丰富的相关信息,可帮助开发人员和用户详细了解该区域。它还包含构建一个应用程序所需的所有信息,以及如何通过自定义来利用现有的应用程序模板。

返回到 Esri Maps 示例

在 Esri Maps Web 应用程序中,一个地理空间分析特性是计算服务区域。在此分析中,ArcGIS for Server 将会计算街道网络上可在一定分钟数内从某个位置到达的每个点。所以如果我们请求一个 5 分钟服务区域,ArcGIS for Server 将会计算可从一个指定的中心点到达的所有街道和一辆车在 5 分钟内可从这里开多远,然后在地图上显示一个表示该区域的多边形。

这个显示服务区域的 ArcGIS API for JavaScript 示例强调了在客户端实现此功能非常简单。一旦发布了一个 ArcGIS for Server 服务区域 Web 服务,JavaScript 应用程序就可以直接利用该服务作为一个任务。以下代码段给出了示例的该部分:

服务区域是一个可在 ArcGIS 中利用的地理空间分析示例。许多空间分析工具可用作 Web 服务,它们中的每一个都能够执行非常复杂的操作,将空间方面作为其计算的关键部分。

在我们的示例中,Esri Maps Web 应用程序是作为一个 JavaScript Web 应用程序来实现的。它利用多个 Web 服务来实现自己的特性。对于地图功能,该应用程序利用受 Esri 的 ArcGIS Online 支持的 ArcGIS API for JavaScript 和地图服务,以及 ArcGIS for Server。它还访问了 REST 服务,以获取从 IBM IOC 获取有关事故和事件的信息。Esri Maps Web 应用程序使用 ArcGIS for Server 地图服务显示事故和事件附近的设施、人口统计、应急资源、交通和天气信息。

图 1 显示了部署 ArcGIS for Server 和 Esri Maps Web 应用程序的架构。

图 1. 部署架构
部署架构

ArcGIS for Server 可发布基于各种数据集类型和格式的内容。ArcGIS for Server 可从称为地理数据库的文件以针对地理空间内容的文件格式发布数据集。如果数据集获得了大量更新并需要同步,那么建议将它们保存在一个关系数据库中,然后将该数据库启用为 Esri 的 ArcGIS for Server 的企业地理数据库。

架构图中突出显示的一个替代视图是使用 ArcGIS for Desktop 的地理空间数据分析师的视图。使用 ArcGIS for Desktop 时,分析师能够创建和管理地理空间内容,分析师还能够执行非常复杂的空间分析。


部署在 IBM SmartCloud 上

ArcGIS for Server 可部署为单个机器;也可以在一种多机器配置中进行设置。这可能对满足越来越高的容量需求或提供冗余来保证高可用性很有用。ArcGIS for Server 架构可非常高效地部署在云环境中。我们将介绍如何将 ArcGIS for Server 部署在 IBM SmartCloud Enterprise 环境中。

SmartCloud 是 IBM 的公共云,可在全球许多地方使用。希望利用 GIS 地图和分析功能的用户可以利用云基础架构功能的易用性。在继续后面的操作之前,用户需要一个 SmartCloud 帐户和 ArcGIS for Server 许可(提供了试用版)。

我们将查看以下步骤:

  • SmartCloud 配置。
  • 自定义 ArcGIS。
  • 从一个自定义映像启动一个实例。

SmartCloud 配置

  1. 使用 SmartCloud 目录启动一个实例。该实例应有一个操作系统;例如 64 位 Microsoft Windows 2008 R2。在实例准备好后创建它的远程桌面。将安装文件下载到本地位置。通过 FTP 将数据从运行的实例传送到本地磁盘是个不错的选择。
  2. 运行 ArcGIS for Server 安装可执行文件并安装该软件。您可以同时安装桌面和服务器,使用许可文件来授权。在运行任何其他步骤之前,最好是创建一个映像。
  3. 要创建映像,请关闭所有程序并运行位于实例桌面上的 Autolog.bat。
  4. 使用 SmartCloud Management Console,在 Control Panel 选项卡上选择 Instances。转到安装 ArcGIS 的实例并选择它。然后单击链接 Create Private Image
    图 2. 通过 SmartCloud Management Console 创建一个私有映像
    通过 SmartCloud Management Console 创建一个私有映像

自定义 ArcGIS for Server 映像

  1. 成功创建映像后,就可开始设置包含已配置的服务的第二个映像了。首先复制空间(地图)数据。空间数据可能位于以下两个位置之一:
    • 位于本地的 C 盘上。如果计划随时都有一个服务器的 VM 正在运行,这应该就足够了。
    • 位于所有机器通用的一个远程共享驱动器上。如果服务器将部署在一种多机器分布式配置中,那么这是必需的设置。
  2. 在计划的位置设置空间数据。启动 ArcGIS for Desktop 并从该位置加载 MXD 文件。(MXD 文件是一个包含所使用的空间数据集的引用和数据集显示方式的文件。)如果空间数据位于远程位置,请确保部署它和访问它的两台机器上的端口都已打开。另外,请确保 Windows 防火墙打开了这些端口,确保使用了一个将持续可用(即使服务器机器不可用)的网络位置。这可保证新及其从准备好配置和运行的映像启动。
    图 3. 设置空间数据
    设置空间数据
  3. 通过 http://localhost:6080/arcgis/manager 启动 ArcGIS Server Manager:选择选项 Create New Site。通过设置一个用户名和密码来分配一个管理员帐户。ArcGIS for Server 配置文件可能位于以下两个位置之一:
    • 位于本地的 C 盘上。如果计划随时都有一个服务器的 VM 正在运行,这应该就足够了。
    • 位于所有机器通用的一个远程共享驱动器上。如果服务器将部署在一种多机器分布式配置中,那么这是必需的设置。
    确保使用了一个将持续可用(即使服务器机器不可用)的网络位置。这可保证新及其从准备好配置和运行的映像启动。
  4. 使用 ArcGIS for Desktop,使用位于网络上的数据和 MXD 向这个新设置的 ArcGIS for Server 站点发布一个地图服务。这通过单击 Share As 并选择 Service 来完成。
    图 4. 发布一个地图服务
    发布一个地图服务
  5. 现在,您可创建另一个映像。可为此映像提供一个与在它之上发布的服务对应的名称。再次声明,请运行位于实例 ArcGIS for Desktop 上的 Autolog.bat。然后选择该实例并选择 Create Private Image.
  6. 您应该能够看到在 Management Console 中的 Control Panel 选项卡的映像部分下创建了两个映像。
    图 5. 您有两个映像
    在 Management Console 中的 Control Panel 选项卡的映像部分下创建的两个映像

从自定义的映像启动一个实例

  1. 您可从一个包含预先配置的服务的映像启动一个实例。在这种情况下,您从该映像启动的每个实例都包含该服务的定义并已可使用。登录到管理器后,系统会提示您登录,而不是创建一个站点。
  2. 登录到 ArcGIS Server Manager 后,您之前发布的相同服务已在这里运行。这是还原单机器站点配置的一种不错的方法。
  3. 对于多机器站点配置:可以使用同一个映像来添加更多实例或恢复一个实例。要设置单机器站点配置,可从该映像启动一个新实例。当该实例准备好后,您可为它创建远程桌面,这次通过以下 URL 登录到管理员 API:http://localhost:6080/arcgis/admin。您可使用用于登录管理器的相同帐户登录。然后从支持的操作中选择 delete site
    图 6. 对于单机器站点配置
    对于单机器站点配置
  4. 通过删除该站点,该机器已准备好连接另一个站点。在这种情况下,要加入的站点将是第一个实例的站点。启动 ArcGIS Server Manager,然后登录,随后单击 Join Existing Site
  5. 输入包含主要站点的第一个实例的 IP 地址。在这之后继续完成剩余操作。为了使此操作生效,请确保该实例上的防火墙已打开 ArcGIS for Server 使用的端口 6080 和 4000-4003。
  6. 当新实例连接第一个实例时,它们都将在同一个站点中运行,形成一个集群。您可检查一台或每台机器上的 ArcGIS Server Manager 来确认这一点,方法转到 Site 选项卡并从侧栏菜单中选择 Machines
    图 7. 确认新实例和第一个实例的连接
    确认新实例和第一个实例的连接
  7. 可以使用此方法根据需要向这个运行的集群添加更多的实例。如果需要在任何时刻都可以替换某个实例,那么可以使用此方法来替换它。此外,可使用 ArcGIS Server 基于 REST 的 Admin API 在映像中内置简单的自动化,以实现这些步骤中提及的相同更改。
  8. Web 应用程序的部署可使用 IIS Web 服务器在一个服务器机器上完成,或者可以将它部署在另一个服务器上。这将取决于部署的架构和它要满足的需求。

了解 ArcGIS

ArcGIS for Server 10.1 目前已可用,用户可使用本文中详细介绍的步骤将它部署在 IBM 的 SmartCloud 中。开发人员也可通过一个本地 Esri 办事处请求 ArcGIS Server 10.1 的评估版。要验证 ArcGIS for Server 系统需求和支持的环境,请查阅 ArcGIS 资源系统需求

此外,美国的开发人员可在线购买 Esri Developer Network (EDN) 许可,其中包含 ArcGIS for Server, Data and Maps for ArcGIS、ArcGIS Runtime 以及可选的 ArcGIS for Desktop。

要获得有关的更多信息,首先可以访问的最佳位置是 ArcGIS 资源中心。开发人员可找到有关如何在任何支持的环境中部署和配置 ArcGIS for Server 的信息,以及有关可用的 API 和应用程序模板的信息。通过资源中心,用户可以联系他们的社区、利用论坛和查阅博客。还有一些丰富的教程、产品概述视频以及重要事件的演示。

感谢以下人员对本文的贡献:

  • Julio Olimpio,Esri IBM 战略联盟经理
  • Sajit Thomas,Esri 高级解决方案工程师

参考资料

学习

获得产品和技术

讨论

  • 加入 developerWorks 社区。浏览开发人员推动的博客、论坛、群组和维基,并与其他 developerWorks 用户交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing, 移动开发
ArticleID=847533
ArticleTitle=在 IBM SmartCloud Enterprise 上实现地图和地理空间数据分析
publish-date=11282012