转 书评:来聊聊GIS的算法书

蒋波涛 http://blog.3snews.net/space.php?uid=16796&do=blog&id=22870

1984年图灵奖获得者,Pascal语言的发明人Niklaus Wirth教授曾经给程序下过一个经典定义“程序=算法+数据结构”,一针见血。在我看来,算法和数据结构就好象哲学中的方法论和认识论一样,前者明确了解决一个问题的思路,而后者提供了解决问题的对象。

  “算法”一词来源于公元9世纪波斯数学家比阿勒.霍瓦里松的著作《代数对话录》,它是指完成一件事情的具体步骤和方法。因此说白了它并不神秘,计算机中的算法,也不过就是将数学方法是用计算机语言来进行描述。

  算法也是计算机系本科学生的基本课程之一,但对于许多GIS专业的学生而言,这门课被弱化了,一来是它的确不容易理解,第二似乎没有什么地方好下手来练练。所以许多人对于它的了解保质期只限于考试之前。不过我本人并不认为这有什么值得大惊小怪的地方,如果你的确需要,你一定会想办法搞懂它,不是吗?

  对于GIS算法这个内容而言,想找到一本相关的书籍并不容易,不过也不复杂,因为一共就两本,还都是科学出版社的——《地理信息系统算法基础》和《地理信息系统原理与算法》,国外倒是有一本不错的书《Beyond Mapping:Concepts,Algorithms,and Issues in GIS》,但国内不见翻译,徒之奈何。

  《地理信息系统算法基础》和《地理信息系统原理与算法》这两本书我还是只推荐前者,其原因是要读懂后面这本太难了。《地理信息系统算法基础》是典型的教材式图书,中规中矩,一丝不苟,全面、系统地收集和整理了当前地理信息系统算法领域的相关资料,以地理信息系统设计与实现为线索,内容涉及地理空间数据的描述、检索、存储和管理,以及地理空间信息分析基本方法的设计和实现。循序渐进地介绍了GIS算法的基础、坐标变换算法、数据转换和组织算法、空间度量算法、索引算法、内插算法等多个实用条目,基本上涵盖了我们日常使用的一些基本GIS算法。当然,阅读它之前最好还是把我们的微积分和线性代数再捡些回来,否则还是会一头雾水的。

  作为一本教材,它当然也有教程的通病或说不足之处,即门门俱到,但没有几个算法的介绍精深一些,以致许多网络评语认为“没应用,不实际”,不过话说回来,有人对涉及算法这种高级主题都希望有“1+1=2”式不需要自己思考的教程,也只能让人哭笑不得,不过这也说明一个问题——发出这种抱怨的人还不适合阅读关于算法的书。

  怎么样来阅读《地理信息系统算法基础》呢?我的建议是需要的时候挑出来阅读、思考、写程序和总结,而不是从第一章浏览到最后一章,后面的方法对读者毫无意义,白白浪费时间而已。

  需不需要学习点算法,已经不是“仁者见仁、智者见智”的问题了,虽然许多GIS类库已经将相当多的算法和功能包装成函数,但我想,你是不会甘愿做一个代码堆砌工的,对吗?

时间: 2024-11-05 12:25:21

转 书评:来聊聊GIS的算法书的相关文章

一本非常厚道的算法书,干货!

基本上全是干货,无与伦比! 在书城看了一天,前面五章刚好看完,这是看得最慢的一本书. 一本非常厚道的算法书,干货!,布布扣,bubuko.com

一份程序员必备的经典算法书单

点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书 --异步小编 当我们在工作中使用算法时,通常都是希望能更有效地解决问题.使程序运行得更快,并且让解决方案变得更为简短.但实际情况如何呢?我们获得所需要的效率.速度和简洁性了吗?为什么人们在使用Python这种语言时依然要在乎这些事呢?选择这种语言对于追求高速度的人来说是一个好的开端吗?为什么不选择C或Java这样的语言呢? 首先,可能是因为Python语言本身很讨人喜欢,以至于人们不想

【红外DDE算法】聊聊红外图像增强算法的历史进程(第一回)

宽动态红外图像增强算法综述回顾过去带你回顾宽动态红外图像增强算法的历史进程,历来学者的一步步革命(新的算法框架提出),一步步改革(改进优化),从简单粗暴到细致全面.正所谓是:改革没有完成时,只有进行时.没有完美的算法,也没有最好的算法,只有更好更优秀的算法.展望未来以现在看90年代的算法,那时候的算法是有点粗糙,但是正是在这一点点的积累上,才有了现在较之优秀完美的算法.正所谓是:站在巨人的肩膀,我们看得更远,不积跬步无以至千里. 目录 为什么需要该算法?摘要主要的三类算法思路大致介绍第一类:基于

陈为著《数据可视化》书评及思维导图

在确定数据可视化为自己研究主题之初,我经常上网搜寻相关资料.但是初期的收集经常是杂乱无章,缺乏系统规划的.以至于我产生了三个困扰我的问题,分别是: 1. 信息可视化与数据可视化,到底有什么区别?或者说infographics 与visualization之间有何区别? 2.data visualization就是数据挖掘之后的用于显示结果的统计图吗? 3.曾经在知乎上看见某资深程序员直言,数据可视化在国内除了折腾一下社交网络外,没什么好做的,是这样吗? 今年4月以来,我终于有时间仔细研究相关问题

我的算法学习之路

关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口--况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程.然而这门课程并没有让我入门--当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾--反正最后考试划个重点也能过,于是这门整个计算机专业本

大三上------期末总结

今天终于把万恶的期末考试给考完了!想想考的都是专业课,原本以为肯定会复习地很开心.因为不用像以前一样只是考试前一周什么都不会,然后考前疯狂地看书刷题,考完之后瞬间遗忘.不过事实证明...为了考试看书还是非常痛苦...即使是喜欢的算法,C++,操作系统....不过幸好已经考完啦!接下来为期四周的寒假又不用为考试而学习了! 大三上这一个学期接触的主要的东西依旧还是底层的系统和算法吧.在开学的第一个月把<UNIX环境高级编程>看了一遍,而且是英文原版的.要说真的学到了什么,其实没有,因为这本书更像是

Peng Gong:我的算法学习之路

原文出处: Lucida (@peng_gong) 关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口--况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程.然而这门课程并没有让我入门--当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾--

转----我的算法学习之路

我的算法学习之路 关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 原文链接:http://zh.lucida.me/blog/on-learning-algorithms/ 原文作者:Lucida 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程

我的学习路径算法

大约 严格来说.本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口--况且CS中的 ArticleId=14124707" width="1" height="1" >算法往往暗指数据结构和算法(比如算法导论指的实际上是数据结构和算法导论),所以我觉得本文题目是合理的. 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程.然而这门课程并没