Closed SimonGoring closed 6 years ago
So site_id
means something for Neotoma, but doesn't for PBDB. Is it worth adding a table in to PBDB that is basically a join, linking collections to a common spatial location, and adding a site
parameter. So this goes beyond linking duplicate lat/long pairs.
The other challenge is, with paleocoordinates, do we need matches for both modern geography and paleogeography? Is the site
concept with modern coordinates valid through time?
Hypothetical: 1 Neotoma Site = 4 datasets where 2 are in one age and 2 are in another age. The ones in same age are different because they could be pollen, diatoms, fossil fauna and what other dataset "types"?
Yes this is the case (m is modern):
This is all one site, with (five) datasets:
m--- -- pollen
m -- Faunmap
m------- diatom
m------- plant macrofossil
m - - - Geochronological (14C dates)
---time-->
Maybe we can call the site
a locale
, skipping over the site
s in Neotoma.
User does a bounding box search:
[
[
{
"locale": {
"lat": 0,
"lon": 0,
"site_name": "string", // collection name or site name
"dataset_type": "string", // for pbdb, "fossil fauna"; for Neotoma: dataset type
"age_range": [0,0], // minimum, maximum
"locale_id": [{
"id":"string",
"type":"string" // would be either 'dataset' or 'collection', to be able to pass between pbdb & neotoma.
}],
"occurrences": [] # This is optional, if `occ_id` is passed in.
}
}
]
]
So, with a search, you might get a response that looks like this:
[
"locale": {
"lat": 41,
"lon": 35,
"site_name": "Banana City Lake",
"dataset_type": "pollen",
"age_range": [-50,10000],
"age_basis": "radiocarbon years",
"age_units": "years",
"locale_id": "neot_1324",
"occurrences": []
},
"locale": {
"lat": 41,
"lon": 35,
"site_name": "Banana City Lake",
"dataset_type": "faunal",
"age_range": [9000,10000],
"age_basis": "calibrated radiocarbon years",
"age_units": "years",
"locale_id": "neot_6575",
"occurrences": []
},
"locale": {
"lat": 41,
"lon": 35,
"site_name": "Banana City Fossil Site",
"dataset_type": "faunal",
"age_range": [1000000000,1000000000],
"age_basis": "radiocarbon years",
"age_units": "years",
"locale_id": "pbdb_6575",
"occurrences": []
}
]
api_v1 implementation is complete and fully addresses this issue
This is the the current thinking, based on issue #2: