Live demo: http://playsign.github.io/fidemo/
This is a demo of integration of WebGL based 3D city visualization and Open Data with live updates.
We use several FIWARE technologies. Currently this first version features Context Broker & WebUI integration.
Features:
- buildings automatically from map data (GIS/OSM)
- real-time public traffic data (from the transit company)
- cafes, shops etc. (also from Openstreetmaps (OSM))
- Open311 issues from Context Broker (‘fix the city’ in HKI)
- Building prices (Finnish Statistics Open Data)
- adding comments to POIs to Context Broker (Orion)
For traffic (to here via CIE's POI server):
There are separate open data servers for Helsinki and Tampere.
-
Helsinki data is obtained from
http://dev.hsl.fi/siriaccess/vm/json?operatorRef=HSL -
Tampere data is obtained from
http://data.itsfactory.fi/siriaccess/vm/json
Official Helsinki page for extra info
http://dev.hsl.fi/
Official Tampere page for extra info incl. license
http://wiki.itsfactory.fi/index.php/Tampere_Public_Transport_SIRI_Interface_%28Realtime_JSON_at_data.itsfactory.fi%29
The data is SIRI ( http://user47094.vs.easily.co.uk/siri/ ) data converted to JSON format.
This repository is for a runtime of the demo: a way to run the code and ability to work on the assets.
Attempts to use a typical sane dir structure -- current is:
data/ -- for models and all related such as materials, textures etc
js/ -- for javascript code / modules, examples ported from the Santander demo are coming here (light vis, heatmap, ..)
index.html is here at root for running locally and for hosting the app on the web at: http://130.206.81.111/fidemo/
it runs main.js which is also at root for now.
The application can be opened locally by just opening index.html with a browser. However, browsers don't allow JS code to load external files that way so you need to start e.g. Chrome with the --allow-file-access-from-files option as described in http://www.chrome-allow-file-access-from-file.com/
Other option is to use a Web server locally to provide the files for your browser. This way you can use the browser normally, no extra start flags are required. An easy to install Web server is node.js:
- Install node.js
- Run
npm install
on the repo root folder to fetch dependencies. - Run
npm install -g grunt-cli
to install the grunt executable as a global tool (only have to do this once per computer) - Run
grunt dev
. This will open the index.html in the default OS web browser.
You now have a HTTP server hosting the repository directory. This works to work on the scene: add meshes, configure lights, work on the Javascript code etc.
To work on multiuser features in the application you need to run the Tundra server as well.
To start the Tundra do the following. Note that any Tundra recently new distribution with WebSocketServerModule will work eg. Meshmoon Rocket, realXtend Tundra or the FIWARE Synchronization GE Tundra distribution.
- Open a shell/windows cmd prompt
- nagivate to the Tundra installation folder
cd <tundra-install-dir>
(if Tundra is not installed to the system/PATH)
- For Windows users the default directory is
C:\Program Files (x86)\realXtend Tundra
orMeshmoon\Rocket
- Run
- Windows:
TundraConsole.exe --headless --server --file http://localhost:8085/scene.txml
- Linux/Mac:
./Tundra --headless --server --file http://localhost:8085/scene.txml
We now run on Ludocraft's filab VM, like this:
lc-test2:/opt/realxtend-tundra# xvfb-run -a ./Tundra --headless --server --port 2346 --file http://130.206.81.111/fidemo/scene.txml
The loading-txml-over-http trick is to override the current prob in tundra-webtundra storage biz that would otherwise inject local: prefixes to the asset refs.