GDAL空间数据处理100讲[01]:GDAL的Python开发环境搭建

GDAL空间数据处理100讲[01]:GDAL的Python开发环境搭建

作者:胡佳辉 2018年11月12日

本文原发于”卫星遥感大数据”公众号,欢迎关注!如有兴趣,欢迎加入”卫星遥感大数据”QQ群(877631590)或者加我微信(cddennishu)进”卫星遥感大数据”微信群。

 

概述

GDAL,全称Geospatial Data Abstraction Library,是开源的地理空间数据处理C++库,提供了C/C++、Python、Java多种接口以及命名行工具。GDAL是处理卫星遥感大数据的重要工具。

 

前置条件:本文基于Ubuntu16桌面版环境。

 

第一步:添加gdal的ubuntu安装源

[1] 添加安装源

dennis@ubuntu:~$ sudo add-apt-repository ppa:ubuntugis/ppa

 

[2] 更新刚添加的安装源

dennis@ubuntu:~$ sudo apt-get update

 

第二步:安装gdal命令行工具

dennis@ubuntu:~$ sudo apt install gdal-bin python-gdal  

说明:gdal-bin是纯的命令行工具,python-gdal是Python的一些工具,也可以在命令行下使用。如果只安装前者,命令就不全。比如gdal_merge.py就没有。

 

第三步:测试gdal命令行工具

安装完之后,需要一张图片来测试下gdal工具。正好我网页上打开了图数据库HugeGraph,我就用它做测试吧。

[1] 下载一张图片

dennis@ubuntu:~/geodata$ wget https://github.com/hugegraph/hugegraph-doc/raw/master/images/design/architectural-overview.png

 

[2] 测试gdalinfo命令

dennis@ubuntu:~/geodata$ gdalinfo architectural-overview.png

Driver: PNG/Portable Network Graphics

Files: architectural-overview.png

Size is 567, 276

Coordinate System is `’

Image Structure Metadata:

  INTERLEAVE=PIXEL

Corner Coordinates:

Upper Left  (    0.0,    0.0)

Lower Left  (    0.0,  276.0)

Upper Right (  567.0,    0.0)

Lower Right (  567.0,  276.0)

Center      (  283.5,  138.0)

Band 1 Block=567×1 Type=Byte, ColorInterp=Red

  Mask Flags: PER_DATASET ALPHA

Band 2 Block=567×1 Type=Byte, ColorInterp=Green

  Mask Flags: PER_DATASET ALPHA

Band 3 Block=567×1 Type=Byte, ColorInterp=Blue

  Mask Flags: PER_DATASET ALPHA

Band 4 Block=567×1 Type=Byte, ColorInterp=Alpha

dennis@ubuntu:~/geodata$

从上面的结果来看,gdalinfo命令是可用的。它会显示图片的详细信息。这张图片是没有空间信息的,是一张纯图片。

如果你只需要使用gdal命令,那么到这里就可以了。后面的步骤是要做Python开发才需要。

 

第四步:安装python的gdal库

dennis@ubuntu:~/geodata$ sudo apt install python3-gdal

 

第五步:测试python的gdal库

由于ubuntu16 desktop版已经安装了python3,所以不需要单独安装。直接敲”python3″进入交互式环境,然后用前面下载的png图片做测试。具体如下:

dennis@ubuntu:~/geodata$ python3

Python 3.5.2 (default, Nov 23 2017, 16:37:01)

[GCC 5.4.0 20160609] on linux

Type “help”, “copyright”, “credits” or “license” for more information.

>>> import gdal

>>> in_ds = gdal.Open(‘architectural-overview.png’)

>>> print (in_ds.RasterCount)

4

>>>

这里解释如下:

[1] 先导入gdal库; [2] 打开刚下载的png图; [3] 获取这个图的波段书,这个png图有四个通道。这表明python的gdal库已经安装好。

 

参考资料:

[1] https://mothergeo-py.readthedocs.io/en/latest/development/how-to/gdal-ubuntu-pkg.html

[2] https://www.gdal.org/gdal_tutorial.html

 

 

 

 

 

转载自:https://blog.csdn.net/gobitan/article/details/84023608

You may also like...