摘要: 《Python与开源GIS》的写作过程中主要在Debian/Ubuntu系统下进行测试,所针对的版本主要是Debian 9、Ubuntu 18.04与Debian 10。书的出版是在2019年11月份,而在2020年4月底Ubuntu 20.04 LTS 正式...
《Python与开源GIS》的写作过程中主要在Debian/Ubuntu系统下进行测试,所针对的版本主要是Debian 9、Ubuntu 18.04与Debian 10。书的出版是在2019年11月份,而在2020年4月底Ubuntu 20.04 LTS 正式发布。Ubuntu 20.04 的改进主要包括内核的更新、对文件系统的改进支持,Python版本升级到3.8.2 ,对于桌面用户来讲可能在界面感观上有一些变化。而 Canonical 与微软的合作使得在 Windows 10 WSL 中可以马上使用新版本的 Ubuntu 。
一本书出版之后其内容很难如电子文档一样对内容进行更新,尽管如此,我还是希望尽量延长其技术生命力,所以在 Ubuntu 20.04 LTS 系统中进行了实验测试,令人欣慰的是书中的工具安装方法没有改变,绝大部分代码都可以在 Ubuntu 20.04 中执行无误。其中一些问题可能会在后续重印过程中反映出来,在这里先进行一些说明供使用参考。
- Python 模块 pyproj 的版本更从 1.9 更新到 2.5 ,有一些变化。核心的PROJ库也有更新,但是已经很稳定了。在pyproj 2.0版本中,引入了新的类
pyproj.CRS
,用于对坐标参考系统(CRS)进行管理。由于这些改变,原本在pyproj.PROJ
为类中的一些方法移到了 CRS 类中,导致书中第136页小节 4.3.1 中最后部分“6.其它函数”的代码运行出错,这个问题有书友指出过。pyproj版本的更新对书中其它内容并没有什么影响,但是对于类pyproj.CRS
内容的介绍却是书中未涵盖的,若有可能希望再版过程中可以弥补。 - 书中第334页中间代码处(小节9.4.5的最后部分),第1行代码两个几何对象进行
difference()
操作可以执行,但是第二次代码对结果进行制图时调用plot()
函数出错。这个问题我感觉是个 bug ,在Ubuntu 20.04 中带的 geopandas 库为 0.7.0, 对于2019年发行的 Debian 10带的 geopandas 0.4.0,更新也很大。
除了上面两处问题,书中的代码在 Debian 9、Debian 10与 Ubuntu 18.04、Ubuntu 20.04中都可以执行。Ubuntu 20.04作为LTS版本有5年的支持时间,在2025年4月之前可获得安全维护与更新。这样本书也能有较长时间的参考价值。
还有一点要说明的是 GDAL/OGR 的版本在Ubuntu 20.04 中更新到了3.0.4,包括其Python模块。GDAL是许多GIS软件与工具的底层库,这次也是首次在Linux 发行版中将大版本更新到版本3。幸运的是书中相关代码都可以执行无误,感谢GDAL的开发人员。
有书友指出书中内容需要用Linux,未关注Windows下的使用方法。这个问题在配套网站中补充了 Windows 下的相关方法,对于 Windows 系统下的安装运行,推荐使用 Anaconda 环境。
同时感谢给予鼓励与指出问题的各位朋友。