alexfig / ahn-pointcloud-viewer

Webgl pointcloud visualization of the Actuele Hoogtekaart Nederland

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AHN pointcloud viewer

Join the chat at https://gitter.im/NLeSC/ahn-pointcloud-viewer Build Status

Code Climate Test Coverage

Webgl pointcloud visualization of the Actuele Hoogtekaart Nederland (2) based on http://potree.org

Related repositories

  • Massive-PotreeConverter: Used to extend PotreeConverter to deal with massive point clouds like AHN2. This visualization requires the point cloud data to be converted to the potree format.
  • [ahn-pointcloud-viewer-ws] (https://github.com/NLeSC/ahn-pointcloud-viewer-ws): Contains the web service in charge of the communication between this application and the database with meta-data regarding the point cloud data.

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/ahn-pointcloud-viewer"
  9. Type: "cd ahn-pointcloud-viewer"
  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/

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 and grunt-cli globally

sudo npm install -g bower grunt-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/ahn-pointcloud-viewer

setup with bower

cd ahn-pointcloud-viewer
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.

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

Deploy to Github pages

Deploy distribution to gh-pages branch. Make it available as http://nlesc.github.io/ahn-pointcloud-viewer

grunt build
grunt gh-pages

About

Webgl pointcloud visualization of the Actuele Hoogtekaart Nederland

License:Apache License 2.0


Languages

Language:JavaScript 79.4%Language:HTML 10.8%Language:ApacheConf 7.1%Language:CSS 2.7%