{"id":28780507,"url":"https://github.com/nlesc/pattyvis","last_synced_at":"2025-10-18T04:03:49.685Z","repository":{"id":19655275,"uuid":"22908125","full_name":"NLeSC/PattyVis","owner":"NLeSC","description":"Webgl pointcloud visualization of the Via Appia based on potree","archived":false,"fork":false,"pushed_at":"2022-05-20T18:50:00.000Z","size":49064,"stargazers_count":12,"open_issues_count":9,"forks_count":11,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-08-31T14:44:08.609Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NLeSC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-13T08:17:44.000Z","updated_at":"2025-05-20T11:37:41.000Z","dependencies_parsed_at":"2022-08-04T16:45:24.122Z","dependency_job_id":null,"html_url":"https://github.com/NLeSC/PattyVis","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/NLeSC/PattyVis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLeSC%2FPattyVis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLeSC%2FPattyVis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLeSC%2FPattyVis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLeSC%2FPattyVis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NLeSC","download_url":"https://codeload.github.com/NLeSC/PattyVis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NLeSC%2FPattyVis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279463616,"owners_count":26174646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-17T18:07:09.385Z","updated_at":"2025-10-18T04:03:49.645Z","avatar_url":"https://github.com/NLeSC.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"PattyVis\n========\n\n[![Build Status](https://travis-ci.org/NLeSC/PattyVis.svg?branch=master)](https://travis-ci.org/NLeSC/PattyVis)\n[![Code Climate](https://codeclimate.com/github/NLeSC/PattyVis/badges/gpa.svg)](https://codeclimate.com/github/NLeSC/PattyVis)\n[![Test Coverage](https://codeclimate.com/github/NLeSC/PattyVis/badges/coverage.svg)](https://codeclimate.com/github/NLeSC/PattyVis)\n[![Sauce Test Status](https://saucelabs.com/buildstatus/patty-vis)](https://saucelabs.com/u/patty-vis)\n[![devDependency Status](https://david-dm.org/NLeSC/PattyVis/dev-status.svg)](https://david-dm.org/NLeSC/PattyVis#info=devDependencies)\n[![Codacy Badge](https://www.codacy.com/project/badge/a2ebd9977fe04aa1af6e5c47dc8d6927)](https://www.codacy.com/public/sverhoeven/PattyVis)\n[![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.45923.svg)](http://dx.doi.org/10.5281/zenodo.45923)\n\nWebgl pointcloud visualization of the Via Appia based on http://potree.org\n--------------------------------------------------------------------------\n![logo](DOCS/pattyvis_fp_ss4.png \"A beautiful vista\")\n\nA big step towards a 3D GIS Application.  \n![logo](DOCS/pattyvis_fp_ss2.png \"A big step towards a 3D GIS Application\")\nWith 3D footprints of grave monuments based on GPS coordinates.  \n![logo](DOCS/pattyvis_fp_ss1.png \"With 3D footprints based on GPS coordinates\")\nA 'background' or reference frame was made with Fugro's drive-map technology http://www.drive-map.eu/  \n![logo](DOCS/pattyvis_fp_ss9.png \"The drive map visualized\")\nSeveral monuments have been photographed extensively and made into seperate pointclouds. This is an ongoing process.  \n![logo](DOCS/pattyvis_fp_ss5.png \"Here you can see the drive-map and the site-specific photography based pointcloud next to eachother\")\n![logo](DOCS/pattyvis_fp_ss3.png \"A particularly well-captured monument.\")\nMeasurements can be made in the 3D environment.  \n![logo](DOCS/pattyvis_fp_ss8.png \"Measurements can be made in the 3D environment.\")\nHistorical maps can give extra information on the site's history.  \n![logo](DOCS/pattyvis_fp_ss6.png \"Historical maps can give extra information on the site's history.\")\nSearching options like the material used in the site can give extra insight.  \n![logo](DOCS/pattyvis_fp_ss7.png \"Historical maps can give extra information on the site's history.\")\n\n\nGetting started (windows, from scratch)\n---------------------------------------\n\n1. Install Git : \thttp://git-scm.com/downloads\n2. Install Node.js : \thttp://nodejs.org/ (Make sure add node to PATH option is checked)\n  1. Create '$HOME/npm' folder (Where $HOME is c:\\Users\\\u003cusername\u003e\\AppData\\Roaming).\n  2. Open node command prompt and run `npm install -g bower grunt-cli`\n3. Install Ruby: http://rubyinstaller.org/ (Make sure add ruby to PATH option is checked)\n  1. Open ruby command prompt and run `gem install compass`\n4. Start Git bash\n5. Type: \"git clone https://github.com/NLeSC/PattyVis\"\n6. Type: \"cd PattyVis\"\n7. Type: \"npm install -g grunt grunt-cli\"\n8. Type: \"npm install\"\n8. Type: \"bower install\"\n8. Type: \"bower update\"\n9. Type: \"grunt serve\"\n10. Open browser, go to \"http://localhost:9000\"\n\nGetting started (Linux, Debian and Ubuntu based)\n-------------------------------------------------\n\nPrerequisites\n------------\n\n1. nodejs, http://nodejs.org/\n2. bower, http://bower.io\n3. compass, http://compass-style.org\n4. Java Development Kit, https://www.java.com/\n5. PhantomJS v1 https://bitbucket.org/ariya/phantomjs/downloads/\n\nInstallation\n------------\n\n### Install nodejs\n\nFollow instructions at joyents github website:\nhttps://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#debian-and-ubuntu-based-linux-distributions\n\n### Install nodejs modules\nInstall bower, karma-cli and grunt-cli globally\n```\nsudo npm install -g bower grunt-cli karma-cli\n\n```\n\n### Install compass\n\nCompass is used to convert the sass 2 css.\n\n1. Install Ruby using https://www.ruby-lang.org/en/documentation/installation/#apt\n2. Install Ruby dev and other dependecy packages\n```\nsudo apt-get install ruby-dev libffi-dev\n```\n3. Install compass (for sass compilation)\n```\ngem install compass\n```\n\n### Fetch git repository\n```\ngit clone https://github.com/NLeSC/PattyVis\n```\n\n### setup with bower\n```\ncd PattyVis\nnpm install\nbower install\n```\nIf you already have a installed the bower packages before, but need to update them for a new version of the code, run\n```\nbower update\n```\n\n### start development server \u0026 open browser\n```\ngrunt serve\n```\nChanges made to code will automatically reload web page.\n\n### Run unit tests\n\n```\ngrunt test\n```\nGenerates test report and coverage inside `test/reports` folder.\n\n### Run end-to-end tests with local browser (chrome)\n\nTests in Chrome can be run with\n```\ngrunt e2e-local\n```\n\nThe pointcloud and minimap use a canvas and can't be tested automatically so they must be verified manually using the screenshots in the report.\nOpen `e2e/reports/report.html` in a web-browser.\n\n### Run end-to-end tests on [sauce labs](https://saucelabs.com/)\n\nTo connnect to Sauce Labs use sauce connect program. [Here](https://docs.saucelabs.com/reference/sauce-connect/) you can find the details on how to install and run it.\n\nBefore tests can be run the sauce labs credentials must be setup\n\n```\nexport SAUCE_USERNAME=\u003cyour sauce labs username\u003e\nexport SAUCE_ACCESS_KEY=\u003cyour sauce labs access key\u003e\n```\n\nTests in Chrome, Firefox on Windows, Linux and OSX can be run with\n```\ngrunt e2e-sauce\n```\n\nThe 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/\u003cyour sauce labs username\u003e`.\n\nTravis-ci also runs end-to-end tests on sauce labs.\n\nNote! Running `grunt e2e-sauce` will undo all changes in `app/` folder.\n\n### Build a distro\n\n```\ngrunt build\n```\nThe `dist` folder has production ready distribution.\n\n### Generate API documentation\n\n```\ngrunt jsdoc\n```\n\nAPI documentation is generated in `doc/` directory.\n\nMockup\n------\n\nFor mockup see https://wiki.esciencecenter.nl/index.php/Patty_Visualization\n\nOculus Rift\n-----------\nGet the host application and run it: https://github.com/Instrument/oculus-bridge\n\nCreation of sites.json\n----------------------\n\nIn db run:\n\n    SELECT site_id, ST_ASGEOJSON(geom, 15,5) FROM sites_geoms WHERE site_id IN (162,13);\n\nTo get geometry, bbox and crs.\n\nHeight and properties need to be filled manually.\n\nFrame rate report\n----------------\n\nUse Chrome FPS plotting to get the frame rate.\n1. Open developer tools\n2. On Console tab goto Rendering tab (bottom screen)\n3. Check the Show FPS meter checkbox\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlesc%2Fpattyvis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnlesc%2Fpattyvis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlesc%2Fpattyvis/lists"}