GDAL、ogr2ogr“找不到 proj.db”错误

Yan*_*yun 8 shapefile gdal geojson ogr2ogr

我试图从自然地球的世界 shp 文件中提取某些国家/地区。

我目前使用的是 windows 10,所以我安装了 python 3.7,gdal 来使用 ogr2ogr。

我在命令中输入了以下代码来提取韩国

ogr2ogr -f GeoJSON -where "geonunit='韩国'" korea-geo.json ne_10m_admin_1_states_provinces.shp

但是出现了以下错误。

错误 1:PROJ:proj_create_from_wkt:找不到 proj.db

错误 1:PROJ:proj_identify:找不到 proj.db

我已经为 Gdal 设置了环境变量..

C:\Program Files\GDAL\gdal-data

C:\Program Files\GDAL\gdalplugins

请指导我解决这个问题。

小智 12

Check your environment_variable:

setx GDAL_DATA "C:\Program Files\GDAL\gdal-data"

setx GDAL_DRIVER_PATH "C:\Program Files\GDAL\gdalplugins"

setx PROJ_LIB "C:\Program Files\GDAL\projlib"

setx PYTHONPATH "C:\Program Files\GDAL\"
Run Code Online (Sandbox Code Playgroud)

  • 行列式变量是PROJ_LIB,它必须指向包含proj.db的目录 (4认同)

elr*_*bis 6

您可能需要设置PROJ_LIB环境变量。但我不确定这些数据位于您系统上的何处。它还可能受到您安装 GDAL 的方式的影响。

如果你进入你的C:\Program Files\GDAL目录,你有一个名为 的文件夹吗projproj.db如果是的话,看看里面是否有文件。如果是,那就是您的 PROJ_LIB 路径值。您也可能会在某种share文件夹中找到它。

如果您没有发现它嵌套在 GDAL 目录中的某个位置,请尝试在系统中搜索该proj.db文件,如果找到它,则将该目录(而不是完整文件路径)设置为您的PROJ_LIB值,重新启动,然后查看是否启动在职的。


小智 6

将 PROJ_DEBUG=3 添加到您的 environment_variable 非常有用。然后错误消息将告诉您 PROJ 期望文件的位置。


mAr*_*Ark 5

在导入 GDAL 之前,将这些命令添加到代码的开头你的问题将会得到解决

import os
os.environ['PROJ_LIB'] = 'C:\\Users\\Sai kiran\\anaconda3\\envs\\sai\\Library\\share\\proj'
os.environ['GDAL_DATA'] = 'C:\\Users\\Sai kiran\\anaconda3\\envs\sai\\Library\\share'

import gdal
Run Code Online (Sandbox Code Playgroud)

在 anaconda 目录中搜索proj.db文件的位置,并将相同位置替换为C:\\Users\\Sai kiran\\anaconda3\\envs\\sai\\Library\\share\\proj上述命令中的位置。gdal另外,如上例所示,替换 anaconda 目录中文件夹的位置。