我尝试从自然地球的世界shp文件中提取某些国家/地区。
我当前正在使用Windows 10,因此我安装了python 3.7,gdal以使用ogr2ogr。
我在命令中键入以下代码以提取韩国
ogr2ogr -f GeoJSON-其中“ geonunit ='South Korea'” 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
请指导我解决此问题。
答案 0 :(得分:5)
将PROJ_DEBUG = 3添加到您的environment_variable非常有用。然后,错误消息将告诉您PROJ在哪里期待文件。
答案 1 :(得分:3)
检查您的环境变量:
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\"
答案 2 :(得分:1)
在导入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
在anaconda目录中搜索proj.db
文件的位置,并在上述命令中用C:\\Users\\Sai kiran\\anaconda3\\envs\\sai\\Library\\share\\proj
替换相同的位置。另外,如上例所示,替换anaconda目录中gdal
文件夹的位置。
答案 3 :(得分:0)
您可能需要设置PROJ_LIB
环境变量。但是我不确定这些数据在您系统上的什么位置。安装GDAL的方式也可能会影响它。
如果进入C:\Program Files\GDAL
目录,您是否有一个名为proj
的文件夹?如果是这样,请查看其中是否包含proj.db
文件。如果是这样,那就是您的PROJ_LIB路径值。您可能还会在某种share
文件夹中找到它。
如果找不到它嵌套在GDAL目录中的某个位置,请尝试在系统中搜索proj.db
文件,如果找到它,则将该目录设置为( NOT 完整的文件路径)作为您的PROJ_LIB
值,重新启动并查看一切是否正常。