零、前言

网络技术日新月异,ArcGIS JavaScript API 也是如此。无论您的开发经验如何,ArcGIS 都提供了一种创建和管理地理空间应用的简单方法。它让您可以访问映射和可视化、分析、三维、数据管理以及对实时数据的支持。

这本书涵盖了什么

第 1 章为 API 打基础,努力为整本书涉及的主题打下坚实的基础。本章介绍了进一步遵循所解释的主题以及开发专业外观代码所需的基本环境。本文介绍了 dojo 和 JavaScript 编码的模块化模式,并解释了 ArcGIS 的基本概念。用户可以在任何需要的地方看到关于基本概念的简短解释和代码片段或图表。

第 2 章层和小部件,讨论了应用编程接口中使用的不同类型的层,以及每种类型的理想使用环境。我们还将介绍 Esri 提供的一些最常用的内置小部件,以便在我们的应用中使用。

第 3 章编写查询,将深入探讨编写不同类型的查询,检索结果并显示。我们将开发一个野火应用,以了解查询操作的类型,如识别,查找和查询任务。我们还将学习如何使用功能表小部件显示表格信息,以及如何使用信息模板格式化弹出内容。

第 4 章构建自定义小部件,将解释如何将所有代码组织成模块化的小部件,并在我们的应用中使用。我们将讨论如何在全球范围内配置 dojo 以及如何为国际化提供支持。我们将通过构建一个涉及使用绘图工具栏的空间查询来扩展我们在上一章中开发的野火应用。

第五章与渲染器合作,对颜色、符号、渲染器以及每一个都可以有效使用的情况进行了深入的探讨。本章还将讨论数据可视化技术的细微差别,以及轻松创建符号和图片标记符号的提示和技巧。我们将通过开发一个 Stream Gauge 应用来演示三个基本渲染器的效用:简单渲染器、唯一值渲染器和类中断渲染器。

第 6 章使用实时数据将详细介绍实时数据的构成,还将介绍如何可视化数据并获取最新更新的数据。我们将构建一个飓风跟踪应用来演示这一点,并将使用应用编程接口提供的几何引擎功能和现代浏览器提供的地理定位功能添加一个全球风数据量表和一个天气小部件。

第 7 章地图分析和可视化技术,将带你向成为地图数据科学家更近一步。在本章中,我们将从几个介绍性的统计概念开始,涵盖很多内容。我们将看到正在运行的代码,并了解统计定义和要素图层统计模块如何为我们提供宝贵的统计度量,这些度量可用于有意义地呈现地图数据。然后,我们将评估如何在渲染器中有效地使用视觉变量,如颜色信息、透明度信息、旋转信息和大小信息。我们将利用获得的知识开始构建人口统计分析门户。

第 8 章高级地图可视化和制图库将使用 dojo、D3.js 和雪松等三个不同的制图库来扩展我们在上一章开始构建的人口统计门户,并为用户提供更多可视化分析信息。

第 9 章具有时间感知层的可视化将解释如何使用 TimeSlider dijit 来可视化时空数据,TimeSlider dijit 是一个定制的 D3.js timeslider,也是一个定制的时间序列直方图,它将时间感知的美国干旱数据纳入其中。

这本书你需要什么

为了这本书,我们需要记事本++/括号编辑器,谷歌 Chrome/Mozilla Firefox 或任何现代浏览器,Visual Studio 社区版 2015,以及适用于 Windows 的 Node.js。

这本书是给谁的

这本书是为希望使用 ArcGIS JavaScript API 提供的丰富功能集开发令人惊叹的地图应用的 JavaScript 开发人员编写的,但不仅如此,空间思维框架还将帮助用户走得更远。

惯例

在这本书里,你会发现许多区分不同种类信息的文本样式。以下是这些风格的一些例子和对它们的意义的解释。

文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“安装 IIS 后,可以在Program Files文件夹内的IIS Express文件夹中找到可执行文件”

代码块设置如下:

<link rel="stylesheet" href="http://js.arcgis.com/3.15/esri/css/esri.css">

<script src="http://js.arcgis.com/3.15/"></script>

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

on(map, "layers-add-result", function (evt) {
console.log("1.", earthQuakeLayer.id);
...
console.log("5.", worldCities.layerInfos);
});

任何命令行输入或输出都编写如下:

1\. Earthquake Layer
2\. [Object,
Object,
. . .
Object]
 3\. esriGeometryPoint
4\. 1000
5\. [Object, Object, Object]

新名词重要词语以粗体显示。您在屏幕上看到的单词,例如菜单或对话框中的单词,出现在如下文本中:“点击 IIS Express 应用名称旁边的添加按钮,然后点击安装按钮。”

警告或重要提示会出现在这样的框中。

类型

提示和技巧是这样出现的。

读者反馈

我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或不喜欢什么。读者反馈对我们来说很重要,因为它有助于我们开发出你真正能从中获益的标题。

要给我们发送一般反馈,只需发送电子邮件<[feedback@packtpub.com](mailto:feedback@packtpub.com)>,并在您的邮件主题中提及书名。

如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参见我们位于www.packtpub.com/authors的作者指南。

客户支持

现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。

下载示例代码

你可以从你在http://www.packtpub.com的账户下载这本书的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。

您可以按照以下步骤下载代码文件:

  1. 使用您的电子邮件地址和密码登录或注册我们的网站。
  2. 将鼠标指针悬停在顶部的 SUPPORT 选项卡上。
  3. 点击代码下载&勘误表
  4. 搜索框中输入图书名称。
  5. 选择要下载代码文件的书籍。
  6. 从您购买这本书的下拉菜单中选择。
  7. 点击代码下载

下载文件后,请确保使用最新版本的解压缩文件夹:

  • 视窗系统的 WinRAR / 7-Zip
  • zipeg/izp/un ARX for MAC
  • 适用于 Linux 的 7-Zip / PeaZip

下载本书的彩色图片

我们还为您提供了一个 PDF 文件,其中包含本书中使用的截图/图表的彩色图像。彩色图像将帮助您更好地理解输出中的变化。您可以从http://www . packtpub . com/sites/default/files/downloads/arcgifor JavaScript developer byexample _ color images . pdf下载此文件。

勘误表

尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果你在我们的某本书里发现了错误——可能是文本或代码中的错误——如果你能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书籍,点击勘误表提交表链接,并输入您的勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。

要查看之前提交的勘误表,请前往https://www.packtpub.com/books/content/support并在搜索栏中输入图书名称。所需信息将出现在勘误表部分。

盗版

互联网上版权材料的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。

请通过<[copyright@packtpub.com](mailto:copyright@packtpub.com)>联系我们,获取疑似盗版资料的链接。

我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有问题,可以在<[questions@packtpub.com](mailto:questions@packtpub.com)>联系我们,我们将尽最大努力解决问题。