当前位置: 首页 > article >正文

从JPG+JGW到GeoTIFF:手把手教你用QGIS完成坐标转换与格式升级

从JPGJGW到GeoTIFFQGIS实战坐标转换与格式升级指南当你手头只有一张JPG格式的规划图纸和对应的JGW坐标文件却需要在GIS分析中使用这些数据时格式转换与坐标系统处理就成为关键步骤。本文将带你用开源神器QGIS完成从基础配准到高级格式转换的全流程操作解决实际项目中90%的栅格数据处理需求。1. 理解JGW文件的工作原理JGWJPEG World File是栅格数据的地理参考文件采用ASCII文本格式存储6个关键参数0.597164283 ← A: X方向像素分辨率 0.0 ← D: Y方向旋转系数 0.0 ← B: X方向旋转系数 -0.597164283 ← E: Y方向像素分辨率负值 347771.880625 ← C: 左上角X坐标 3343476.0825 ← F: 左上角Y坐标为什么Y分辨率是负值因为图像坐标系原点在左上角与地理坐标系原点在左下角的Y轴方向相反。这种设计保证了像素坐标与地理坐标的正确对应关系。验证坐标文件的三种方法用文本编辑器直接打开.jgw文件检查参数完整性在QGIS中加载JPGJGW后右键图层→属性→信息查看范围是否合理使用GDAL的gdalinfo命令查看配准信息gdalinfo input.jpg注意JGW文件必须与JPG文件同名且放在同一目录如map.jpg对应map.jgw2. QGIS加载与坐标验证2.1 基础加载步骤启动QGIS创建新项目菜单栏选择图层→添加图层→添加栅格图层选择JPG文件QGIS会自动加载同名JGW文件在图层面板右键该图层→属性→坐标参考系统确认当前CRS常见问题排查表问题现象可能原因解决方案图层显示为灰色JGW文件未正确加载检查文件名一致性手动指定.world文件坐标位置偏移分辨率参数错误用文本编辑器修正JGW中的A/E值投影变形CRS设置错误在图层属性中指定正确的坐标系2.2 坐标系二次确认对于来自规划云的百度火星坐标数据需要特殊处理# 通过Python控制台查看当前坐标系统需安装pyproj from qgis.core import QgsProject layer QgsProject.instance().mapLayersByName(your_layer)[0] print(layer.crs().authid()) # 输出如EPSG:3857若需转换坐标系推荐使用矢量边界插件插件管理器搜索并安装Vector Bender选择工具→Vector Bender→Raster Warp设置源CRS如GCJ-02和目标CRS如WGS843. 格式转换GDAL实战技巧3.1 基础转换命令将JPGJGW转换为GeoTIFF的最简命令gdal_translate -of GTiff input.jpg output.tif高级参数优化gdal_translate -of GTiff \ -co COMPRESSLZW \ # LZW无损压缩 -co TILEDYES \ # 分块存储提升读取效率 -co PREDICTOR2 \ # 对浮点数据优化 -a_srs EPSG:4326 \ # 指定目标坐标系 input.jpg output.tif3.2 批量处理脚本对于多文件处理保存为convert.sh#!/bin/bash for file in *.jpg; do base${file%.*} gdal_translate -of GTiff ${base}.jpg ${base}.tif gdalwarp -t_srs EPSG:3857 ${base}.tif ${base}_3857.tif done执行权限与运行chmod x convert.sh ./convert.sh4. 坐标系转换的三种方案4.1 QGIS内置工具菜单选择栅格→投影→Warp重投影设置输入图层原始栅格目标CRS如WGS84EPSG:4326重采样方法双线性适用于连续数据4.2 GDAL高级参数针对百度坐标转WGS84的特殊需求gdalwarp -s_srs projmerc a6378137 b6378137 lat_ts0.0 lon_00.0 x_00.0 y_00 k1.0 unitsm nadgridsnull wktext no_defs \ -t_srs EPSG:4326 \ -r bilinear \ -input.jpg output_wgs84.tif4.3 插件解决方案安装GeoReferencer插件导入JPG文件后选择从世界文件加载控制点在转换设置中选择多项式2算法导出为GeoTIFF格式性能对比表方法精度速度适用场景QGIS内置高中常规投影转换GDAL命令行最高快批量处理插件转换可调慢非常规坐标系5. 成果验证与优化完成转换后必须进行质量检查空间位置验证叠加OpenStreetMap底图检查对齐情况使用识别要素工具核对关键点坐标文件属性检查gdalinfo output.tif | grep -E Size|Coordinate|Pixel视觉对比工具使用视窗同步功能同时显示原始与转换后数据启用混合模式观察像素偏移情况优化技巧对大文件启用内部金字塔加速显示gdaladdo -r average output.tif 2 4 8 16使用COGCloud Optimized GeoTIFF格式gdal_translate input.jpg output.tif -of COG -co COMPRESSLZW处理过程中常见的一个坑是忽略元数据传递。使用以下命令确保所有元信息完整迁移gdal_translate -mo ORIGINPlanetCloud -mo DATE2023-07 input.jpg output.tif

