GithubHelp home page GithubHelp logo

gis-web-client's Introduction

PDS Template Repository for Node.js

The goal of this repository is to create a GUI for GIS data in the PDS registry. 4

👉 Important! You must assign the teams as mentioned on the wiki page above! At a minimum, these are:

Team Permission
@NASA-PDS/pds-software-committers write
@NASA-PDS/pds-software-pmc admin
@NASA-PDS/pds-operations admin

We recommend the use of Node Version Manager (nvm), since different projects within the Planetary Data System require different versions of Node.js. This tool allows you to use a specific version of Node.js for each terminal session on your machine. If you haven't already, install or update nvm.

Once your nvm installation has been verified, configured, and activated (see the NVM README), you can run the following commands

nvm install 12.22.11
nvm use 12.22.11

This configures your PATH in your current terminal session so node --version prints v12.22.11. There are convenient shortcuts for LTS versions; again see the NVM README.

By default, this template includes a .nvmrc file that contains lts/*, meaning "use the latest long-term support release". Feel free to adjust this as needed. To activate Node.js using the .nvmrc file, in a terminal window, navigate to where you have cloned this repository and execute the following command, paying close attention to any additional instructions it may provide:

nvm use

👉 Note: If you're on Windows, please see these important notes.


📽️ GIS Web Client

This is a gui web client to use data from GIS services that are located in the PDS registry. Currently there is only a demo that will work for WMTS tilemaps in PDS.

💽 Prerequisites

  • Currenty, the demo requires the use of a local PDS Registry being hosted. Please refer to the documentation in the PDS Registry repository for information on how to get that set up.

  • After cloning the registry repository, build it with the instruction found here: PDS Registry Docker Build Instructions

  • To create the PDS4 labels of the Treks services, run the registry's utility script for Treks with the command:

create-treks-pds4 -t all

🏎️ User Quickstart

To run the demo, simply open the index.html in any browser you choose. Leaflet does not need to be installed, but a local registry must be set up with Treks layer data loaded in. Refer to Prerequisites above for details.

👉 Note: There may be cross-origin cors issues loading in the data. Most browsers have extensions to disable these issues on a web page. You might need to install one of these.

For Firefox, I use CORS Everywhere

✋ Code of Conduct

All users and developers of the NASA-PDS software are expected to abide by our Code of Conduct. Please read this to ensure you understand the expectations of our community.

🔧 Development

To develop this project, use your favorite text editor, or an integrated development environment of your choice with Node.js support.

👏 Contributing

For information on how to contribute to NASA-PDS codebases please take a look at our Contributing guidelines.

🤫 Detecting Secrets

(These instructions can probably stay as-is.)

The PDS Engineering Node recommends using detect-secrets in order to prevent credentials, private email addresses, application keys, etc., from leaking into the commit history. To use detect-secrets, install the tool according to the instructions in the wiki. Then, make a baseline for any secrets that are supposed to be in repository:

detect-secrets scan . \
    --all-files \
    --disable-plugin AbsolutePathDetectorExperimental \
    --exclude-files '\.secrets..*' \
    --exclude-files '\.git.*' \
    --exclude-files '\.pre-commit-config\.yaml' \
    --exclude-files 'node_modules' > .secrets.baseline

Review the .secrets.baseline to determine which should be allowed and which are false positives:

detect-secrets audit .secrets.baseline

Please remove any secrets that should not be seen by the public. You can then add the baseline file to the commit:

git add .secrets.baseline

Then, configure the pre-commit hooks:

pre-commit install
pre-commit install -t pre-push
pre-commit install -t prepare-commit-msg
pre-commit install -t commit-msg

These hooks then will check for any future commits that might contain secrets.

👉 Note: A one time setup is required both to support detect-secrets and in your global Git configuration. See the wiki entry on Secrets to learn how.

📦 Packaging

Enter: npm run build.

🩺 Tests

Use npm run tests.

📢 Publication

The continuous integration provided by the Roundup Action takes care of this. But you can manually publish a release with npm publish.

gis-web-client's People

Contributors

tloubrieu-jpl avatar

Watchers

Jimmie Young avatar Anil Natha avatar  avatar Steve Hughes avatar Catherine Suh avatar Jordan Padams avatar Ronald Joyner avatar

gis-web-client's Issues

Show 3D lidar images

💡 Description

Allow the webclient to also show 3D lidar point clouds

⚔️ Parent Epic / Related Tickets

No response

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.