GIS算法,主要分两种,一个是矢量相关的,一个是栅格相关的。
矢量相关的,归根结底是空间几何;栅格相关的,就是图像处理,线性代数与统计。
学习理论一定要看书。
推荐:
1.科学出版社出版的张康聪《地理信息系统导论》。
一本书学完,除了原理之外,GIS经典软件arcGIS也可以算是入门了。
2. 科学出版社出版的Stephen Wise写的《GIS数据结构与算法基础》
这本书很薄,看完之后,会了解经典的拓扑模型、数据结构、算法等,经典之所以经久不息,是有原因的。
只有了解原理,才能更好的去使用。
3. 中国工信出版社出版的Joel Lawhead写的《Python地理空间分析指南》
数据处理和算法实现,还是应该用Python,而不是Java,这本书写的很详细,很重实践,为了讲清楚原理,很少引用第三方库,只是用Python源码来写方法。
本书的前四章,几乎就是GIS领域现有技术的综述,各种规范格式、软件、第三方库都提了一遍。
其实我买过很多书,也自诩是一个资深的GIS工程师,但有些书,真是不得不吐槽,作者要么从头到尾,不知所云;要么身处象牙塔中,与实际生产严重脱节;要么根本都不了解自己需要表达的是什么,为了晋升,东拼西凑攒了一本接一本……
有时候不禁怀疑,书写成这样,都能出版?
这三本书,是写得非常好,讲得很清楚明白的,学习的顺序,就1、2、3可以了。
我们看书学习的目的是了解原理,更好的去实践,并没有必要照着书中的源码从底层开始一点点写算法。
如果用编程语言的话,可以调用第三方库,如果用软件的话,可以使用功能强大的GIS平台。
GIS领域,最经典的算法库就是GDAL了,涵盖了数据处理、矢量算法、栅格算法等,它支持C语言,也支持Python。
GDAL官网:https://gdal.org/
GDAL中文介绍:https://www.osgeo.cn/post/1387g
至于软件,GIS相关的软件,没有能超越arcGIS的了,arcGIS官方介绍:resources.arcgis.com/zh-cn/help/getting-started/articles/026n00000014000000.htm
熟悉原理,但也要善用工具。