`
helpbs
  • 浏览: 1159323 次
文章分类
社区版块
存档分类
最新评论

Eclipse中调试Python代码--调试FWTools2.4.7中的gdal_retile.py

 
阅读更多

Eclipse中调试Python代码

Gdal_retile.py是用于对遥感影像创建金字塔,近期本人想读懂改程序中的代码。读懂代码的较好方式就是单步调试,但是由于之前没有学过Python语言,不但对语言不熟悉,对其开发环境也一无所知。没想到第一次接触就遇到了难题,搞了将近两天才把调试环境配置成功。我在解决这个问题的时候也曾在网上搜索解决办法,但是几乎没有什么有价值的信息,因此决定将经验分享出来供大家参考。

FWTools2.4.7安装成功后,在开始菜单中运行FWTools Shell会弹出Dos窗口,在其中可以执行gdal_retile命令,该命令其实执行的是gdal_retile.bat,该bat文件转调gdal_retile.py。你会发现,如果你不是用FWTools Shell弹出的Dos窗口执行命令,而是单独打开Dos窗口,在该窗口中执行gdal_retile.bat会失败,这是因为FWTools Shell在打开Dos窗口之前设置6个重要的环境变量,它们分别是:

---------

PATH=C:/PROGRA~1/FWTOOL~1.7/bin;C:/PROGRA~1/FWTOOL~1.7/python;

set PYTHONPATH=C:/PROGRA~1/FWTOOL~1.7/pymod

set FWTOOLS_DIR=C:/PROGRA~1/FWTOOL~1.7

set GDAL_DATA=C:/PROGRA~1/FWTOOL~1.7/data

set GDAL_DRIVER_PATH=C:/PROGRA~1/FWTOOL~1.7/gdal_plugins

set GEOTIFF_CSV=C:/PROGRA~1/FWTOOL~1.7/data

set PROJ_LIB=C:/PROGRA~1/FWTOOL~1.7/proj_lib

---------

需要注意的是FWTools2.4.7使用Python的安装位置是“C:/Program Files/FWTools2.4.7/python”,它的版本是2.3.4,也许你的机器上已经有不同的版本的Python解释器,例如我的机器上,由于安装了ArcGIS软件,我的磁盘C:/Python25已经存在一个2.5版本的解释器。为了能够调试Python程序,我从网上搜索相关信息,不少人建议使用PythonWin,于是我安装了PythonWin2.5,该程序默认与C:/Python25安装在一起。

通过PythonWin中的File菜单打开FWTools2.4.7/bin/gdal_retile.py并单步调试,出现错误。错误的原因是“import gdal”错误,import gdalFWTools2.4.7/pymod/gdal.py中的191行代码“import _gdal”,该语句的意图是加载FWTools2.4.7/pymod/_gdal.dll库,但是由于PythonWin的环境变量设置,调试器无法找到dll库所在路径。我尝试在PythonWin/Tools/Edit Python Path菜单中更改环境变量,可是尝试了多种方法最终没有解决该问题。

接下来,思考再三,分析该错误的原因要么是环境变量设置问题,要么是两个不同版本的Python存在,引起冲突。我对操作系统的环境变量做了设置,将上述六个环境变量都添加到系统环境变量中,结果还是无法调试。然后我觉得应该换一个开发环境,该开发环境应该具备两个条件:1,可以设置Python库的位置;2,可以设置程序依赖的环境变量。最后找到了Pydevhttp://pydev.org/index.html),下载1.5.8版本(org.python.pydev.feature-1.5.8.2010062823.zip)。这个工具之前我也没有接触过,它是Eclipse的插件。下载后,将其加入到Eclipse中(如何添加插件问Google)。

Pydev插件安装成功后,在Eclipse新建工程时多了一项“Pydev”,选择新建Pydev Project,弹出向导:

点击“Click hereto configure an interpreter not listed”配置Python解释器的位置和版本,如下:

新建一个Python解释器,名字为Python2.3.4,然后指定其位置在C:/Program Files/FWTools2.4.7/pythonEclipse自动提示将C:/Program Files/FWTools2.4.7/python/Dlls, lib等添加进去。除了除了这几个目录还要添加几个目录。点击“New Folder”分别添加C:/Program Files/FWTools2.4.7/python/binC:/Program Files/FWTools2.4.7/python/proj_lib

配置到这里,还是不能成功importgdal,还需要配置环境变量。同样在这个对话框中,点击Environment,如下图:

点击“New...”创建环境变量:

NamePath

Value是:C:/PROGRA~1/FWTOOL~1.7/bin;C:/PROGRA~1/FWTOOL~1.7/python;

将C:/PROGRA~1/FWTOOL~1.7/bin/gdal_retile.py拷贝到Eclipse工程的Src目录,按F11进行调试OK了。

可以为python程序配置启动参数,鼠标右键点击gdal_retile.py选择Debug As菜单中的Debug Configurations弹出:

参数为

-levels 3 -ps 512 512 -co "TILED=YES" -co "BLOCKXSIZE=256" -co "BLOCKYSIZE=256" -co "COMPRESS=JPEG" -co "JPEG_QUALITY=75" -s_srs EPSG:4326 -v -targetDir D:/temp D:/1.tif

---调试FWTools2.4.7中的gdal_retile.py


转载自:http://blog.csdn.net/BoomingZhenhua/archive/2010/07/09/5722637.aspx

分享到:
评论
1 楼 guji528 2012-12-18  
正在找Python调试程序,改天试试FWTools了

相关推荐

    FWtools 2.4.7

    FWtools 2.4.7 主要用来将GIS数据作切片/金字塔处理,及导入shp数据到mysql

    FWTools 2.4.7 (Windows 32bit)

    FWTools

    FWTools247切片工具.zip

    FWTools247版本可以直接对影像进行分级切片然后可以直接通过geoserver发布

    FWTools,一个用于查看非常大TIFF文件的工具,可以放大、缩小等。工具很老,但很有用。吉林一号遥感卫星图片用TIFF格式。

    FWTools,一个用于查看非常大TIFF文件的工具,可以放大、缩小等。工具很老,但很有用。部分遥感卫星图片用TIFF格式。成功打开吉林一号的超分图片,文件达10G以上。吉林一号卫星免费提供样例图片。

    fwtools-开源

    FORTRAN 90子例程和函数的库集合,用于处理光栅图像和遥感应用程序。 “ fwtools”的名称是从“框架工具”演变而来的。

    FWTools(处理地理信息系统数据工具包).rar

    GDAL工具包,用于查看大图片,卫星图片。 这是FWTools(处理地理信息系统数据工具包),帮你处理地理信息系统GIS数据和需要查看或转换各种栅格或矢量文件的用户的应用程序的集合。在命令行模式下或使用 FWTools Shell...

    geoserver-2.14.0-pyramid-plugin.zip

    geoserver-2.14.0-pyramid-plugin为geoserver2.14.0版本的GeoServer结合FWTools切片工具发布影像金字塔切片的插件

    osgGIS0.9源代码

    osgGIS0.9源代码 Prerequisites ¶ The 3rd-party dependencies are: OpenSceneGraph 2.6 or later. GDAL/OGR version 1.4 or newer. Easier: just get FWTools and put it in your path. Expat 2.0.1, an XML ...

    FlowpyGIS:将原点到目标矩阵转换为shapefile

    事情的flowpyv * .py部分可以完成工作(重新组织输入的OD表,并将您的数据馈送到GDAL / OGR)。 我还创建了一个基本的Interface脚本flowpyInterface.py,以帮助将变量传递给主脚本。 存储库中的.htm文件提供了有关...

    FWTools切图的视窗版

    FWTools切图的视窗版,以前我们用命令行什么的,现在用视窗版了, 注意,部分功能没有完成。

    BatchSplitter-开源

    使用FWTools gdal_translate和gdaladdo生成.bat文件以从MrSID生成平铺的.tif文件,以供mapserver使用。 该工具还会创建.bat文件,以生成图块索引和图块形状文件,以供mapservertilecache使用。

    FWTools安装包

    很实用 很简单 安装直接解压就可以了。放心使用。

    JMapDesk-开源

    JMapDesk是基于shp2img工具(FWTools)的UMN MapServer的Java-Swing应用程序,类似于Sourcepole的Mapdesk。 UMN MapServer是众所周知的在线地图服务器软件。 通过所谓的Mapfile配置MapServer

Global site tag (gtag.js) - Google Analytics