GithubHelp home page GithubHelp logo

fbrundu / dimc Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 6 KB

BIM Service Provider - Context Layer

Home Page: https://www.semanticscholar.org/paper/IoT-Software-Infrastructure-for-Energy-Management-Brundu-Patti/059b77c9fcd0e689e2b1003705637f57b9a07cbc

Python 100.00%
iot internet-of-things smart-city smart-cities database sql publish-subscribe building-information-modelling json industry-foundation-classes

dimc's Introduction

BIM Service Provider - Context layer

This repository is part of a collection, see also:

Full citation:

  • Brundu, Francesco Gavino, et al. "IoT software infrastructure for energy management and simulation in smart cities." IEEE Transactions on Industrial Informatics 13.2 (2016): 832-840.

Dependencies

  • Python3
  • CherryPy

Start the service

python3 dimc.py

Setting the configuration file

The configuration file must be saved in the directory conf/ as conf.json.

Description

The service allows the following methods:

  • GET

Currently, the following actions are implemented:

  • ping
  • pingthru
  • getjson
  • getifc
  • getgbxml
  • getrvt
  • query

Get buildings as JSON array

http GET http://<service_uri>/dimc/getjson district=="<district_1>" ... district=="<district_N>"

Optional parameters are:

  • typology - ["single", "multi", "other"]
  • heating - ["district", "other"]

Get buildings as zip of IFC files

http GET http://<service_uri>/dimc/getifc district=="<district_1>" ... district=="<district_N>"

Get buildings as zip of gbXML files

http GET http://<service_uri>/dimc/getgbxml district=="<district_1>" ... district=="<district_N>"

Get buildings as zip of rvt files

In this case, the user must provide also revit version (e.g. "2015").

http GET http://<service_uri>/dimc/getrvt version=="<revit_version>" district=="<district_1>" ... district=="<district_N>"

Query buildings database

http GET http://<service_uri>/dimc/query qname=="<query_name>" district=="<district_1>" ... district=="<district_N>"

qname represents the name of the query. Currently, the following queries are implemented:

  • getnwalls - to get the total number of walls in a building (optionally, the type of the walls to consider is passed with the parameter typeid)
  • getwindowsinwall - to get the list of ids of the windows of a wall; the parameter wallid is required (the id of the hosting wall)
  • gethostingwall - to get, given the id of a window (passed with the parameter windowid), the id of the hosting wall
  • getwalltypes - to get a list of wall types
  • gettypology - to get the building typology
  • getheatingsupply - to get the type of heating supply
  • getageofconstruction - to get the age of construction
  • getoccupancy - to get the occupancy

Query result

The following is an example of result for a query:

{
    "r_ver": "<query result version>",
    "q_ts": "<ISO 8601 timestamp>",
    "q_desc": "<query description>",
    "q_par": {
        "<input_param_1>": "<input_param_1_value>",
        ...
        "<input_param_n>": "<input_param_n_value>"
    },
    "q_res": [
        {
            "b_id": "<building_1_id>",
            "b_res": [
                "<result_1>",
                ...
                "<result_n>"
            ]
        },
        ...
        {
            "b_id": "<building_n_id>",
            "b_res": [
                "<result_1>",
                ...
                "<result_n>"
            ]
        }
    ]
}

dimc's People

Contributors

fbrundu avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.