GDAL的whl下载方法

GDAL的Whell下载方法,亲测有效!

废话不说,给出最新下载地址:https://github.com/cgohlke/geospatial-wheels/releases

打开页面后点击assets

GDAL的whl下载方法
GDAL的whl下载方法

下拉找到gdal下载就行

验证gdal

from osgeo import gdal

# 测试版本
print(gdal.__version__)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
GDAL 安装验证脚本
检查 GDAL 库是否正确安装并可以使用
"""

def verify_gdal():
    """验证 GDAL 是否安装成功"""
    
    print("=" * 50)
    print("开始验证 GDAL 安装...")
    print("=" * 50)
    
    # 1. 尝试导入 GDAL
    try:
        from osgeo import gdal, ogr, osr
        gdal.UseExceptions()  # 启用异常处理,消除警告
        print("✓ GDAL 模块导入成功")
    except ImportError as e:
        print(f"✗ GDAL 模块导入失败: {e}")
        print("\n请先安装 GDAL:")
        print("  - conda install -c conda-forge gdal")
        print("  - pip install gdal")
        return False
    
    # 2. 获取 GDAL 版本信息
    try:
        version = gdal.__version__
        print(f"✓ GDAL 版本: {version}")
    except Exception as e:
        print(f"✗ 无法获取版本信息: {e}")
        return False
    
    # 3. 检查支持的驱动数量
    try:
        driver_count = gdal.GetDriverCount()
        print(f"✓ 支持的栅格驱动数: {driver_count}")
        
        ogr_driver_count = ogr.GetDriverCount()
        print(f"✓ 支持的矢量驱动数: {ogr_driver_count}")
    except Exception as e:
        print(f"✗ 检查驱动失败: {e}")
        return False
    
    # 4. 列出一些常用驱动
    print("\n常用驱动支持情况:")
    common_drivers = ['GTiff', 'HFA', 'PNG', 'JPEG', 'ESRI Shapefile', 'GeoJSON']
    
    for driver_name in common_drivers:
        driver = gdal.GetDriverByName(driver_name)
        if driver:
            print(f"  ✓ {driver_name}")
        else:
            driver = ogr.GetDriverByName(driver_name)
            if driver:
                print(f"  ✓ {driver_name}")
            else:
                print(f"  ✗ {driver_name} (未找到)")
    
    # 5. 测试基本功能
    print("\n测试基本功能:")
    try:
        # 创建一个简单的内存数据集
        mem_driver = gdal.GetDriverByName('MEM')
        dataset = mem_driver.Create('', 10, 10, 1, gdal.GDT_Byte)
        if dataset:
            print("✓ 可以创建内存数据集")
            dataset = None
        else:
            print("✗ 创建内存数据集失败")
    except Exception as e:
        print(f"✗ 功能测试失败: {e}")
        return False
    
    print("\n" + "=" * 50)
    print("GDAL 安装验证完成!所有测试通过 ✓")
    print("=" * 50)
    return True


if __name__ == "__main__":
    verify_gdal()

正文完
 0