常用 GMT 绘图脚本示例

Published:

数据可视化是科学研究中的关键环节,高质量的图件对于结果展示与分析至关重要。为提高 InSAR 后处理阶段的绘图效率并确保图件风格的统一性,本文展示了一些基于 Generic Mapping Tools (GMT) 的常用绘图脚本及数据格式转换工具。旨在为相关研究提供绘图参考。

参考文档: 在进行复杂绘图任务时,建议查阅 GMT 中文手册 以获取详细的参数说明与语法规范。

全局配置说明: GMT 的绘图输出风格(包括字体设定、图幅尺寸、边框类型等)由一系列系统配置参数决定。为确保 InSAR 成果图件风格的统一性与规范化,推荐使用本团队 gmt.conf 配置文件

相关参考文献:关于参数配置的详细机制与修改方法,请参阅 GMT中文手册 - 配置参数概览


1. 时空基线图绘制 (Spatiotemporal Baseline Visualization)

在完成干涉对的筛选与手动增删操作后,需重新绘制时空基线图以检查干涉网络的连通性与基线分布情况。

脚本功能:读取干涉对列表与基线表,绘制垂直基线与时间基线的分布关系。

脚本调用命令:

plot_baseline.csh

plot_baseline.csh intf.in baseline_table.dat

输出示例:

时空基线图

2. 雷达坐标系栅格数据可视化 (Cartesian/Radar Coordinates)

针对处于 SAR 原始几何(雷达坐标系)下的栅格数据(如相位图、相干性图),由于其尚未进行地理编码,需使用笛卡尔坐标系(Linear Projection)进行绘制以快速预览数据质量。

参数说明

  • grd_file: 输入的网格文件(雷达坐标系)
  • limitL/limitU: 数据的显示范围下限/上限
  • cpt: 颜色映射表 (Color Palette Table)

脚本调用命令:

plot_grd_JX.csh

plot_grd_JX.csh grd_file limitL limitU cpt

输出示例:

时空基线图

3. 地理坐标系栅格数据可视化 (Geographic/WGS84 Coordinates)

对于已完成地理编码(Geocoding)的栅格数据(如形变速率图、累积形变图),应使用地理坐标系绘图脚本,确保经纬度信息的正确投影展示(通常使用 Mercator 投影)。

脚本调用命令:

plot_grd.csh

plot_grd.csh grd_file limitL limitU

输出示例:

时空基线图

4. 形变时间序列提取与绘图 (Time Series Plotting)

为直观展示地表形变的演化过程,需对提取的特征点(PS/DS点)进行时间序列绘制。该脚本支持自动读取时间序列文件并生成位移-时间曲线。

脚本调用命令:

plot_timeseries.csh

plot_timeseries.csh disp_file

输出示例:

时空基线图

5. 数据格式转换协议 (Data Format Conversion)

在多源数据处理过程中,常需利用 GDAL/OGR 库进行数据格式的互转,以满足不同软件(如 ArcGIS, QGIS, GMT)的输入要求。

5.1 栅格数据转换 (Raster)

TIFF 转 GMT NetCDF (GRD): 将 GeoTIFF 格式转换为 GMT 可识别的网格文件。

gdal_translate -of GMT Input.tif Output.grd

GMT NetCDF (GRD) 转 GeoTIFF: 将 GMT 处理后的结果导出为 GeoTIFF 以便在 GIS 软件中查看。

gdal_translate -of Gtiff Input.grd Output.tif

5.2 矢量数据转换 (Vector)

虽然 GMT 6.1 及以上版本已原生支持 ESRI Shapefile (.shp) 格式的直接读取与绘制,但在某些特定场景下,将 Shapefile 转换为 GMT 格式仍有助于简化文件管理。

针对 GMT 6.5 及以上版本: 参考文档:GDAL/OGR 转换

ogr2ogr -f "GMT" Output.gmt Input.shp

针对 GMT 6.0 及早期版本: 参考文档:OGR2OGR 旧版支持

ogr2ogr -f OGR_GMT Output.gmt Input.shp