坐標編譯
❶ Qt+GDAL開發筆記(一):在windows系統mingw32編譯GDAL庫、搭建開發環境和基礎Demo
前言
在麒麟系統上進行全球北斗定位終端開發時,調試工具製作一個Windows版本以便校對,北斗GPS發送的是大地坐標,應用需要的是經緯度坐標。轉換過程中,我們選擇了GDAL庫進行轉換,避免使用公式計算的繁瑣與可能的誤差。
注意
不建議使用mingw32版本的GDAL庫進行編譯,過程異常曲折。
大地坐標簡介
大地坐標(Geodetic coordinate)在大地測量中以參考橢球面為基準面,地面點P的位置由大地經度L、大地緯度B和大地高H確定。
原理
大地經度是參考橢球面上點與起始大地子午面(通過格林尼治天文台的子午面)之間的夾角,向東為東經,向西為西經。大地緯度是法線與赤道面的夾角,由赤道面起算,向北為北緯,向南為南緯。大地高是地面點到參考橢球面的距離。
北京54坐標系(BJZ54)
北京54坐標系基於克拉索夫斯基橢球,是通過局部平差後產生的坐標系,由經度L54、緯度M54和大地高H54表示。
世界大地坐標系統(WGS-84)
WGS-84坐標系是世界大地坐標系統,使用WGS-84橢球體,原點設在地球中心,X軸指向格林尼治參考子午線與赤道面的交點,Z軸指向地極方向,Y軸與X、Z軸構成右手坐標系。
國家大地坐標系(CGCS2000)
CGCS2000是當前最新的國家大地坐標系,原點設在包括海洋和大氣的整個地球的質量中心,X軸指向格林尼治參考子午線與赤道面的交點,Z軸指向地極方向。
GDAL庫介紹
GDAL(Geospatial Data Abstraction Library)是一個開源柵格空間數據轉換庫,支持各種文件格式,提供命令行工具進行數據轉換和處理。OGR是GDAL的一個分支,支持矢量數據。
功能與特徵
OGR體系結構
GDAL下載地址
GDAL的下載地址為:gdal.org/download.html,選擇3.2.1版本。
准備MSYS2環境
在MSYS2中配置編譯環境,可能遇到系統枚舉未知問題,嘗試使用msys2或msys642解決,確保成功編譯。
使用Qt5.9.3 mingw32進行編譯
將Qt5.9.3 mingw32編譯器復制到MSYS2根目錄,確保引入成功。
路徑配置與編譯GDAL
配置路徑、編譯GDAL,包括下載、解壓、配置、編譯和安裝步驟,遇到問題時使用強制方法解決問題。
編譯PROJ6
類似步驟進行下載、解壓、配置、編譯和安裝PROJ6,解決可能遇到的問題。
編譯SQLITE3
下載、解壓、配置、編譯和安裝SQLITE3,解決配置錯誤,確保庫正確編譯。
編譯pkgconfig(廢棄步驟)
嘗試編譯pkgconfig,但由於廢棄不再使用,此步驟僅保留。
結尾
經過一系列嘗試與優化,成功編譯並安裝GDAL、PROJ6和SQLITE3庫。建議讀者避免使用mingw32版本的GDAL庫,以簡化編譯過程。