Smart handoffs allow users to link from one application to another while carrying with them certain parameters that set a specific context (e.g. open up the same dataset, temporal range, and spatial search in a new tool). This code simplifies the creation of smart handoff links.
The edsc-smart-handoffs plugin was developed as a component of Earthdata Search.
npm install @edsc/smart-handoffs
import generateHandoffs from '@edsc/smart-handoffs'
const handoffUrl = generateHandoffs({
collectionMetadata,
searchContext,
ummT
})
- collectionMetadata: Collection metadata from CMR in UMM-C format
- Currently only
conceptId
andshortName
are used.
- Currently only
- searchContext: Collection Search context
- ummT: The collection's associated UMM-T record
The searchContext parameter is an object containing your user's current search context. Follow the example object below for formatting.
searchContext: {
keyword: '', // Keyword query to be used for searching
map: {
projection: 'epsg3413', // Current map project epsg code
latitude: 38.883, // Latitude of current interest point, center of map, etc.
longitude: -77.0163, // Longitude of current interest point, center of map, etc.
zoom: 3, // Zoom level of map
base: { // Base layer for map to use
blueMarble: true
},
overlays: { // Overlay layers for map to enable
referenceFeatures: true,
referenceLabels: true
}
},
temporal: {
endDate: '2022-01-01', // any format parseable by moment.utc()
startDate: '2022-01-31' // any format parseable by moment.utc()
}
spatial: {
// Can provide any of the following spatial types
// String or array values accepted (only first value in array will be used)
boundingBox: '-77.60234,37.00428,-75.15486,40.06987',
circle,
point,
polygon
},
}
See CONTRIBUTING.md
Copyright © 2007-2014 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.