diff --git a/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3-in-RDF-IFCViewer.png b/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3-in-RDF-IFCViewer.png new file mode 100644 index 00000000..0d186069 Binary files /dev/null and b/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3-in-RDF-IFCViewer.png differ diff --git a/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3.ifc b/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3.ifc new file mode 100644 index 00000000..674976ae --- /dev/null +++ b/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3.ifc @@ -0,0 +1,69 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION (('ViewDefinition[Ifc4x3NotAssigned]'), '2;1'); +FILE_NAME ('Georeferencing-Survey-12d-3.ifc', '2021-04-26T23:34:33', ('ljg'), ('12d Internet NW - Ranch'), 'IFC Engine rev 1257', '12d Model 15.0', ''); +FILE_SCHEMA (('IFC4X3_RC3')); +ENDSEC; +DATA; +#1 = IFCPROJECT('2LJesmETv6W9jWXnI$q1Aj', #2, 'Georeferencing-Survey-12d-3', '', $, $, $, (#12), #7); +#2 = IFCOWNERHISTORY(#3, #6, $, .NOCHANGE., $, $, $, 1619444073); +#3 = IFCPERSONANDORGANIZATION(#4, #5, $); +#4 = IFCPERSON($, $, 'ljg', $, $, $, $, $); +#5 = IFCORGANIZATION($, '12d Internet NW - Ranch', '12d Internet NW - Ranch', $, $); +#6 = IFCAPPLICATION(#5, '15.0', '12d Model', '12d Model'); +#7 = IFCUNITASSIGNMENT((#8, #9, #10, #11)); +#8 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.); +#9 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); +#10 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); +#11 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); +#12 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.E-6, #14, #18); +#13 = IFCLOCALPLACEMENT($, #14); +#14 = IFCAXIS2PLACEMENT3D(#15, #16, #17); +#15 = IFCCARTESIANPOINT((0., 0., 0.)); +#16 = IFCDIRECTION((0., 0., 1.)); +#17 = IFCDIRECTION((1., 0., 0.)); +#18 = IFCDIRECTION((0., 1.)); +#19 = IFCPROJECTEDCRS('EPSG:7856', 'MGA2020 Zone 56 and AHD', 'EPSG:7844', 'EPSG:5711', 'UTM', '56', $); +#20 = IFCMAPCONVERSION(#12, #19, 0., 0., 0., 1., 0., 1., 1., 1.); +#21 = IFCSITE('0cEC8I7n115wd$bDGXiGnK', #2, 'Default Site', 'Description of Default Site', $, #13, $, $, .ELEMENT., $, $, $, $, $); +#22 = IFCRELAGGREGATES('3K7e7XBtz3JOOXMsZJrMxB', #2, 'ProjectContainer', 'ProjectContainer for Sites', #1, (#21)); +#23 = IFCFACILITY('0nEAPsbGvABv_85cELtcxf', #2, 'All on string', 'Description of All on string', $, #13, $, $, .ELEMENT.); +#24 = IFCRELAGGREGATES('1qGCqhwJX1cAZqB4Oue1$1', #2, 'SiteContainer', 'SiteContainer For All Models', #21, (#23)); +#25 = IFCRELCONTAINEDINSPATIALSTRUCTURE('1fg8xKaRjEDgLMqALe$c84', #2, 'FacilityContainer', 'FacilityContainer for Elements', (#26), #23); +#26 = IFCANNOTATION('1GFw8fpSrCkwvlQELfbWOr', #2, 'SW', $, 'Super', #13, #27, .NOTDEFINED.); +#27 = IFCPRODUCTDEFINITIONSHAPE($, $, (#28)); +#28 = IFCSHAPEREPRESENTATION(#12, 'Body', 'GeometricCurveSet', (#29)); +#29 = IFCPOLYLINE((#30, #31, #32, #33, #34)); +#30 = IFCCARTESIANPOINT((256566.71394629, 7411793.56535756, 38.47979312)); +#31 = IFCCARTESIANPOINT((256594.45838039, 7411770.44499658, 39.)); +#32 = IFCCARTESIANPOINT((256616.91816057, 7411739.72794533, 39.5)); +#33 = IFCCARTESIANPOINT((256634.42357754, 7411711.65322103, 40.)); +#34 = IFCCARTESIANPOINT((256656.55306694, 7411674.6606431, 40.5)); +#35 = IFCPROPERTYSET('3OnwxMQsjDExWfqhKkm8ZH', #2, 'SW', $, (#36, #37, #38)); +#36 = IFCPROPERTYSINGLEVALUE('STRMATERIAL', $, IFCLABEL('RCP'), $); +#37 = IFCPROPERTYSINGLEVALUE('STRSHAPE', $, IFCLABEL('diameter'), $); +#38 = IFCPROPERTYSINGLEVALUE('STRDIAMETER', $, IFCREAL(2.4), $); +#39 = IFCRELDEFINESBYPROPERTIES('34othb4PL1Kg$ksXkccSqd', #2, '12d Model Property Sets', 'Custom String Attributes', (#26), #35); +#40 = IFCPROPERTYSET('2VDPGzO_HDiwXPrNzpMDVT', #2, 'Vertex', $, (#41, #47)); +#41 = IFCCOMPLEXPROPERTY('SW', '12d_attribute_group', '12d_attribute_group', (#42, #43, #44, #45, #46)); +#42 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL1', $, IFCLABEL('QL_1'), $); +#43 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL2', $, IFCLABEL('QL_2'), $); +#44 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL3', $, IFCLABEL('QL_3'), $); +#45 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL4', $, IFCLABEL('QL_4'), $); +#46 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL5', $, IFCLABEL('QL_5'), $); +#47 = IFCCOMPLEXPROPERTY('PT_ID', '12d_attribute_group', '12d_attribute_group', (#48, #49, #50, #51, #52)); +#48 = IFCPROPERTYSINGLEVALUE('Point_Id1', $, IFCLABEL('42'), $); +#49 = IFCPROPERTYSINGLEVALUE('Point_Id2', $, IFCLABEL('43'), $); +#50 = IFCPROPERTYSINGLEVALUE('Point_Id3', $, IFCLABEL('44'), $); +#51 = IFCPROPERTYSINGLEVALUE('Point_Id4', $, IFCLABEL('45'), $); +#52 = IFCPROPERTYSINGLEVALUE('Point_Id5', $, IFCLABEL('46'), $); +#53 = IFCRELDEFINESBYPROPERTIES('0COXzjPinAqQnQlbpjPJdf', #2, '12d Model Property Sets', 'Custom String Attributes', (#26), #40); +#54 = IFCPROPERTYSET('0RQ1CujmbD9uARTUDpgX5G', #2, 'Segment', $, (#55)); +#55 = IFCCOMPLEXPROPERTY('SW', '12d_attribute_group', '12d_attribute_group', (#56, #57, #58, #59)); +#56 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL1', $, IFCLABEL('QL_A'), $); +#57 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL2', $, IFCLABEL('QL_B'), $); +#58 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL3', $, IFCLABEL('QL_C'), $); +#59 = IFCPROPERTYSINGLEVALUE('QUALITY LEVEL4', $, IFCLABEL('QL_D'), $); +#60 = IFCRELDEFINESBYPROPERTIES('01Zpn5brr9SRxdtQKLICQQ', #2, '12d Model Property Sets', 'Custom String Attributes', (#26), #54); +ENDSEC; +END-ISO-10303-21; diff --git a/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3.png b/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3.png new file mode 100644 index 00000000..411fc2d4 Binary files /dev/null and b/Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3.png differ diff --git a/Georeferencing-Survey-12d-3/readme.md b/Georeferencing-Survey-12d-3/readme.md new file mode 100644 index 00000000..87e76271 --- /dev/null +++ b/Georeferencing-Survey-12d-3/readme.md @@ -0,0 +1,64 @@ + +### Intent + +Survey data is collected from the very beginning of a project and the position and elevation of any other data in the project must be tied back to accurate survey. +Survey data starts with points and strings which are an ordered set of points (vertices) vertices connected by segments. +So a survey point is just a survey string with only one vertex. + +As well as collecting the (x,y) and sometimes a z for each vertex, surveyors also collect properties for the entire string, properties for each vertex of the string and properties for each segment of the string. +For example when picking up the top of a buried pipe, the Quality level can vary for each vertex and for each segment of the pipe. + +However I have no idea how these prperties can be represented in IFC. +So as a start I have mapped the Property set for the vertices and segments to Property Sets for IfcAnnotation with: + +- Property sets with properties for the entire string +- Property set Vertex with the properties for each vertex with the property name for a vertex appended by the number for the vertex (starting at 1) +- Property set Segment with the properties for each segment with the property name for a segment appended by the number for the segment (starting at 1) + +This encoding is to allow the process to be reversed when read into another software package. + +So this scenario covers one simple survey string with property sets for the entire string, property sets for vertex properties and property sets for segment properties + +I am definitely happy to hear any suggestions on how slese this could be done. + +This IFC file has a survey consisting of: + +- one survey string with name "RD ET" +- Property Set "SW" with properties STRMATERIAL, STRSHAPE and STRDIAMETER +- Property Set "Vertex" containing Property sets "SW" and "PT ID" +- Property Set "Segment" containing Property sets "SW" + +The coordinates are in Easting, Northing and AHD for the map projection MGA2020 Zone 56. +The Horizontal and Vertical datums, and Map Projection, are specified in IfcProjectedCRS. +IfcMapConversion is a "No Operation" as the data in the file is already in map coordinates and needs no further transformation. + +![georefsurvey12d3](../Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3.png "Simple Survey String with Property Sets") +![georefsurvey12d3RDF](../Georeferencing-Survey-12d-3/Georeferencing-Survey-12d-3-in-RDF-ifcviewer.png "Simple Survey with Property Set in RDF ifcviewer") + +The IFC file was written by 12d Model. + +### Prerequisites + +This scenario builds upon following other scenarios: + +- Georeferencing-Survey-12d-2 + +### Content + +This scenario covers the following new concepts and/or IFC entities: + +- `IfcComplexProperty` +- `IfcPropertySingleValue` with `IfcPropertySingleValue.Nominalvalue` IFCLABEL +- `IfcPropertySingleValue` with `IfcPropertySingleValue.Nominalvalue` IFCREAL + + +### Supporting files + +Following files correspond to this scenario: + +| Filename | Description | +|------------------------------------|------------------------------------| +| `Georeferencing-Survey-12d-3.ifc` | the exported content as IFC document | +| `Georeferencing-Survey-12d-3.png` | screen shot from 12d Model | +| `Georeferencing-Survey-12d-3-RDF-ifcviewer.png` | screen shot from RDF ifcviewer | +