请选择 进入手机版 | 继续访问电脑版
MSIPO技术圈 首页 IT技术 查看内容

pgplates专栏——Sample code——Load/Save(加载和保存特征集合)

2023-07-13

根据其他文件创建一个包含特征子集的新文件

本示例中,我们将创建一个新的GPML文件,该文件只包含板块ID为801的海岸线

示例代码

import pygplates

# 加载全球海岸线特征
input_feature_collection = pygplates.FeatureCollection("Global_EarthByte_GPlates_PresentDay_Coastlines.gpmlz")
# 新建用于储存板块801特征的列表
features_in_plate_801 = []
# 白能力所有海岸线特征,将那些在板块801的特征到“features_in_plate_801”
for feature in input_feature_collection:
    if feature.get_reconstruction_plate_id() == 801:
        features_in_plate_801.append(feature)
# 储存为一个新的文件
output_feature_collection = pygplates.FeatureCollection(features_in_plate_801)
output_feature_collection.write("3-output_coastlines_801.gpml")

详解

使用pygplates.FeatureCollection对象可以加载和保存features

首先我们先从"coastlines.gpml"文件中获取GPlates海岸线features,将它们储存在pygplates.FeatureCollection对象中

features = pygplates.FeatureCollection('coastlines.gpml')

或者可以使用pygplates.FeatureCollection.read()函数

features = pygplates.FeatureCollection.read('coastlines.gpml')

然后创建一个空列表用于储存板块801子集

features_in_plate_801 = []

pygplates.FeatureCollection对象可以像序列一样进行处理,可以遍历所有海岸线features并挑选出板块801

for feature in features:
    if feature.get_reconstruction_plate_id() == 801:
        features_in_plate_801.append(feature)

我们需要新建一个pygplates.FeatureCollection对象用于保存板块801

output_feature_collection = pygplates.FeatureCollection(features_in_plate_801)

现在我们可以把该对象保存为gpml文件

output_feature_collection.write('coastlines_801.gpml')

从多个文件中获取的特征创建一个文件

在本例中,我们创建了一个新的GPML文件,其中包含来自一个文件的脊线和来自另一个文件的等时线。

示例代码

import pygplates

# 多个目标文件
filenames = ["Muller_etal_2019_GeeK07_Ridges.gpmlz", "Seton_etal_2020_Isochrons.gpmlz"]
# 所有文件中所有特征的储存列表
merged_features = []
# 读取特征到列表
for filename in filenames:
    features = pygplates.FeatureCollection(filename)
    merged_features.extend(features)
# 将所有特征整合到一个文件
merged_feature_collection = pygplates.FeatureCollection(merged_features)
merged_feature_collection.write("3-output_ridges_and_isochrons.gpml")

相关阅读

热门文章

    手机版|MSIPO技术圈 皖ICP备19022944号-2

    Copyright © 2024, msipo.com

    返回顶部