常用 GMT 绘图脚本示例
Published:
数据可视化是科学研究中的关键环节,高质量的图件对于结果展示与分析至关重要。为提高 InSAR 后处理阶段的绘图效率并确保图件风格的统一性,本文展示了一些基于 Generic Mapping Tools (GMT) 的常用绘图脚本及数据格式转换工具。旨在为相关研究提供绘图参考。
参考文档: 在进行复杂绘图任务时,建议查阅 GMT 中文手册 以获取详细的参数说明与语法规范。
全局配置说明: GMT 的绘图输出风格(包括字体设定、图幅尺寸、边框类型等)由一系列系统配置参数决定。为确保 InSAR 成果图件风格的统一性与规范化,推荐使用本团队 gmt.conf 配置文件
相关参考文献:关于参数配置的详细机制与修改方法,请参阅 GMT中文手册 - 配置参数概览
1. 时空基线图绘制 (Spatiotemporal Baseline Visualization)
在完成干涉对的筛选与手动增删操作后,需重新绘制时空基线图以检查干涉网络的连通性与基线分布情况。
脚本功能:读取干涉对列表与基线表,绘制垂直基线与时间基线的分布关系。
脚本调用命令:
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 grd_file limitL limitU cpt
输出示例:

3. 地理坐标系栅格数据可视化 (Geographic/WGS84 Coordinates)
对于已完成地理编码(Geocoding)的栅格数据(如形变速率图、累积形变图),应使用地理坐标系绘图脚本,确保经纬度信息的正确投影展示(通常使用 Mercator 投影)。
脚本调用命令:
plot_grd.csh grd_file limitL limitU
输出示例:

4. 形变时间序列提取与绘图 (Time Series Plotting)
为直观展示地表形变的演化过程,需对提取的特征点(PS/DS点)进行时间序列绘制。该脚本支持自动读取时间序列文件并生成位移-时间曲线。
脚本调用命令:
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
