windows下gdal python安装与使用

我日常的编程语言是C++,看到周边的同事有学习python,围观了几个小例子,感觉python很不错,用起来很方便。所以我打算利用业余时间学习一些python的知识,如果学会了用GPIO 库控制我的树莓派做一些好玩的事情最好了。这篇文章里。我打算分享一下gdal python库的安装与pycharm下编写一个读取shapefile小程序的过程。

1)编译gdal

首先是到gdal的官网上下载 gdal的源码,我选择的版本是2.2.3。源码地址 。因为gdal python的实现方式是 使用 swig对c++对象进行的封装(以上说法可能不太准确),所以需要先用msvc 编译gdal的c++源码。如果你的电脑也是64位操作系统,请先修改“nmake.opt”文件第206行将 #WIN64=YES 前面的#去掉。我电脑上安装的 visual studio 2017 community 版本,所以我打开的是 vs2017 版本的“x64 Native Tools Command Prompt for VS 2017”命令行窗口,cd到源码所在目录。执行命令 nmake -f makefile.vc MSVC_VER=1910 等待程序编译成功,执行 nmake -f makefile.vc install ,编译生成的链接库、exe等会被拷贝到“C:\warmerda\bld\bin”(可以在nmake.opt中修改)。将上面路径加入系统变量“path”中。

2) 安装 gdal python

安装 gdal python模块前,确保你的电脑上安装了python 。cd到源码所在路径的swig/python下,执行命令 python setup.py build , python setup.py install 。然后新开一个python 程序,执行 import gdal ,如果没有报错,证明gdal 的安装是成功的。

3) pycharm 安装

对于初学者,编写python需要一个友好的IDE,同事推荐的是pycharm 。我安装的是pycharm 2017 community版本。

需要注意的是,当新建一个工程时,pycharm 已经自带一个python interpreter(解释器)了,而这个解释器并不是刚才我们安装gdal的解释器,所以需要将工程的解释器指定为系统的解释器。解决办法:“File->Settings->Project:xxx->Project Interpreter”,在对话框中选择project interpreter 的“show all”

在弹出的窗口中点“+”add local。选择 “system interpreter”

4) gdal 程序编写

我打算编写一个读取shapefile,获得表字段名称,获取要素个数,并且打印每一个要素的wkt字符,并且打印其外接矩形坐标。程序代码如下:

使用过程中,我的疑问如下。有经验的同学可以指点一下,我后面学习到答案,会回来补充。

  1. python 中类型转换是如何表达的,比如,在c++中,我通过将Geometry对象转成Polygon对象以使用polygon的专有方法,在python 中,不知道这个过程如何实现的,或者,有没有这个概念?
  2. pycharm 如何支持第三方库的代码补全?用起来好不方便。
  3. gdal python的API Reference 好像不太全,里面好多东西都没有,比如,有些函数的返回值类型并没有标记。

发表评论

电子邮件地址不会被公开。