smr547 / BoatLayout

Simple scheme to describe the layout of spaces on a boat
0 stars 0 forks source link

BoatLayout records the layout of a boat as a graph of Spaces and Access ports. It provides a succinct relational model for the various spaces combined with textual description which gives meaning to space names and access paths within any vessel.

Future work will include an API to allow integration with boat inventory and maintenance systems. The addition of 3D properties to the Spaces will allow integration with 3D visualisation tools.

Data model

The following UML class diagram shows the data structure for BoatGraph.

Data Model

A Boat consist of many Spaces. Spaces are used for various purposes including human occupation, equipment installation and storage.

An Access is a connection between two spaces. Examples are doorways, hatches and opening of other kinds. Some accesses allow human passage while others are only allow a humand to reach in (e.g. small storage compartments).

Usage

First export your spreadsheet data to csv files and copy them to the data directory

cd src
cp ~/Downloads/*.csv ../data

Then run the python script to build the dot file

./build_dot.py -s ../data/physical_structure_of_namadgi_3\ -\ Spaces.csv -a ../data/physical_structure_of_namadgi_3\ -\ Accesses.csv > namadgi3.dot

Finally run dot to create the output PDF

dot -Tpdf namadgi3.dot -o namadgi3.pdf       

Future work