批处理集成ogr2ogr工具,中文乱码解决方案

最近工作中涉及到对tab文件的检查,tab不是交互文件,传统的io读写对其无法操作。需要借助gdal,gis官网上可以相应的jar包,配置环境变量后,通过java对其进行操纵。此种方法我已实现,效率不高。有小伙伴想用java进项集成的,可以参考这个博客,里面说的很详细,http://blog.csdn.net/huyishero/article/details/61680556。

接下来就如主题,说说批处理集成ogr,以及中文乱码的问题。

1.首先下载gdal,http://download.gisinternals.com/release.php下载对应的版本


2.配置环境变量,配置环境变量后,cmd下,任意位置都可以执行ogr,就可以不用到指定的目录下了

SDK_ROOT=D:\ogr2ogr\gdal64\release-1800-x64-dev\release-1800-x64(ogr安装目录,SDKShell.bat的上一级)
GDAL_DATA=%SDK_ROOT%bin\gdal-data
GDAL_DRIVER_PATH=%SDK_ROOT%bin\gdal\plugins
PYTHONPATH=%SDK_ROOT%bin\gdal\python;%SDK_ROOT%bin\ms\python
PROJ_LIB=%SDK_ROOT%bin\proj\SHARE
PATH=%SDK_ROOT%bin;%SDK_ROOT%bin\gdal\python\osgeo;%SDK_ROOT%bin\proj\apps;%SDK_ROOT%bin\gdal\apps;%SDK_ROOT%bin\ms\apps;%SDK_ROOT%bin\gdal\csharp;%SDK_ROOT%bin\ms\csharp;%SDK_ROOT%bin\curl;%PATH%

3.将两个mif文件导入oracle库里面,然后就行相关的sql批处理操作就可以了。

下面说说中文乱码问题

中文乱码分为两种:

1.gdal版本问题:

这个简单,你只要将语句到ogr的SDKShell.bat里面执行,看看导入的库的中文时候乱码,如果乱码,则是此gdal版本问题,建议换成低版本gdal。


2.windows环境

用个ogr的同学对其中命令多熟悉,主要说说红框的部分。


我遇到的情况是这样的,我在SDKShell.bat执行上面的语句没问题,但是我将语句放在run.bat中,执行,表里面的中文字段就会乱码,很是困惑,后来我同事说windows是gbk编码,虽然之前我设置成了utf-8编码,但是还没起作用,抱着试试的心态,将他设置成了gbk,如上图红框,set NLS_LANG=.ZHS16GBK。中文乱码问题解决,再此记录下,有明白的同学可以一起交流下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章