Skip to content
/ PattyVis Public

Webgl pointcloud visualization of the Via Appia based on potree

License

Notifications You must be signed in to change notification settings

NLeSC/PattyVis

Repository files navigation

PattyVis

Build Status Code Climate Test Coverage Sauce Test Status devDependency Status Codacy Badge DOI

Webgl pointcloud visualization of the Via Appia based on http://potree.org

logo

A big step towards a 3D GIS Application.
logo With 3D footprints of grave monuments based on GPS coordinates.
logo A 'background' or reference frame was made with Fugro's drive-map technology http://www.drive-map.eu/
logo Several monuments have been photographed extensively and made into seperate pointclouds. This is an ongoing process.
logo logo Measurements can be made in the 3D environment.
logo Historical maps can give extra information on the site's history.
logo Searching options like the material used in the site can give extra insight.
logo

Getting started (windows, from scratch)

  1. Install Git : http://git-scm.com/downloads
  2. Install Node.js : http://nodejs.org/ (Make sure add node to PATH option is checked)
  3. Create '$HOME/npm' folder (Where $HOME is c:\Users<username>\AppData\Roaming).
  4. Open node command prompt and run npm install -g bower grunt-cli
  5. Install Ruby: http://rubyinstaller.org/ (Make sure add ruby to PATH option is checked)
  6. Open ruby command prompt and run gem install compass
  7. Start Git bash
  8. Type: "git clone https://github.com/NLeSC/PattyVis"
  9. Type: "cd PattyVis"
  10. Type: "npm install -g grunt grunt-cli"
  11. Type: "npm install"
  12. Type: "bower install"
  13. Type: "bower update"
  14. Type: "grunt serve"
  15. Open browser, go to "http://localhost:9000"

Getting started (Linux, Debian and Ubuntu based)

Prerequisites

  1. nodejs, http://nodejs.org/
  2. bower, http://bower.io
  3. compass, http://compass-style.org
  4. Java Development Kit, https://www.java.com/
  5. PhantomJS v1 https://bitbucket.org/ariya/phantomjs/downloads/

Installation

Install nodejs

Follow instructions at joyents github website: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#debian-and-ubuntu-based-linux-distributions

Install nodejs modules

Install bower, karma-cli and grunt-cli globally

sudo npm install -g bower grunt-cli karma-cli

Install compass

Compass is used to convert the sass 2 css.

  1. Install Ruby using https://www.ruby-lang.org/en/documentation/installation/#apt
  2. Install Ruby dev and other dependecy packages
sudo apt-get install ruby-dev libffi-dev
  1. Install compass (for sass compilation)
gem install compass

Fetch git repository

git clone https://github.com/NLeSC/PattyVis

setup with bower

cd PattyVis
npm install
bower install

If you already have a installed the bower packages before, but need to update them for a new version of the code, run

bower update

start development server & open browser

grunt serve

Changes made to code will automatically reload web page.

Run unit tests

grunt test

Generates test report and coverage inside test/reports folder.

Run end-to-end tests with local browser (chrome)

Tests in Chrome can be run with

grunt e2e-local

The pointcloud and minimap use a canvas and can't be tested automatically so they must be verified manually using the screenshots in the report. Open e2e/reports/report.html in a web-browser.

Run end-to-end tests on sauce labs

To connnect to Sauce Labs use sauce connect program. Here you can find the details on how to install and run it.

Before tests can be run the sauce labs credentials must be setup

export SAUCE_USERNAME=<your sauce labs username>
export SAUCE_ACCESS_KEY=<your sauce labs access key>

Tests in Chrome, Firefox on Windows, Linux and OSX can be run with

grunt e2e-sauce

The pointcloud and minimap use a canvas and can't be tested automatically so they must be verified manually using the screencast in the report at https://saucelabs.com/u/<your sauce labs username>.

Travis-ci also runs end-to-end tests on sauce labs.

Note! Running grunt e2e-sauce will undo all changes in app/ folder.

Build a distro

grunt build

The dist folder has production ready distribution.

Generate API documentation

grunt jsdoc

API documentation is generated in doc/ directory.

Mockup

For mockup see https://wiki.esciencecenter.nl/index.php/Patty_Visualization

Oculus Rift

Get the host application and run it: https://github.com/Instrument/oculus-bridge

Creation of sites.json

In db run:

SELECT site_id, ST_ASGEOJSON(geom, 15,5) FROM sites_geoms WHERE site_id IN (162,13);

To get geometry, bbox and crs.

Height and properties need to be filled manually.

Frame rate report

Use Chrome FPS plotting to get the frame rate.

  1. Open developer tools
  2. On Console tab goto Rendering tab (bottom screen)
  3. Check the Show FPS meter checkbox