相关文章:

从JPG+JGW到GeoTIFF:手把手教你用QGIS完成坐标转换与格式升级

从JPGJGW到GeoTIFF:QGIS实战坐标转换与格式升级指南 当你手头只有一张JPG格式的规划图纸和对应的JGW坐标文件,却需要在GIS分析中使用这些数据时,格式转换与坐标系统处理就成为关键步骤。本文将带你用开源神器QGIS完成从基础配准到高级格式转换…...

FigmaCN:3分钟解锁中文设计界面,设计师翻译校验的专业汉化方案

FigmaCN:3分钟解锁中文设计界面,设计师翻译校验的专业汉化方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 当你打开Figma准备开始一天的设计工作时&#xff…...

Proteus+Keil MDK5联合仿真避坑实录:手把手搞定STM32F103C6跑马灯(附完整工程)

Proteus与Keil MDK5联合仿真实战:STM32F103C6跑马灯全流程避坑指南 第一次打开Proteus和Keil准备做STM32仿真时,我盯着屏幕上闪烁的报错信息足足发呆了半小时——明明按照教程一步步操作,为什么连最简单的跑马灯都跑不起来?如果你…...

首次接入Taotoken从注册到发出第一个请求的全过程记录

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 首次接入Taotoken从注册到发出第一个请求的全过程记录 1. 注册与平台初览 决定尝试使用Taotoken平台后,我首先访问了其…...

别再死记硬背卡尔曼滤波公式了!用Python可视化带你理解高斯分布融合的奥义

用Python动态可视化揭开卡尔曼滤波中高斯分布融合的奥秘 在机器人定位和自动驾驶系统中,卡尔曼滤波就像一位隐形的导航专家,不断融合预测和测量数据来给出最优状态估计。但许多工程师在学习过程中,往往被其中高斯分布相乘的数学推导所困扰——…...

保姆级教程:在NanoPi NEO上点亮ST7735S SPI小屏幕(全志H3主线内核)

全志H3主线内核下ST7735S屏幕驱动移植实战指南 当你第一次拿到NanoPi NEO和ST7735S屏幕时,可能会被SPI接口、设备树、内核模块这些概念搞得一头雾水。别担心,这篇教程将带你从零开始,用主线内核(Mainline)一步步点亮这…...

从感知到反思:构建自主AI智能体的核心架构与工程实践

1. 项目概述:从代码仓库到智能体革命最近在GitHub上看到一个名为“Autonomous-Agents”的项目,作者是tmgthb。光看这个名字,很多朋友可能第一反应是:这又是一个关于AI智能体的开源框架吧?确实,现在市面上各…...

Hyper-V设备直通:3步完成高性能虚拟化的图形化方案

Hyper-V设备直通:3步完成高性能虚拟化的图形化方案 【免费下载链接】DDA 实现Hyper-V离散设备分配功能的图形界面工具。A GUI Tool For Hyper-Vs Discrete Device Assignment(DDA). 项目地址: https://gitcode.com/gh_mirrors/dd/DDA 你是否曾因虚拟机性能瓶…...

