Defining tags for space inside a building isn't actually defined and I would like to propose something simple so we could have something to start with.
The concept of Zones brings a lot of discussion / interpretations... that's why I thought using the simple term: room. A room is a physical space inside a building surrounded by walls/windows/doors. A hallway is a room, an office is a room... Special cases can be defined as there's nothing that would prevent one to use "room" tag to split one big physical room into a bunch of rooms... or maybe a kind of "sub-room" tag could be used... but for now, let's keep it simple.
Zone would be the result of a query like that : all rooms served by equipRef:@vavX As it is an abstract concept, it seems logical to me that it would be defined by a query...
I think that departmentRef, floorRef would be useful ref tags...
Here is a challenge of defining relation between equipRef: Vav and rooms... if not possible to use "arrays" of Ref tags...we could use equipRef tags in each rooms...
Brian FrankTue 16 Sep 2014
I am not sure department is really a good abstraction to standardize. Floor and rooms are pretty much standardize terms I think everyone could agree upon. But I think we'd still have to do some really hard work to standardize the fundamental abstractions for space and zone. COBIE I believe has some good definitions and I think we should align with what they have done. If someone is an expert in how they did it, then maybe we can craft a complete proposal.
Mike JarmyTue 16 Sep 2014
I do think that the concept of a List of Refs is something we should seriously consider. The 2D-ness of haystack data can be constricting at times.
Its true that the benefits of tabular data are very high for export to CSV, Excel, SQL, etc. So I don't think we should do anything to move away from 2D data structures in general.
But frequently there are cases that occur where one ends up encoding zinc inside of zinc, e.g. point actions, priority arrays, and the like. Even the enum tag is an example of an encoded list.
Complex models like the one that Christian is exploring are another example of a case where a data structure inside of a row value could be very useful -- in this case supporting a many-to-many relationship via a sequence of Refs.
The problem of course is that if we allow complex data structures at the syntactic level, then we will quickly move away from CSV going straight into Excel or Rdbms, which is probably not acceptable.
Perhaps we could introduce the concept of allowing embedded data structures (List, Dict, Grid) to be unquoted via a flag on the request, but have the default be that they are quoted as an escaped string as we do now.
Christian TremblayTue 16 Sep 2014
@Brian Aligning with COBIE from what I understand means aligning with BIM modeling wich seems to be really complex (and complete yes). http://www.buildingsmart-tech.org/ifc/IFC4/final/html/index.htm
Do you think Haystack should act as a kind of interface between BIM and another server ?
Or are you proposing to align only with terms and implement our own representation ?
To be honest, I'm afraid by the level of complexity of BIM and it wouldn't be my first choice (even not my second...). It's really made for construction...
If we are only concerned by using good terms and definition, I agree that we can stick to what have been defined by BIM modeling :
In fact, we could state that if there's some internal fight concerning semantic/definitions and word choices, we will use definintion given by BIM modeling.
I'll end saying that I'm pretty confident that we should keep things simple. haystack should be used to analyse data not to build a new building. We don't need every layers of complexity of BIM.
Brian FrankTue 16 Sep 2014
Or are you proposing to align only with terms and implement our own representation ?
I don't really think we need the complexity of BIM, but at the same time I don't think we should define things that don't cleanly align. Today these worlds are very separate, but they will converge over time.
Regarding spaces versus zones, you can see in BIM that space is more of a human view of the building (rooms, floors, etc). Zone is more of a system's view of the building (VAV zones, lighting zones, security zones).
We would have to decide if we need both concepts, how they are modeled, and how they compose together. I don't think we can fully tackle any piece without putting together the whole design for zones, spaces, floors, rooms, etc.
Denis OConnorTue 16 Sep 2014
One similar concept that is defined in Haystack is "lightsGroup".
I am curious if anyone uses this tag; and if so how do you use it? It sounds similar to how a lighting zone might be defined.
Christian TremblayTue 16 Sep 2014
@Brian Both concept can cohabit very well I think and I'm pretty sure that we would have a stronger model with both concepts. A physical one, let say space and a logical one zones.
For little systems or non-complex ones, zone and space can be the exact same thing but we cover more situations with both.
@Denis I may be wrong but the notion of lightsGroup refer to the way they are programmed. Lights in a same zone could be on different lightGroups (if group #1 is dimmable or near windows, group #2 could refer to the middle of the zone, etc...)
Brian FrankThu 18 Sep 2014
One similar concept that is defined in Haystack is "lightsGroup".
Yes that is heavily used, but is not really related. That was just to fit lights which are typically boolean points into the equip/point model. It serves as the equip level for lights to contain one more "light switches" which use the lights tag.
Christian Tremblay Mon 15 Sep 2014
Defining tags for space inside a building isn't actually defined and I would like to propose something simple so we could have something to start with.
The concept of Zones brings a lot of discussion / interpretations... that's why I thought using the simple term: room. A room is a physical space inside a building surrounded by walls/windows/doors. A hallway is a room, an office is a room... Special cases can be defined as there's nothing that would prevent one to use "room" tag to split one big physical room into a bunch of rooms... or maybe a kind of "sub-room" tag could be used... but for now, let's keep it simple.
Zone would be the result of a query like that : all rooms served by
equipRef
:@vavX As it is an abstract concept, it seems logical to me that it would be defined by a query...I think that
departmentRef
,floorRef
would be useful ref tags...So here is my proposal
departmentRef
id
: @department_namedis
: "Department Name"siteRef
: @sitefloorRef
id
: @floor_iddis
: "Floor Id"siteRef
: @siteroomRef
id
: @room_iddis
: StrroomNumber
: StrlevelRef
: @departmentRef
: @area
: Number sqftwidth
:Numberheight
:Numberlength
:Numbervolume
:NumberdiffusersType
: "ex.ceiling"diffusersQty
:NumberflowMinClg
:Number cfmflowMaxClg
:Number cfmflowMinHtg
:Number cfmflowMaxHtg
: Number cfmnumberOccupants
:NumberExample
Engineering Department
id
: @engineering_departmentdis
: "Engineering Department"siteRef
: @site2 floors and 1 basement
id
:@basementdis
: "basement"siteRef
: @siteid
:@floor1dis
: "Floor #1"siteRef
:@siteid
:@floor2dis
: "Floor #2"siteRef
:@sitea few rooms
id
: @room_101Adis
: "Mr Jone's office"roomNumber
: "101A"floorRef
:: @floor1departmentRef
:area
: 200 sqftwidth
:height
:length
:volume
:diffusersType
: ceilingdiffusersQty
:2flowMinClg
:flowMaxClg
:flowMinHtg
:flowMaxHtg
:numberOccupants
:1id
: @room_102dis
: "other office"roomNumber
: "102"floorRef
: @floor1departmentRef
:area
: 1000 sqftwidth
:height
:length
:volume
:diffusersType
: ceilingdiffusersQty
:4flowMinClg
:flowMaxClg
:flowMinHtg
:flowMaxHtg
:numberOccupants
:id
: @room_101dis
: "Mr Engineer's office"roomNumber
: "101"floorRef
: @floor1departmentRef
: @engineering_departmentarea
: 400 sqftwidth
:height
:length
:volume
:diffusersType
: ceilingdiffusersQty
:1flowMinClg
:flowMaxClg
:flowMinHtg
:flowMaxHtg
:numberOccupants
:1id
:@vav1roomRef
: @room_101roomRef
: @room_102Here is a challenge of defining relation between equipRef: Vav and rooms... if not possible to use "arrays" of Ref tags...we could use equipRef tags in each rooms...
Brian Frank Tue 16 Sep 2014
I am not sure department is really a good abstraction to standardize. Floor and rooms are pretty much standardize terms I think everyone could agree upon. But I think we'd still have to do some really hard work to standardize the fundamental abstractions for space and zone. COBIE I believe has some good definitions and I think we should align with what they have done. If someone is an expert in how they did it, then maybe we can craft a complete proposal.
Mike Jarmy Tue 16 Sep 2014
I do think that the concept of a List of Refs is something we should seriously consider. The 2D-ness of haystack data can be constricting at times.
Its true that the benefits of tabular data are very high for export to CSV, Excel, SQL, etc. So I don't think we should do anything to move away from 2D data structures in general.
But frequently there are cases that occur where one ends up encoding zinc inside of zinc, e.g. point actions, priority arrays, and the like. Even the enum tag is an example of an encoded list.
Complex models like the one that Christian is exploring are another example of a case where a data structure inside of a row value could be very useful -- in this case supporting a many-to-many relationship via a sequence of Refs.
The problem of course is that if we allow complex data structures at the syntactic level, then we will quickly move away from CSV going straight into Excel or Rdbms, which is probably not acceptable.
Perhaps we could introduce the concept of allowing embedded data structures (List, Dict, Grid) to be unquoted via a flag on the request, but have the default be that they are quoted as an escaped string as we do now.
Christian Tremblay Tue 16 Sep 2014
@Brian Aligning with COBIE from what I understand means aligning with BIM modeling wich seems to be really complex (and complete yes).
http://www.buildingsmart-tech.org/ifc/IFC4/final/html/index.htm
Do you think Haystack should act as a kind of interface between BIM and another server ?
Or are you proposing to align only with terms and implement our own representation ?
To be honest, I'm afraid by the level of complexity of BIM and it wouldn't be my first choice (even not my second...). It's really made for construction...
If we are only concerned by using good terms and definition, I agree that we can stick to what have been defined by BIM modeling :
http://www.buildingsmart-tech.org/ifc/IFC4/final/html/schema/ifcproductextension/lexical/ifcspace.htm
http://www.buildingsmart-tech.org/ifc/IFC4/final/html/schema/ifcproductextension/lexical/ifczone.htm
In fact, we could state that if there's some internal fight concerning semantic/definitions and word choices, we will use definintion given by BIM modeling.
I'll end saying that I'm pretty confident that we should keep things simple. haystack should be used to analyse data not to build a new building. We don't need every layers of complexity of BIM.
Brian Frank Tue 16 Sep 2014
I don't really think we need the complexity of BIM, but at the same time I don't think we should define things that don't cleanly align. Today these worlds are very separate, but they will converge over time.
Regarding spaces versus zones, you can see in BIM that space is more of a human view of the building (rooms, floors, etc). Zone is more of a system's view of the building (VAV zones, lighting zones, security zones).
We would have to decide if we need both concepts, how they are modeled, and how they compose together. I don't think we can fully tackle any piece without putting together the whole design for zones, spaces, floors, rooms, etc.
Denis OConnor Tue 16 Sep 2014
One similar concept that is defined in Haystack is "lightsGroup".
I am curious if anyone uses this tag; and if so how do you use it? It sounds similar to how a lighting zone might be defined.
Christian Tremblay Tue 16 Sep 2014
@Brian Both concept can cohabit very well I think and I'm pretty sure that we would have a stronger model with both concepts. A physical one, let say
space
and a logical onezones
.For little systems or non-complex ones, zone and space can be the exact same thing but we cover more situations with both.
@Denis I may be wrong but the notion of
lightsGroup
refer to the way they are programmed. Lights in a samezone
could be on different lightGroups (if group #1 is dimmable or near windows, group #2 could refer to the middle of the zone, etc...)Brian Frank Thu 18 Sep 2014
Yes that is heavily used, but is not really related. That was just to fit lights which are typically boolean points into the equip/point model. It serves as the equip level for lights to contain one more "light switches" which use the lights tag.