EDMmodelServerManager Kartintegrasjon
|
EDMmodelServerManager™ |
Opphavsrett
Denne programvaren inneholder opphavsrettsbeskyttet materiale, forretningshemmeligheter samt annet beskyttet materiale. Du skal ikke, og skal ikke forsøke å, modifisere, reversere, dekompilere Programvaren. Du kan heller ikke lage avledede verk eller andre arbeider som er basert på eller avledet fra Programvaren, helt eller delvis.
Jotne EPM Technology AS navn, logo og grafikkfil som representerer Programvaren skal ikke brukes på noen måte å markedsføre produkter utviklet med programvaren uten Jotne EPM Technologys godkjennelse. Jotne EPM Technology AS beholder den eneste og eksklusive eierskap til alle rettigheter, tittel og interesser i og for Programvaren og alle immaterielle rettigheter knyttet til dette.
Copyright lov og internasjonale opphavsrettstraktatbestemmelser beskytter alle deler av programvaren, produkter og tjenester. Ingen program, kode, del, bilde, eller tekst kan kopieres eller brukes på noen måte av brukeren unntatt som forutsatt innenfor rammene av programvarens naturlige bruk. Alle rettigheter som ikke uttrykkelig er gitt, er forbeholdt for Jotne EPM Technology AS.
Ansvarsfraskrivelse
Denne programvaren og tilhørende dokumentasjon leveres som den er og det gis ingen garantier for dens egnethet for et spesielt formål. Ikke under noen omstendigheter skal Jotne stilles ansvarlig for direkte eller indirekte tap eller skader, (inkludert men ikke begrenset til tap av data, tap av fortjeneste eller produksjonsstans), uansett årsak og ansvarsteori, verken som følge av bruken av denne programvaren eller av de data den produserer.
Contents
1 References
1.1 Abrevations
1.2 External References
1.3 EDMmodelServer references
2 Map integration and georefrencing
2.1 Global geographical coordinates
2.1.1 The NTM coordinate system
2.1.2 Converting between latitude / longitude and NTM
2.2 IFC Coordinates
2.2.1 IFC Coordinate Systems
2.2.2 IFC Exchange Requirements
2.2.3 Specifying the chosen NTM origin
2.3 Local frames of reference
3 Georeferering – metoder
3.1 Applying georeferencing
3.2 Bygninger med målepunkt
4 Additional information
4.1 Property set for georeferencing
4.2 Archicad issues
4.2.1 Coordinate systems for "IfcSite" and "IfcBuilding" objects
References
Geo-referencing is here defined to be placing the IFC elements in a chosen known global coordinate system.
Abrevations
External References
BuildingSmart, «IDM Georeferencing,» 2010.
EDMmodelServer references
Map integration and georefrencing
Global geographical coordinates
The NTM coordinate system
For Norway, the NTM system is used. To specify an NTM "origin", we have to supply the NTM Zone, if the zone is known the origin is defined as follows:
NTM Zone |
X coordinate |
Y coordinate |
Z coordinate |
Direction |
5 |
5º30' E is 100 000 |
58º N is 1 000 000 |
Height above sea level |
Y true north |
6 |
6º30' E is 100 000 |
58º N is 1 000 000 |
Height above sea level |
Y true north |
7 |
6º30' E is 100 000 |
58º N is 1 000 000 |
Height above sea level |
Y true north |
…. |
|
|
|
|
For Norway, zones range from 5 to 30. Measurement unit in the above table is meter.
Positions within the zone are defined as:
X: Eastings |
NTM east coordinate for site, always positive within the zone |
Meters (real) |
Y: Northings |
NTM north coordinate for site, relative to 58º N |
Meters (real) |
Converting between latitude / longitude and NTM
The conversion between NTM and LAT/LONG is complicated due to the fact that the meters per degree ratio vary according to the geographical location. There are multiple calculators available on the internet for doing this – example:
Calculated on http://msi.nga.mil/MSISiteContent/StaticFiles/Calculators/degree.html
Norwegian coordinates: http://kart.statkart.no/adaptive2/default.aspx?gui=1&lang=2
Latitude |
Meters/degree LAT |
Meters/degree LONG |
Comment |
0 |
110574 |
111319 |
Ekvator |
58 |
111378 |
59133 |
(Lindesnes, Norges sørligste punkt) |
63.5 |
111470 |
49804 |
(Trondheim) |
71 |
111586 |
34504 |
(Nordkapp. Norges nordligste punkt) |
A Javascript calculator for computing meters/degree out of longitude and latitude can be found at
http://www.csgnetwork.com/degreelenll avcalc.html . By using "View Source"you can retrieve the
Javascript source. The algorithm used are :
// Set up "Constants"
m1 = 111132.92; // latitude calculation term 1
m2 = -559.82; // latitude calculation term 2
m3 = 1.175; // latitude calculation term 3
m4 = -0.0023; // latitude calculation term 4
p1 = 111412.84; // longitude calculation term 1
p2 = -93.5; // longitude calculation term 2
p3 = 0.118; // longitude calculation term 3
// Calculate the length of a degree of latitude and longitude in meters
Function PP_LATLEN(lat)
latlen = m1 + (m2 * Math.cos(2 * lat)) + (m3 * Math.cos(4 * lat)) +
(m4 * Math.cos(6 * lat));
Function PP_LONGLEN(lat)
longlen = (p1 * Math.cos(lat)) + (p2 * Math.cos(3 * lat)) +
(p3 * Math.cos(5 * lat));
A relatively good approximation for latitude ang longitude out of NTM coordinates can be done as follows; "False Northings" is the X offset value within each NTM zone:
- Correct "Northings" with the "False Northings" value
- Northings1 = Northings – 1 000 000
- Eastings1 = Eastings - 100000
- Mapzone1 = LONG(Mapzone) + 0.5
- Find an approximate latitude out of "Northings" using 58 N as initial latitude
- LAT1 = 58 + (1/latlen1)*Northings1, latlen1=111378
- LAT1Rad = LAT1 * (2*Math.PI)/360)----degrees to Radius
- Using the approximate latitude, recalculate latitude again yielding actual latitude
- Latlen2 = PP_LATLEN(LAT1Rad), see above
- LAT2 = 58 + (1/latlen2) * Northings1
- Repeat step 3 for more adjustment if needed
- Using the actual latitude, calculate longitude out of "Eastings"
- LAT2Rad = LAT2 * (2*Math.PI)/360)----degrees to Radius
- Longlen2 = PP_LONGLEN(LAT2Rad), see above
- LONG2 = Mapzone1 + (1/longlen2) * Eastings1
Use the Following Service to Get Lat & Long from Easting, northings & Mapzone
http://epsg.io/trans?x=94850.220000&y=1604694.800000&s_srs=5110
x = Eastings; y = Northings; srs = '51'+MapZone
Use the Following Service to Get Easting & Northings from Lat &Long
http://epsg.io/trans?data=10.922630310058596,63.45824944729649&t_srs=5110
data = Longitude, Latitude
To Check Manually Eastings and Northings to Lat & Long vice versa
http://epsg.io/5110/map#
IFC Coordinates
IFC Coordinate Systems
The IFC model operates with an implied origin, Ifc NULL. While it is possible to specify location relative to IFC NULL for any IFC object, many IFC objects are located relative to another IFC object, yielding local coordinate systems.
The most relevant systems in our case is the IfcSite coordinate system and the IfcBuilding coordinate system. They are illustrated in the figure below:
Figur 1 - IFC coordinate systems for site and building
Here the coordinate system X1Y1 for the IfcSite has a displacement R1 from Ifc NULL coordinate system X0Y0, and no rotation. The coordinate system for the IfcBuilding X2Y2 has a displacement R2 from the IfcSite system and a rotation as well. This also applies to the Z coordinate not shown in the figure.
When geo-referencing an Ifc model we specify the geo-position of the Ifc NULL in NTM coordinates.
IFC Exchange Requirements
If a model is to be displayed correctly in its surroundings, the internal coordinates has to satisfy certain requirements. The proposed exchange requirements are:
ER id (temp) |
Requirement |
Comment/Motivation |
GR-1 |
All elements belonging to a building like walls, windows, roof slabs etc have to be positioned relative to the corresponding IfcBuilding object. |
Makes it possible to rotate and translate the building within the site. |
GR-2 |
All elements belonging to a site like trees, fences, landscape etc have to be positioned relative to the IfcSite object. |
Makes it possible to translate and rotate the site (terrain) within the universe. |
GR-3 |
The IfcSite object should be positioned relative to the chosen NTMAs an alternative, another global or regional origin may be used, if NTM is not applicable or feasible. origin. If the NTM origin is not known or relevant at the time, the site position should be set to origin (0,0,0). |
Implies that the IFC file provider cannot freely chose the site coordinate origin. |
GR-4 |
The direction of the global Y axis in the Ifc model should be true north. |
Not sure if holds / is necessary |
IMPORTANT: "Positioned" is by definition specified by a location and a rotation.
NOTE: there exist limitations in software tools for applying these ER's. In some cases it is only possible to apply a single transformation between building and Ifc NULL, in case either R1 or R2 in figure Figur 1 - IFC coordinate systems for site and building will become zero.
Specifying the chosen NTM origin
According to [1]there is no standard way to specify the chosen origin in IFC2x3.
To be able to handle import/export transparently we cannot accept a global transformation of coordinates in the IFC model as a general solution. The transformation used has to be known by the model server to be able to back-transform for transparent re-export of imported IFC files.
For IFC2x3 the EDMmodelServer will handle a "spam" property set "EDMmodelServer_georef" that mimics the "IfcMapConversion" in IFC4. The property set is described in [1] and in section 4.1 Property set for georeferencing.
The population of this property set can be done by the application providing the IFC file or within the EDMmodelServer itself.
Local frames of reference
A local frame of reference means that there is a coordinate system defined spanning multiple buildings / Ifc files. This is a very common way of laying out a building site. This implies that the "NTM Origin" is known and given from the start, and that there exists local axis and reference points that should be known, also within the Ifc Files.
For StOlav this has been (partly) applied to some of the buildings at Øya in Trondheim, where the top of the church tower at Nidarosdomen is chosen as origin.
An illustration is given in the figure below:
Figur 2 - local frames of reference
Georeferering – metoder
Applying georeferencing
So far geo-referencing has been done in the CAD application supplying the IFC file, hence, no EDMmodelServer manipulation functions have been necessary
The following functions are available in the model server to handle geo-referencing tasks on selected model:
Function |
Actions done |
Geo-reference |
|
Geo-dereference |
|
Geo-rereference |
|
Read AC map reference |
|
Bygninger med målepunkt
I noen tilfeller har vi målepunkt (fastpunkt) for et bygg, det vil si vi vet geografiske koordinater for et eller flere punkt. Vi kan regne ut forholdet mellom IFC-koordinater og geografiske koordinater for bygget dersom vi har minst to fastpunkt som vi kjenner både geo-posisjon og IFC-posisjon til.
I slike tilfeller bør (må) fastpunktene legges inn i BIM'en, foreslått som følger:
- Legg inn fastpunktene som objekter, for eksempel IfcBuildingElementProxy i modellen på riktig sted. Da vet vi IFC-koordinatene.
- Legg inn georef-egenskapssettet beskrevet i avsnitt 4.1Property set for georeferencing med navn " EDMmodelServer_georef" for alle fastpunkt. Da vet vi geo-koordinatene.
Vi kan beregne posisjon og rotasjon for bygget i forhold til et 0-punkt (Ifc NULL) som vi kjenner geo-posisjonen til. Dersom vi ikke har noe slikt 0-punkt, velger vi et i modellen, for eksempel at av fastpunktene. Beregning kan gjøres manuelt, det vil si ved hjelp av regneark og andre hjelpemidler, men bør ideelt gjøres i modellserver.
Additional information
Property set for georeferencing
The property set given is a subset of the property set described in [1] . The NAME of the property set is not entirely fixed, since the usage for IFC2x3 as described in this document is not defined in any standard.
Property name |
IFC4 / [1] |
Range/Unit |
|||
Name |
NTM Zone Name |
"EUREF89-NTM-<NTMSone>" |
|||
MapZone |
Zone within map projection (IfcProjectedCRS.MapZone) |
Legal NTM Zone Range is 5..30 |
|||
Eastings |
NTM east coordinate for site |
Meters (real) |
|||
Northings |
NTM north coordinate for site |
Meters (real) |
|||
OrthogonalHeight |
Orthogonal height relativ to the vertical datum (IfcMapConversion.OrthogonalHeight) |
NN1954 value in meter(real) |
|||
XaxisAbscissa |
X component of site X direction vector (see IFC spec) (IfcMapConversion.XAxisAbscissa) |
(real) |
|||
XAxisOrdinate |
Y component of site X directionvector (see IFC spec) (IfcMapConversion.XAxisOrdinate) |
(real) |
|||
Scale |
Scale to be used when site length unit are different from map length unit |
Always 1.0 according to IDM 2010 |
|||
|
|
|
|
|
|
---|---|---|---|---|---|
|
|
|
|
|
|
|
|
||||
IsApplied |
True if transformation applied to IfcSite, false else |
Boolean |
It is possible to use the IfcSite attributes as below, however these are not foreseen implemented, as they become superfluous in IFC4:
- RefLongitude, RefLatitude and RefElevation specified in the IfcSite object. This defines LOCATION. The model server will use internal tables to find default NTM Zone and offset values within the zone.
- TrueNorth from the IfcSite object. This defines the ROTATION of the georef. The rotation must be given manually, if not, a Y direction pointing true north is assumed.
Archicad issues
Coordinate systems for "IfcSite" and "IfcBuilding" objects
By observation, an IFC file originating from Archicad seems to relate building objects (IfcBuildingStorey, really) to the "IFC origin", which is the one that is geo-referenced. The IfcSite and IfcBuilding objects seem to always have a relative location {0,0,0} and rotation {0} relative to the "IFC origin".
Consequently, it is not possible to define a "local frame of reference" that spans multiple models (Ifc files), as outlined in previous sections. The "local frame of reference" origin is the one that should be geo-referenced, and then all positions can/shall be given relative to the reference point.