利用OpenClaw on Android将旧手机改造为原生性能AI服务器

1. 项目概述:将旧手机变身高性能AI服务器的魔法 如果你和我一样,手边总有一两台退役的安卓手机,放着吃灰觉得可惜,挂闲鱼又卖不了几个钱,那今天这个项目绝对能让你眼前一亮。OpenClaw on Android,简称OCA&…...

轻量级UI组件库设计:从Web Components到现代前端工程实践

1. 项目概述:一个面向现代Web开发的轻量级UI组件库最近在整理自己的前端工具箱时,又翻到了anuki这个项目。它不是一个新潮的框架,也不是一个庞大的设计系统,而是一个由个人开发者cylonmolting-creator维护的、面向现代Web开发的轻…...

基于Codai框架构建定制化AI编码助手:从RAG原理到微服务代码生成实战

1. 项目概述:一个面向现代开发者的AI编码助手框架最近在GitHub上闲逛,发现了一个挺有意思的项目,叫meysamhadeli/codai。乍一看名字,可能很多人会以为又是一个类似GitHub Copilot的AI代码补全工具。但深入探究后,我发现…...

2026终极指南:如何简单快速重置JetBrains IDE试用期,告别30天限制烦恼

2026终极指南:如何简单快速重置JetBrains IDE试用期,告别30天限制烦恼 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否曾经在代码编写到最关键的时刻,突然被JetBrains ID…...

C#调用本地硬件不再难:基于CefSharp WinForm实现Web页面读写身份证/摄像头(避坑指南)

C#混合开发实战:基于CefSharp构建Web与本地硬件交互的桥梁 在政务大厅办理业务时,你是否遇到过这样的场景:网页端填写表单到一半,工作人员突然要求插入身份证读卡器进行身份核验?传统B/S架构应用在这种需要访问本地硬…...

Cursor IDE 集成多AI模型代理:DeepSeek/Ollama/OpenRouter部署指南

1. 项目概述:为 Cursor Composer 解锁更多 AI 模型作为一名深度使用 Cursor IDE 进行开发的程序员,我深知其内置的 Composer(AI 编程助手)功能强大,但有时也会受限于其默认绑定的模型服务。如果你想在 Cursor 里用上 D…...

AI原生安全CLI实战指南:Zypheron安装、配置与攻防工作流解析

1. 项目概述:一个为实战而生的AI原生安全CLI如果你和我一样,常年泡在终端里,每天和各种扫描器、漏洞库、报告打交道,那你肯定也烦透了那种“脚本小子”式的工作流:一个工具输出一堆原始日志,再手动扔给另一…...

Open-Interface:构建统一API网关,解决开发者集成碎片化难题

1. 项目概述:一个面向开发者的开放接口聚合平台最近在GitHub上看到一个挺有意思的项目,叫“Open-Interface”。光看名字,你可能会觉得这又是一个平平无奇的API接口库,但深入了解一下,你会发现它的定位其实相当精准&…...

使用Hermes Agent框架时接入Taotoken的配置要点

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Hermes Agent框架时接入Taotoken的配置要点 对于使用Hermes Agent框架的开发者而言,通过Taotoken平台统一调用多种…...

SITS2026摄影服务背后的数据真相:单日处理17.8TB视觉流、327台终端协同、端到端延迟压至≤83ms(附完整时序拓扑图)

更多请点击: https://intelliparadigm.com 第一章:SITS2026摄影服务背后的数据真相:单日处理17.8TB视觉流、327台终端协同、端到端延迟压至≤83ms(附完整时序拓扑图) SITS2026并非传统影楼系统,而是一套面…...

揭秘Code Review 2.0革命:LLM上下文感知审查引擎如何将漏检率从17.3%压降至0.8%?

更多请点击: https://intelliparadigm.com 第一章:AI原生代码审查:2026奇点智能技术大会Code Review新范式 在2026奇点智能技术大会上,AI原生代码审查(AI-Native Code Review)正式取代传统人工规则引擎混合…...

