WebGIS开发实践手册
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

编著往来

蒋波涛与朱强、钱旭东先生的新书《WebGIS开发实践手册——基于ArcIMS、OGC和瓦片式GIS》即将出版,本书策划编辑徐定翔和蒋先生以对话的形式交流了一些技术话题,从这些交流中能看到一本原创著作的问世,包含了作者多少深入的思考。

博文编辑

蒋先生,您好。加上这本书,您在GIS领域已经有三本著作问世了,前两本分别是《ArcObjects开发基础与技巧——基于VisalBasic.NET》和《插件式GIS应用框架的设计与实现——基于C#和ArcGIS Engine 9.2》,此外您还翻译了一本《GIS for Web应用开发之道》。可否请您简单回顾一下这三本书的内容和特点。

蒋先生

非常感谢读者朋友对这几本书的认可。这三本书的内容都是讲述桌面端应用程序向Web应用程序转变的,这一转变过程正是我个人学习和开发GIS的经历,也是GIS技术发展的趋势。

《ArcObjects开发基础与技巧——基于VisalBasic.NET》是2004年我在学习ArcGIS的开发组件ArcObjects时的一个额外成果。ArcObjects是ArcGIS的核心,它包括ArcGIS Desktop、ArcGIS Engine和ArcGIS Server的底层API。这本书对ArcObjects的结构进行了系统完整的介绍,是国内较早的ArcGIS开发书籍。

《插件式GIS应用框架的设计与实现——基于C#和ArcGIS Engine 9.2》一书的本意并不是介绍具体的 GIS 程序,而是一种软件架构的设计思路,它的重点是“插件式的框架”,而GIS只是介绍这种架构的一个载体,但这本书与前一本是有传承关系的,如果说前一本是介绍ArcObjects这种COM式“积木块”,那么第二本就是介绍该如何利用这些积木块来搭建一座稳定可靠的“城堡”。

这本《WebGIS开发实践手册——基于ArcIMS、OGC和瓦片式GIS》则是在Web环境下如何实现GIS应用程序的一次经验总结和尝试,它系统介绍了WebGIS开发过程中须要掌握和理解的许多理论知识和开发技术,既有理论,更富含实践之道,具有很高的实用性。

博文编辑

您的第二本书《插件式GIS应用框架的设计与实现——基于C#和ArcGIS Engine 9.2》算得上是 GIS 类图书中的畅销书了,出版一年以来,在读者中受到了广泛的欢迎。在这么短的时间内又写这本《WebGIS开发实践手册——基于ArcIMS、OGC和瓦片式GIS》的初衷是什么?

蒋先生

首先,我想说明的是,《WebGIS开发实践手册——基于ArcIMS、OGC和瓦片式GIS》从资料的搜集到最后成文出版,其实经历了一段非常漫长的时间。

我是在2004年左右开始接触WebGIS的,在很长一段时间内,我对WebGIS一头雾水,今天回过头来看,这是很正常的:Web 应用开发概念、标准、技术和框架太丰富了,Web 的开发工具和 Debug 手段又远不如桌面端开发那样方便,它与桌面端应用的开发路线有“天壤之别”。

在摸索了很长一段时间后,我才逐步了解了诸如ArcIMS服务器和它的HTML/JavaScript客户端开发知识等内容,我也曾经将自己的一些经验进行总结后在Blog上贴出,这些原始资料的积累工作可以追溯到2006年左右。

其后很长一段时间,我都没有再做WebGIS方面的开发,后来随着开发经验的丰富、头脑中“技术地图”的完善、Ajax和RIA等技术的兴起、公共WebGIS API的出现,以及自己工作的原因,我对WebGIS有了更深的认识。从2008年开始,我就在琢磨如何写一套WebGIS API,然后能够通过OO的方式实现地图功能——就像Google Maps API那样,这个过程让我全面地了解了WebGIS开发中需要的各种知识。这是本书诞生的前提。

在Web应用程序(包括WebGIS)的学习、开发和使用过程中,我经常遇到许多读者和朋友的提问,有些问题确实很幼稚,其实这也不怪初学者,我还没有见过一本深入浅出、联系实际的书籍来帮助他们理清思路,拨开迷雾。有些读者甚至认为拖-放 ASP.NET 之类的 Web控件就是在做开发。强大的辅助开发工具对缺乏基础的开发人员是非常危险的,因为你根本不可能“有效地”操控它们。此外,痴迷这些工具对个人技术能力的提升非常有限,甚至有害。这使我觉得帮助初学者进行一番整理是非常必要的。

直到目前为止,国内市面上根本没有以“实践”为出发点和落脚点的 WebGIS 开发书籍, WebGIS方面的书虽然很多,但它们多以理论示人,难以上手。

由于这些原因,从去年年底开始,我和我的合作者们就开始有意识地整理相关的资料,经过近9个月的工作,才得以让本书面世。

博文编辑

我们知道 GIS 开发对从业人员有着特殊的要求,他们既要懂地理测绘知识,又要熟悉软件开发方法。对处于不同层次的读者,可否请您对如何阅读这本书才能更好地吸收书中的内容提出建议。

蒋先生

GIS就其实现技术而言,已经与主流IT融为一体,因此GIS开发人员除了具备地理测绘知识之外,更重要的是要能够紧跟IT的发展步伐,而紧跟的唯一方式,就是“实践”——动手写代码,看别人的代码是看不出所以然来的;其次是要有“质疑”精神,敢于怀疑书本上的内容。我对读者能够挑出我书中的谬误之处会感到非常高兴,只有深入阅读了,才能发现问题。

博文编辑

国内GIS行业目前的大客户主要是政府,军方,电力、电信行业 ,最后才是民用,您觉得今后GIS行业的发展势趋如何?

蒋先生

GIS与其他类型信息系统的一个很大不同在于数据,GIS的数据管理和发布都有严格的规定和要求,过严的保密规定在很大程度上限制了 GIS 的发展,不要说民用,就是在政府各个单位内部,数据共享都是一个政策性很强的问题。但另一方面,互联网上的各种地图应用如“雨后春笋”般出现,在很大程度上改变和影响了人们的生活方式,这也使得 GIS 得以让更多的人认识它,了解它和扩大它的应用。

博文编辑

对那些想加入GIS行业的新人,您在学习和工作上有什么建议?

蒋先生

我本人并非GIS专业出身,了解的这些知识都是有意识地自学的。我想,无论哪一个行业,刚入门的新人在学习和工作上都是有共通点的。

首先,学习和工作应该有计划和目标,不要随波逐流;其次是要有耐心,我们学习任何知识都贵在坚持;最后,我觉得每位新人都应该要有意识地丰富和完善自己的“技术地图”,“高手”与“菜鸟”最大的区别在于前者能将各种知识融会贯通,能够在新问题面前迅速地找出种种可能解决方法,这当然是经验积累的结果,如果我们能够有意识地锻炼自己,我相信新手的成长速度会快得多。