这个例子展示了几个不同的场景,涉及到运动路径特征到地质时代的重建。
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))