自托管AI助手Moltis:基于Rust的持久化个人AI代理服务器部署与实战

1. 项目概述:为什么我们需要一个“持久化”的个人AI代理服务器?如果你和我一样,在过去一年里深度体验过各种AI助手,从ChatGPT到Claude,再到各种开源的Agent框架,你可能会发现一个共同的痛点:它们…...

你的电动车换挡逻辑够‘聪明’吗?聊聊AMT控制器(TCU)里的那些‘小心思’

你的电动车换挡逻辑够‘聪明’吗?聊聊AMT控制器(TCU)里的那些‘小心思’ 电动车AMT(自动机械变速器)控制器的核心在于TCU(Transmission Control Unit)的软件策略。与燃油车不同,电动…...

HDLbits刷题避坑指南:Q3a FSM里那个‘counter==0’的判断,90%的人都理解错了

HDLbits刷题避坑指南:Q3a FSM里那个‘counter0’的判断,90%的人都理解错了 在数字电路设计中,状态机与计数器的组合堪称经典范式。但正是这种看似简单的组合,往往隐藏着最易被忽视的细节陷阱。今天我们就来解剖HDLbits上那道让无数…...

Applera1n终极指南:iOS 15-16激活锁强力绕过工具深度解析

Applera1n终极指南:iOS 15-16激活锁强力绕过工具深度解析 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 面对iPhone激活锁的困境,你是否曾感到束手无策?当二手交易…...

Webots 机器人仿真平台(九) 构建IMU传感器融合系统

1. 理解IMU传感器融合的核心概念 IMU(惯性测量单元)是现代机器人导航定位的基础组件,它就像机器人的"内耳",负责感知自身的运动状态。在Webots仿真环境中,IMU通常被拆分为四个独立传感器组件:Ine…...

TQVaultAE终极指南:告别泰坦之旅仓库混乱,打造完美装备管理系统

TQVaultAE终极指南:告别泰坦之旅仓库混乱,打造完美装备管理系统 【免费下载链接】TQVaultAE Extra bank space for Titan Quest Anniversary Edition 项目地址: https://gitcode.com/gh_mirrors/tq/TQVaultAE 还在为《泰坦之旅》的仓库空间不足而…...

独立开发者如何借助Taotoken快速试验不同大模型效果

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何借助Taotoken快速试验不同大模型效果 对于独立开发者而言,在构建AI驱动的产品或功能时,一个…...

C#上位机开发实战:用Keysight VISA库控制N9310A信号发生器(附完整代码)

C#上位机开发实战:用Keysight VISA库控制N9310A信号发生器(附完整代码) 在工业自动化和测试测量领域,信号发生器是不可或缺的核心设备。Keysight(是德科技)的N9310A射频信号发生器凭借其稳定性和精确度&…...

3步掌握Jable视频下载神器:告别复杂抓包,一键保存高清视频

3步掌握Jable视频下载神器:告别复杂抓包,一键保存高清视频 【免费下载链接】jable-download 方便下载jable的小工具 项目地址: https://gitcode.com/gh_mirrors/ja/jable-download 还在为无法离线观看Jable.tv上的精彩视频而烦恼吗?每…...

基于Obsidian与Gemini AI构建全自动播客生成系统

1. 项目概述:一个全自动的AI播客生成流水线 如果你和我一样,既是内容创作者,又是效率工具的重度用户,那你一定对“信息过载”和“创作瓶颈”这两个词深有体会。每天在Obsidian里记录下大量的笔记、想法和阅读摘要,它们…...

避开这些坑!QT5/QT6使用QMQTT连接OneNet物联网平台的完整配置流程

避开这些坑!QT5/QT6使用QMQTT连接OneNet物联网平台的完整配置流程 在物联网开发中,MQTT协议因其轻量级和高效性成为设备与云端通信的首选方案。对于使用QT框架的开发者来说,QMQTT库是实现这一功能的关键组件。然而,在实际集成过程…...