《Python与开源GIS》在Ubuntu 20.04 LTS下的测试说明及其他


发布日期 : 2020-06-13 01:12:30 UTC

访问量: 192 次浏览

《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 中执行无误。其中一些问题可能会在后续重印过程中反映出来,在这里先进行一些说明供使用参考。

  1. Python 模块 pyproj 的版本更从 1.9 更新到 2.5 ,有一些变化。核心的PROJ库也有更新,但是已经很稳定了。在pyproj 2.0版本中,引入了新的类 pyproj.CRS ,用于对坐标参考系统(CRS)进行管理。由于这些改变,原本在 pyproj.PROJ 为类中的一些方法移到了 CRS 类中,导致书中第136页小节 4.3.1 中最后部分“6.其它函数”的代码运行出错,这个问题有书友指出过。pyproj版本的更新对书中其它内容并没有什么影响,但是对于类 pyproj.CRS 内容的介绍却是书中未涵盖的,若有可能希望再版过程中可以弥补。
  2. 书中第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 环境。

同时感谢给予鼓励与指出问题的各位朋友。