Giter Club home page Giter Club logo

eocat-v1's Introduction

EOCat

EOCat is a simple Earth Observation Catalogue server based on node.js express and mongoose.

EOCat supports product search requests compliant with the “OpenSearch for EO” standard (OGC-13-126) and returns search results in the form of an OGC OWS Context document encoded in geoJson (OGC-14-055) (experimental).

Web Site: https://obarois.github.io/EOCat-v1/

Setup Instructions:

These are instructions for macos (tested on v10.11+)
Refer to https://www.mongodb.com fot installing Mongodb on other platform and skip step 2 and 3

1. Install Node :

https://nodejs.org

2. install homebrew package manager:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

3. install mongodb:

brew install mongodb

4. change dir to the root directory of EOCat

cd <eocat dir>

5. install all node module dependencies required by EOCat (this creates a dir ./node_modules)

npm install

6. generate server key and certificate (needed if using https)

./utilities/generate_ssl_keycert.sh

You should now be OK to go...

7. Start the EOCat Server

Use the provided eocat script to start the EOCat server. To see options, use ./eocat

To start an EOCat server listening to https on port 3443:

./eocat -s -S -p 3443

To start an EOCat server listening to http on port 8080:

./eocat -s  -p 8080

To start an EOCat server listening to http on port 3000:

./eocat -s

The script first starts the mongodb database (on port 27017), then the EOCat Web server, and finally opens the EOCat home page in your default Browser application. Should it not find them, the eocat script creates the folders ../eocatdata/mongodb (mongodb database) and ../eocatdata/log (mongodb log file).

8. Try it out

Assuming EOCat was started with command ./eocat -s

Populate the catalogue with 1 test product:

curl -H "Content-Type: application/json" --data @./test-data/testProduct.json http://localhost:3000/products?dataset=test%20Dataset

Find it (use a web browser):

http://localhost:3000/*/search
http://localhost:3000/testDataset/search

Get product by its id:

http://localhost:3000/products/test%20product%201

Get the catalogue population (experimental):

http://localhost:3000/describe

See how it goes by customizing the test data file ./test-data/testProduct.json or using your own.

9. Clean things up:

To clean things up after trying out:

Stop the server and MongoDB database:

./eocat -e

Delete the entire Mongodb database:

rm -R ../eocatdata

10. Make a real use of EOCat: To populate the database with Sentinel metadata from ESA's Datahub, use the Harvester utility:

Note: The eocat server must be started in https

Go through step 6 and start server with ./eocat -s -S -p 3443

Use the harvester:

https://localhost:3443/harvester.html

eocat-v1's People

Contributors

obarois avatar olilen 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.