GithubHelp home page GithubHelp logo

eudoroolivares2016 / edsc-smart-handoffs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nasa/edsc-smart-handoffs

0.0 0.0 0.0 644 KB

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.

License: Other

Shell 1.20% JavaScript 98.80%

edsc-smart-handoffs's Introduction

Earthdata Search Components: Smart Handoffs

npm version Build Status codecov

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.

Installation

npm install @edsc/smart-handoffs

Usage

import generateHandoffs from '@edsc/smart-handoffs'

const handoffUrl = generateHandoffs({
  collectionMetadata,
  searchContext,
  ummT
})

Parameters

  • collectionMetadata: Collection metadata from CMR in UMM-C format
    • Currently only conceptId and shortName are used.
  • searchContext: Collection Search context
  • ummT: The collection's associated UMM-T record

Search Context Object

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
  },
}

Contributing

See CONTRIBUTING.md

License

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.

edsc-smart-handoffs's People

Contributors

abbottry avatar bademiluyi avatar elizabeth-wainwright avatar macrouch avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.