.. _2dlivemap:

Apartment live 2D Map
=====================

The Apartment live 2D Map provides a SVG based map of the apartment which is 
enhanced wit live data from the apartment internal sensors. Individual sensor 
data is represented with basic geometry elements. Currently the following 
elements are represented in the map:

* Fibaro motion data
* Sensfloor capacity data (see :ref:`floor`)
* Person tracking hypotheses (see :ref:`persontracking`)


.. figure:: /images/software/map2d.png
    :scale: 100 %
    :figclass: align-center

    A screenshot of the mapping component.


Related resources
-----------------

Component repository:
 - Browse component repository:
   ``https://projects.cit-ec.uni-bielefeld.de/projects/lsp-csra/repository/map``

 - Clone the repository:
   ``git clone http://projects.cit-ec.uni-bielefeld.de/git/lsp-csra.map.git``

System startup:
 - The long term memory components  can be found in ``lsp-csra-visual.sh``
 - The component script is called ``component_map``
 - Start via console: ``$ 2dmap /vol/csra/releases/trusty/lsp-csra-nightly/opt/2d-map-visualisation/etc/2dmap_csra.ini``

Related projects:
 - None

Software Details
-----------------




The component is implemented by following the basic MVC pattern. Therefore it is
very easy to add sensory data to be presented. In order to add your own data to
the map you need to do the following:

* Register your component and its translation in the device manager

* Create a simple UI shape element to show your data or reuse one of the 
  existing

* Create a handler to handle the visual properties w.r.t. the data received 
  via RSB (has to extend the abstract class ``AbstractEventHandler``)


Examples
--------

.. todo::  TODO