Closed SimonGoring closed 6 years ago
This would use the publiclly available GPlates endpoint, we could either use this on the fly, or do a dump.
@jpjenk Can you link to the API documentation for this?
We actually need more and better documentation on the PBDB for paleogeographic coordinates. The issue is that there are multiple models and some ambiguity when it comes to which times should be used for the rotation: https://paleobiodb.org/data1.2/colls/summary_doc.html
In general the best model to use is the GPlates model, which would live in the definitions of pgm
here, but there are several versions:
Model | Description |
---|---|
scotese | Use the paleogeographic model defined by C. R. Scotese (2002), which is the one that this database has been using historically. |
gplates | Use the paleogeographic model defined by the GPlates software from the EarthByte group. By default, the coordinates for each collection are calculated at the midpoint of its age range. |
gp_early | Use the GPlates model, calculating the rotations at the early end of each collection's age range |
gp_mid | A synonym for the value gplates. |
gp_late | Use the GPlates model, calculating the rotations at the late end of each collection's age range |
So we still need to be able to push in values with the format (modern) lat
, long
and ageBP
, time_unit
and then get out the (paleo) lat
, long
, model
, age
, notes
. This would let us support the use of a mixed model system if we need it, where we would fill from one model when another failed, and note that in the notes
field.
@cambro, is there a way to do this directly with gplates? Or do we need to go through the PBDB occs
API? Could you write an example call to the appropriate API?
We already offer many of these as services via Macrostrat, so that is one option.
Awesome, I think what I was asking for earlier was a sample API call for the macrostrat service. One of the things @jpjenk and I were talking about was passing in some of the oldest Neotoma records to see if they do actually show any differences in paleo-coordinates, or at least, the age beyond which paleo-coordinates become relevant, to try to limit our use of the service for younger data returns.
I looked at the Macrostrat API, but I don't see a route for passing in geoJSON: https://macrostrat.org/api
Paleocoordinates may be optionally returned though a side call to the Gplates model. Additionally, a user can convert modern to paleo coordinates using the /misc/paleocoords
route which is a break out tool.
The implementation does impose some overhead and performance could be improved by creating a vector of found lat/lons and sending them to Gplates in a single call (as long as this is supported by py-gplates).
Should this be a flag in each API endpoint that turns on or off the use of paleo coordinates? Or are these endpoints in and of themselves?