计算古坐标点——基于GPlates Web Service的坐标点重建
GPlates客户端(桌面应用)和在线门户(浏览器应用)与 pygplates 和 gplately(python语言包)存在内在联系,它们主要实现古地理图和古板块的可视化,板块运动模型和计算化石点的坐标信息。
GPlates 可视化化石点的运动轨迹,但化石点运动轨迹的坐标计算过程并不展现。目前,rgplates (R语言包) 基于 GPlates Web Service 提供了化石坐标点计算的 reconstruct 函数。
GPlates Web Service,即 GPlates 的 API,是官方提供的包含板块重建和坐标点重建相关接口。
这里首先介绍与坐标点重建计算相关的API接口。
原始内容请查看:
https://gwsdoc.gplates.org/reconstruction/reconstruct-points/
1. 坐标点重建接口方法介绍
1.1. 功能作用:
根据重建模型将现今的地理坐标点重建至古时的位置或相反。根据选择的重建模型(板块运动模型),每个坐标点会自动分配有一个板块id,随后计算期望的时间点时该坐标点的古坐标点(或古坐标点的现今坐标点)。
1.2. 功能实现方法:
GET请求。
请求网址终端:https://gws.gplates.org/reconstruct/reconstruct_points/
参数:
- points:必需参数。原始坐标点,经度和纬度之间用英文逗号分隔。
- archor_plate_id:默认为0。计算坐标点时依据的锚定板块的id,用整数值表示。
- time:必需参数。期望计算的重建时间点。
- model:默认为网络服务器的设置。板块重建模型的名称。
- pids:当单次提交了多个坐标点时,通过此参数可以手动为每个坐标点指定各自锚定板块的id,以便提高运行性能。
- pid:不论单次提交了多少个坐标点,通过此参数可以手动为所有坐标点提供同一锚定板块的id,以便提高运行功能。
- reverse:将原始坐标点视为古坐标点,计算它的现今坐标的标识参数。如果在构建url时使用了本参数,那么服务器将输入的坐标识别为古坐标,进而计算它的现今坐标。
- fc:feature collection(特征集合)。如果在构建url时使用了本参数,那么服务器将会返回一个GeoJSON格式的特征集合。
- return_null_points:如果在构建url时使用了本参数,那么服务器将返回空坐标点(无效坐标点)。空坐标点的出现是因为现今坐标点在指定的过去时间点并不存在。
- ignore_valid_time:如果在构建url时使用了本参数,那么服务器在进行重建计算时,会突破“有效时段”的限制,从而始终可以返回坐标点,即便这些坐标点毫无意义(不在有效时段内)。
返回结果:重建后的坐标以GeoJSON格式返回。
- 例一:将两个坐标点(经:95,纬:54)(经:142,纬:-33)重建至140Ma前,模型采用“SETON2012”。返回GeoJSON格式的重建坐标点。
https://gws.gplates.org/reconstruct/reconstruct_points/?points=95,54,142,-33&time=140&model=SETON2012
https://gws.gplates.org/reconstruct/reconstruct_points/?lons=95,142&lats=54,-33&time=140&model=SETON2012
{"type":"MultiPoint","coordinates":[[84.99,59.26],[123.37,-65.76]]}
- 例二:将两个古坐标点((lon:84.99,lat:59.26)(lon:123.37,lat:-65.76))重建至当今。
https://gws.gplates.org/reconstruct/reconstruct_points/?points=84.99,59.26,123.37,-65.76&time=140model=SETON2012&reverse
https://gws.gplates.org/reconstruct/reconstruct_points/?lats=59.26,-65.76&lons=84.99,123.37&time=140&model=SETON2012&reverse
{"type":"MultiPoint","coordinates":[[95.01,54.00],[142.00,-33.00]]}
- 例三:返回GeoJSON特征集合。服务器不仅返回古坐标,还会返回坐标点存在的时间段。
https://gws.gplates.org/reconstruct/reconstruct_points/?points=95,54&time=140&model=SETON2012&fc
https://gws.gplates.org/reconstruct/reconstruct_points/?lats=54&lons=95&time=140&model=SETON2012&fc
{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[84.99,59.26]},"properties":{"valid_time":[600.0,"distant future"]}}]}
- 例四:返回空坐标点。当现今坐标点在期望的时间点并不存在时即会返回空坐标(null)。
https://gws.gplates.org/reconstruct/reconstruct_points/?points=-100,50,160,10,100,50&time=100&model=PALEOMAP&return_null_points
https://gws.gplates.org/reconstruct/reconstruct_points/?lats=50,10,50&lons=-100,160,100&time=100&model=PALEOMAP&return_null_points
{"type":"MultiPoint","coordinates":[[-56.84,47.13],null,[89.38,52.58]]}
- 例五:无效坐标点返回999.99。
https://gws.gplates.org/reconstruct/reconstruct_points/?points=-100,50,160,10,100,50&time=100&model=PALEOMAP
https://gws.gplates.org/reconstruct/reconstruct_points/?lats=50,10,50&lons=-100,160,100&time=100&model=PALEOMAP
{"type":"MultiPoint","coordinates":[[-56.84,47.13],[999.99,999.99],[89.38,52.58]]}
- 例六:使用POST请求对大量坐标点进行重建,参考https://github.com/GPlates/gplates-web-service/blob/master/python/gplatesws.ipynb
- 例七:提供锚定板块ID以提高运行性能。所有坐标点使用同一板块ID。
https://gws.gplates.org/reconstruct/reconstruct_points/?points=95,54,142,-33&time=140&model=SETON2012&pid=801
https://gws.gplates.org/reconstruct/reconstruct_points/?lons=95,142&lats=54,-33&time=140&model=SETON2012&pid=801
{"type": "MultiPoint", "coordinates": [[110.4975, 29.7166], [123.374, -65.7611]]}
- 例八:提供锚定板块ID以提高运行性能。所有坐标点使用各自的板块ID。
https://gws.gplates.org/reconstruct/reconstruct_points/?points=95,54,142,-33&time=140&model=SETON2012&pids=801,704
https://gws.gplates.org/reconstruct/reconstruct_points/?lons=95,142&lats=54,-33&time=140&model=SETON2012&pids=801,704
{"type": "MultiPoint", "coordinates": [[110.4975, 29.7166], [-164.6523, -52.7301]]}
支持信息
*可用的板块重建模型:默认模型为SETON2012。
- MULLER2022
- MERDITH2021
- MULLER2019
- MULLER2016
- MATTHEWS2016_mantle_ref
- MATTHEWS2016_pmag_ref
- RODINIA2013
- SETON2012
- GOLONKA
- PALEOMAP