w3c-lbd-cg / bot

Building Topology Ontology
https://w3id.org/bot
53 stars 15 forks source link

Project rotation #41

Closed MadsHolten closed 4 years ago

MadsHolten commented 5 years ago

In addition to bot:hasZeroPoint we should include a project rotation (ie. angle between project north and true north).

At the W3C call on October 9th this was agreed and just need to be implemented.

mathib commented 5 years ago

We might also consider the use of a transformation matrix, instead of a zero and rotation. I've looked into it already and a 4x4 matrix is the most commonly used in geometry-related frameworks for this. Most of the time, it is stored in an column-major order array, while in math classes, it is often depicted as row-major order. The matrix:

11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44

is stored as an array =

[11,21,31,41,
12,22,32,42,
13,23,33,43,
14,24,34,44]
MadsHolten commented 5 years ago

Sounds like a good idea. And no domain I guess, since the transformation matrix could also be applied to a single element or zone.

Do you know if this is also common practice with GIS? They might prefer latitude and longitude.

pipauwel commented 5 years ago

I think that we should not overload the BOT with these things, and consider moving things to a separate ontology for geometry. Note also that there are geometrical concepts in the GIS area, like geo:hasGeometry. We should align with the concepts defined elsewhere, in any case.

MadsHolten commented 5 years ago

I agree. however, I do not think geometry should be the scope of the LBD group. After my presentation at SSN2018 Don Brutzman gave me his business card and asked me to contact him. Geometry is not of particular interest to me but maybe we should have a look at the X3D work?

namedgraph commented 5 years ago

Are you sure geometry ontology does not exist in some form? A quick google search turned up:

pipauwel commented 5 years ago
MadsHolten commented 5 years ago

I agree 100 %. Especially since it is common practice to have a local coordinate system in a BIM model. The only purpose of the zero point and the rotation is to allow people from the GIS domain to easily convert. From the limited GIS understanding I have we also use different national coordinate systems which means that it should be possible to have different latitude and longitude properties assigned to the zero point. This is absolutely possible. Example:

@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix nat: <http://example.com/nationalGISxx#> .

inst:projZero
  a geo:Point ;
  geo:lat "55.701" ;
  geo:long "12.552" ;
  nat:lat "55.801" ;
  nat:long "12.652" .
stickxxx commented 5 years ago

Given this group's name, I can hardly insist more on the definition of links towards existing concepts in existing vocabularies. As such, BOT has NO link defined to an existing vocabulary (e.g. as it is the case for the opm ontology). So instead of adding concepts to this vocabulary, I would suggest you check the alignments defined by Georg for BOT (some of them may no longer be true), and make those links explicit in the BOT ontology. Regarding geometry handling with semantic Web technologies, extensive work has been done by the W3C and the OGC, so I would be in favor of not re-inventing the wheel, but to make explicit links to them. By the way, there's nothing in the minutes from the last W3C call mentioning the group has agreed on implementing this bot:hasZeroPoint property.

MadsHolten commented 5 years ago

We should absolutely have a look at the alignments, yes.

The bot:hasZeroPoint is aligned with OGC. In the documentation we currently have the following description (written by Maxime): "Links a bot:Site to a wgs84:Point that encodes the latitude and longitude of the Zero Point of the building site." This issue was only raised after we at last W3C call agreed that a rotation was also needed since a coordinate alone is not enough.

bot:hasZeroPoint was all discussed at LDAC. Look in the collaborative notes under "10:00 - 12:00: W3C LBD Git Issue sprint".

stickxxx commented 5 years ago

The rdfs:range defined for bot:hasZeroPoint is a bot:Site, and the prefix wgs84 is never defined in BOT. If you want to define this property according to Maxime's comment, then you should change the range to wgs84:Point, and thus make an ongoing link to an OGC vocabulary (which is a first step into alignment).

GeorgFerdinandSchneider commented 4 years ago

has been outdated. A small comment will be made in the respective property