pygplates专栏——Reconstruct features——Reconstruct motion path features

pygplates专栏——Reconstruct features——Reconstruct motion path features

  • Reconstruct motion path features
    • 导出重建的运动路径到一个文件
      • 示例代码
    • 查询一个重建的运动轨迹
      • 示例代码

Reconstruct motion path features

这个例子展示了几个不同的场景,涉及到运动路径特征到地质时代的重建。

导出重建的运动路径到一个文件

示例代码

import pygplates

# 加载板块运动模型
rotatioin_model = pygplates.RotationModel("Muller2019-Young2019-Cao2020_CombinedRotations.rot")
# 加载一些于东轨迹特征
motion_path_features = pygplates.FeatureCollection("4-output_motion_path.gpml")
# 重建的地质时间
reconstruction_time = 50
# 输出的文件名
export_filename = "6-Exported_reconstructed_motion_paths_output_{0}Ma.shp".format(reconstruction_time)
# 完成重建和保存文件
pygplates.reconstruct(motion_path_features, rotatioin_model, export_filename, reconstruction_time,
                      reconstruct_type=pygplates.ReconstructType.motion_path)

查询一个重建的运动轨迹

在这个例子中,我们输出重建运动路径中的点位置。

示例代码

import pygplates

# 指定两个点
seed_points = pygplates.MultiPointOnSphere(
    [
        (-19, 12.5),
        (-28, 15.7)
    ])
# 时间取样列表
times = range(0, 91, 1)
# 创建一个运动轨迹特征
motion_path_feature = pygplates.Feature.create_motion_path(
    seed_points,
    times,
    valid_time=(max(times), min(times)),
    relative_plate = 201,
    reconstruction_plate_id=701
)
# 加载板块运动模型
rotation_model = pygplates.RotationModel('Muller2019-Young2019-Cao2020_CombinedRotations.rot')
# 重建的地质时间
reconstruction_time = 50
# 重建运动轨迹
reconstructed_motion_paths = []
pygplates.reconstruct(motion_path_feature, rotation_model, reconstructed_motion_paths, reconstruction_time,
    reconstruct_type=pygplates.ReconstructType.motion_path)
# 遍历所有重建的运动轨迹
for reconstructed_motion_path in reconstructed_motion_paths:
    # 输出运动轨迹的板块ID
    print(" Motioin path: %d relative to %d at %fMa" % (
        reconstructed_motion_path.get_feature().get_reconstruction_plate_id(),
        reconstructed_motion_path.get_feature().get_relative_plate(),
        reconstruction_time
    ))
    # 输入重建的点坐标
    print("  reconstructed seed point: lat: %f, lon: %f" % reconstructed_motion_path.get_reconstructed_seed_point().to_lat_lon())
    motion_path_times = reconstructed_motion_path.get_feature().get_times()
    # 遍历运动轨迹中所有点
    for point_index, point in enumerate(reconstructed_motion_path.get_motion_path()):
        lat, lon = point.to_lat_lon()
        # 第一个点是最早的,最后一个是最晚的,所以我们需要反向输出
        time = motion_path_times[-1-point_index]
        # 输出
        print("  time: %f, lat: %f, lon: %f" % (time, lat, lon))

你可能感兴趣的:(pyGPlates,python,pygplates)