ArcGIS API for JavaScript是Web地理信息系统开发皇冠上的明珠,这本新版Web GIS开发教程将带你搭建创意无限、制图精美、交互方便的Web地理信息系统。
內容簡介:
随着互联网的迅速发展以及人们对地理信息系统需求的日益增长,互联网成为GIS新的操作平台,它与GIS结合而形成的Web GIS是GIS软件发展的必然趋势。ArcGIS API for JavaScript是ESRI推出的地图API,它可以帮助用户运用ArcGIS Server提供的服务去搭建轻量级的高性能Web GIS应用程序,将一幅交互式的地图或一个地理处理任务(例如查询空间数据)嵌入Web应用程序中。与3.x版本相比,近年发布的4.x版本增加了对三维数据和三维地图场景的支持,并更加深入地与ArcGIS Enterprise和ArcGIS Online集成。本书以循序渐进的方式,通过大量的实例介绍如何使用ArcGIS API for JavaScript访问ArcGIS Server提供的地图、空间数据与空间分析服务,开发功能较为复杂的Web GIS应用程序,并通过扩展已有类、访问底层API、混搭其他网络API以及充分利用HTML 5和WebGL的新特性等多种方式,开发制图美观、形式多样、功能独特的富互联网应用的Web GIS。此外,本书提供了几个开发框架,读者可在此基础上加入专业的应用,从而实现Web GIS应用的快速开发。 本书适合政府、企业相关部门的GIS研究与开发人员,以及高等院校地理学、地理信息系统、房地产、环境科学、资源与城乡规划管理、区域经济学等专业的学生参考,也适合作为相关培训学员的学习教材与参考书。
在过去的10年中,人们逐渐适应了定位技术。大多数用户可能没有完全意识到,当他们在手机上收到关于回家路上的交通预警时,或者当他们从手机上的应用程序获得当地餐馆的优惠券时,表明他们手机的应用程序正在使用定位技术。智能手机不再仅仅是用于拨打电话、发短信和查看电子邮件的设备。对于许多人来说,智能手机不仅取代了用于导航的沉重而笨拙的地图册,还取代了车辆中昂贵的仪表板GPS系统。如今,对着手机说出商店或某地的名称,就能在几秒钟内收到如何到达的路线与指示。虽然在某些特殊的情况下,可能会被引导到湖泊中,但不可否认的是,定位技术已成为我们日常生活的一部分。我们很高兴与朋友和家人分享我们当前的位置,就像几年前分享照片一样热情。地图及其可以传达的信息是很值得开发人员花费时间学习的。
目前美国环境系统研究所公司(Environmental Systems Research Institute,ESRI)是世界最大的地理信息系统技术供应商,为地理数据采集、管理、制图、服务发布以及系统开发提供全方位的解决方案,产品统称ArcGIS,主要包括ArcGIS Pro、ArcGIS Enterprise、ArcGIS Online与ArcGIS Developer。ArcGIS Pro是ArcGIS Desktop的更现代版本,用于替换ArcMap,除了数据处理与制图外,也用于在ArcGIS Online与ArcGIS Enterprise中发布地图服务。ArcGIS Enterprise主要包括ArcGIS Server与ArcGIS门户,用于提供强大的地理信息Web服务。ArcGIS Online是一个面向全球用户的公有云GIS平台,包含全球范围内的底图、地图数据、应用程序,以及可配置的应用模板和开发人员使用的GIS工具和API。ArcGIS Developer提供了一系列API、工具和位置服务,开发人员可用来构建满足业务需求的桌面或Web地理信息系统。其中最主要的就是ArcGIS API for JavaScript,该API使用一种开放的、基于REST的行业标准架构,连接并使用ArcGIS Server、ArcGIS Online以及网络上的其他开放式用户制图服务发布的地图服务及其他相关的GIS服务,从而创建满足需求的应用程序。本书要介绍的就是ArcGIS API for JavaScript的使用。
第1章介绍GIS及相关技术的发展趋势,并介绍OGC的Web服务规范,以及当前成熟且使用广泛的地图服务与空间分析服务发布软件——ArcGIS Server。
第2章首先通过简单的实例分别演示3.x版本、4.x版本的AMD方式与4.x版本的ESM方式的ArcGIS API for JavaScript应用代码结构,然后介绍它的构成及其出现的必然性,着重介绍开发与调试工具,最后介绍Dojo的基础知识。
第3章首先介绍如何通过Dojo布局小部件设计几种不同类型的页面总体框架,然后介绍如何通过扩展小部件类来管理页面中的元素。
第4章主要介绍二维图层、地图视图的使用,包括图层控制、地图操作、地图配置、视图加载等内容,以及如何扩展ArcGIS API for JavaScript未提供的相关功能,并简单介绍如何自定义图层。
第5章介绍空间参考系统及其转换,并通过实例演示如何绘制各种几何对象。
第6章介绍与符号相关的类以及地理要素符号化以后的图形类及其组成。
第7章首先介绍要素图层,然后介绍如何使用ArcGIS API for JavaScript提供的几个渲染器类来绘制专题图,还将介绍如何绘制直方图与饼图专题图,以及高密集数据的可视化,最后介绍如何通过字段进行智能制图和图层的标注方法。
第8章介绍如何使用ArcGIS API for JavaScript中的一系列查询类(identify、query、find、RouteTask、ClosestFacilityTask以及ImageServiceIdentifyTask等)实现空间与属性的双向查询与空间分析功能。
第9章介绍三维图层与场景视图的使用,包括如何加载三维模型,设置场景、相机、符号等内容,并讲述三维专题图、艺术风格制图以及要素的高亮显示和标注方法,最后讨论如何在性能与质量之间谋求平衡。
第10章介绍图层列表、量测、卷帘、搜索、时间滑块与打印6个小部件的使用方法。
第11章介绍如何利用Canvas API、WebGL(包括辅助库及引擎)、自定义外部渲染器等方式创建自定义图层与图层视图。
第12章通过实例综合演示如何利用来自多家的API创建混搭式地图应用,如新冠疫情地图等。
本书所有实例的源代码均可扫描以下二维码下载:
如果下载有问题,请发送电子邮件至booksaga@126.com,邮件主题为“求ArcGIS API for JavaScript开发范例程序代码”。
本书绝大部分实例都是纯粹的前端代码,直接用浏览器打开对应的HTML页面即可运行。个别包含服务器端代码的实例可以部署到IIS中,也可以在Visual Studio这种集成开发环境中以站点的方式运行。
除了封面署名作者外,参与本书编写的人员还有唐大仕、韩光瞬、刘小东、贺小飞、李珍贵与陈艳玲等。
由于编者水平所限,书中难免存在疏漏之处,希望广大专家、读者批评指正。