diff --git a/v2/fossils.ts b/v2/fossils.ts index 6321bbaa..824ef9ca 100644 --- a/v2/fossils.ts +++ b/v2/fossils.ts @@ -33,7 +33,9 @@ module.exports = function (req, res, next) { req.query.col_group_id || req.query.strat_name_id || req.query.strat_name_concept_id || - "sample" in req.query + "sample" in req.query || + req.query.lat || + req.query.lng ) { callback(null, { interval_name: "Unknown", @@ -114,6 +116,13 @@ module.exports = function (req, res, next) { ); } + if (req.query.lat && req.query.lng) { + where += " AND ST_DWithin(pbdb_matches.coordinate, ST_SetSRID(ST_MakePoint(:lng, :lat), 4326), :radius)"; + params["lat"] = parseFloat(req.query.lat); + params["lng"] = parseFloat(req.query.lng); + params["radius"] = parseFloat(req.query.radius) || .1; + } + if (req.query.col_group_id) { where += " AND col_group_id = ANY(:col_group_ids)"; params["col_group_ids"] = larkin.parseMultipleIds( @@ -251,4 +260,4 @@ module.exports = function (req, res, next) { }, ); } -}; +}; \ No newline at end of file