lyingx_ 2024-04-19 17:19 采纳率: 0%
浏览 14

QGIS转化数据格式发生错误,如何解决?

#QGIS
#GDAL
#格式转换
#错误
请问大家,为什么我在QGIS中将.tif格式的数据转为.map(PCRaster)格式的数据之后,刚转好的时候图没有问题,如图一,

img


但是关闭再次打开之后会变花,如图二

img


请问这是什么情况啊?应该怎么办?

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-19 17:19
    关注

    引自免费微信小程序:皆我百晓生

    在QGIS中进行数据格式转换时,有时可能会遇到转换后的文件在重新打开时显示异常的情况。这可能是由于文件编码、元数据或者软件版本差异等原因导致的。为了确保转换过程无误并解决这个问题,你可以尝试以下步骤:

    1. 使用Python GDAL库手动执行转换操作: 首先确保你已经安装了GDAL库,如果没有,可以使用pip安装:
    pip install gdal
    

    然后,你可以编写一个脚本来执行tif到map的转换,并保存元数据。以下是转换代码示例:

    from osgeo import ogr, osr
    
    def convert_tif_to_map(input_tif_file, output_map_file):
        # 打开输入TIF文件
        in_dataset = ogr.Open(input_tif_file)
        in_layer = in_dataset.GetLayer()
    
        # 获取地理坐标系
        spatial_ref = in_layer.GetSpatialRef()
    
        # 创建输出文件
        driver = ogr.GetDriverByName("MapInfo File")
        if driver.Exists(output_map_file):
            driver.DeleteDataSource(output_map_file)
    
        out_dataset = driver.CreateDataSource(output_map_file)
        out_layer = out_dataset.CreateLayer(os.path.splitext(os.path.basename(input_tif_file))[0], geom_type=ogr.wkbPolygon, srs=spatial_ref)
    
        # 复制字段
        for field_defn in in_layer.schema:
            out_layer.CreateField(field_defn)
    
        # 将TIF数据复制到MAP文件
        for feature in in_layer:
            out_feature = ogr.Feature(out_layer.GetLayerDefn())
            out_feature.SetFrom(feature)
            out_layer.CreateFeature(out_feature)
            out_feature = None
    
        in_dataset = None
        out_dataset = None
    
    # 调用函数进行转换
    input_tif_file = "your_input.tif"  # 替换为你的输入文件路径
    output_map_file = "your_output.map"  # 替换为你的输出文件路径
    convert_tif_to_map(input_tif_file, output_map_file)
    

    请确保替换your_input.tifyour_output.map为你实际的输入和输出文件路径。

    1. 如果上述方法仍无法解决问题,可能是因为QGIS本身的设置问题。检查你的QGIS设置,确保你使用的QGIS版本与你的数据兼容,同时确认你的地图渲染设置是否正确。

    2. 另外,有时候文件损坏也会导致这种情况。尝试使用其他工具(例如gdalwarp命令行工具)重新转换数据,或者从原始源创建一个新的TIF文件再进行转换。

    3. 最后,如果你的问题依然存在,可能需要提供更具体的信息,比如详细的错误信息,以便进一步分析和解决问题。

    如果你按照以上步骤操作还是存在问题,建议你提供更详尽的信息,包括具体的错误信息、QGIS版本、数据来源以及转换前后的文件属性对比等,这样能更好地定位问题所在。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月19日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错