【问题标题】:GDAL - XYZ to GeoTIFF slowGDAL - XYZ 到 GeoTIFF 慢
【发布时间】:2017-02-06 16:35:35
【问题描述】:

我有一个 XYZ 光栅文件,1.1GB,EPSG:23700 (EOV),50 米分辨率。

目的是创建一个 GeoTIFF 文件以通过 GeoServer (EPSG:4326) 发布,但我遇到了一些性能问题。

如果我从 QGIS(2.14.0,Essen) 打开 XYZ 文件,选择 Raster » Conversion » Translate 并使用默认选项启动它,它会在几分钟,这是可以接受的。

但如果我复制生成的 gdal_translate 命令并从 CLI 运行它,则需要一个多小时左右的时间。

我试过-co "GDAL_CACHEMAX=500"、-co "NUM_THREADS=3",但没有效果。在进程监视器中,QGIS版本完全使用1核(25% CPU)和默认最大内存10MByte,但CLI版本只有 和 内存。 --degub ON 选项显示 "XYZ: New stepX=50.000000000000000" 并挂在那里。

我尝试从 QGIS Directory \bin 文件夹和单独下载的 GDAL 实例(C:\OSGeo4W64\bin >),结果相同。

Windows Server 2012、16GB RAM、2.6 GHz 4 核 Xenon CPU。

对此有什么想法吗?

【问题讨论】:

    标签: gdal qgis


    【解决方案1】:

    看起来环境变量有问题。如果我使用 QGIS 启动批处理文件的修改版本,它会按预期工作。

    @echo off
    call "%~dp0\o4w_env.bat"
    @echo off
    path %OSGEO4W_ROOT%\apps\qgis\bin;%PATH%
    set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/qgis
    set GDAL_FILENAME_IS_UTF8=YES
    set GDAL_CACHEMAX = 500
    rem Set VSI cache to be used as buffer, see #6448
    set VSI_CACHE=TRUE
    set VSI_CACHE_SIZE=1000000
    set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt4\plugins
    
    REM This line changed to run my batch file instead of starting QGIS.
    call "d:\gdaltest.bat"
    

    【讨论】:

    • 更正:唯一需要的是在运行批处理之前调用 o4w_env.bat。我将研究那个批处理文件,魔术发生在哪里(以及为什么需要在这种环境中工作......)
    猜你喜欢
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 2020-10-23
    相关资源
    最近更新 更多