关于Blender使用GIS插件时候遇到No imaging library available问题
GIS
·
1.这段时间本人也是尝试了很多的版本,目前在3.3版本使用下比较稳定可靠。
2.如果其他版本遇到这个问题,可以在C:\Users\XXX\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\BlenderGIS-master\core\lib\imageio\resources目录下新建一个文件夹FreeImage,里面放一个FreeImage-3.15.1-win64.dll文件即可。(根据电脑的配置来的)

3.或者在Blender中的Python脚本运行以下代码进行实现。
import bpy
import subprocess
import sys
import os
def install_packages():
"""安装BlenderGIS所需的图像处理库"""
# 获取Blender的Python解释器
python_exe = sys.executable
# 确保pip可用
subprocess.call([python_exe, "-m", "ensurepip"])
# 升级pip
subprocess.call([python_exe, "-m", "pip", "install", "--upgrade", "pip"])
# 安装必要库
packages = ["pillow", "imageio", "numpy"]
for package in packages:
try:
subprocess.call([python_exe, "-m", "pip", "install", package])
print(f"成功安装: {package}")
except Exception as e:
print(f"安装 {package} 失败: {str(e)}")
# 验证安装
try:
from PIL import Image
import imageio
import numpy as np
print("所有库已成功安装!")
return True
except ImportError as e:
print(f"验证失败: {str(e)}")
return False
class GIS_OT_InstallPackages(bpy.types.Operator):
bl_idname = "gis.install_packages"
bl_label = "安装GIS依赖库"
bl_description = "安装BlenderGIS所需的图像处理库"
def execute(self, context):
if install_packages():
self.report({'INFO'}, "库安装成功! 请重启Blender")
else:
self.report({'ERROR'}, "安装失败,请查看控制台输出")
return {'FINISHED'}
def menu_func(self, context):
self.layout.operator(GIS_OT_InstallPackages.bl_idname)
def register():
bpy.utils.register_class(GIS_OT_InstallPackages)
bpy.types.VIEW3D_MT_editor_menus.append(menu_func)
def unregister():
bpy.utils.unregister_class(GIS_OT_InstallPackages)
bpy.types.VIEW3D_MT_editor_menus.remove(menu_func)
if __name__ == "__main__":
register()
4.在需要使用天地图时也可以在C:\Users\XXXAppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\BlenderGIS-master\core\basemaps这个目录下的servicesDefs.py文件中加上一段代码。如下图所示:

具体代码如下:XXXXX即为在天地图官网申请的密钥
"TIANDITU" : {
"name" : '天地图',
"description" : '天地图',
"service": 'TMS',
"grid": 'WM',
"quadTree": False,
"layers" : {
# "SAT" : {"urlKey" : 's', "name" : 'Satellite', "description" : '', "format" : 'jpeg', "zmin" : 0, "zmax" : 22},
"IMG" : {"urlKey" : 'vec_w', "name" : '矢量底图', "description" : '', "format" : 'jpeg', "zmin" : 1, "zmax" : 18},
"CVA" : {"urlKey" : 'cva_w', "name" : '矢量注记', "description" : '', "format" : 'jpeg', "zmin" : 1, "zmax" : 18},
"IMG" : {"urlKey" : 'img_w', "name" : '影像底图', "description" : '', "format" : 'jpeg', "zmin" : 1, "zmax" : 18},
"TER" : {"urlKey" : 'ter_w', "name" : '地形晕渲', "description" : '', "format" : 'jpeg', "zmin" : 1, "zmax" : 18},
"CTA" : {"urlKey" : 'cta_w', "name" : '地形注记', "description" : '', "format" : 'jpeg', "zmin" : 1, "zmax" : 18},
"IBO" : {"urlKey" : 'ibo_w', "name" : '全球境界', "description" : '', "format" : 'jpeg', "zmin" : 1, "zmax" : 18}
},
"urlTemplate": "http://t0.tianditu.gov.cn/{LAY}/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={Z}&TILEROW={Y}&TILECOL={X}&tk=XXXXXXXXXXXXXXXXXXXXXXXXXX",
"referer": ""
5.具体效果如下:

更多推荐
所有评论(0)