@@ -264,19 +264,19 @@ def test_1(self):
264
264
root = etree .Element ("root" )
265
265
lod0Conv = LoD0Converter (Converter (), ifc1 , "Test123" , trans1 , True )
266
266
result = lod0Conv .convert (root )
267
- self .assertEqual (5026 , len (etree .tostring (result )))
267
+ self .assertEqual (5110 , len (etree .tostring (result )))
268
268
269
269
def test_2 (self ):
270
270
root = etree .Element ("root" )
271
271
lod0Conv = LoD0Converter (Converter (), ifc2 , "TestABC" , trans2 , False )
272
272
result = lod0Conv .convert (root )
273
- self .assertEqual (2878 , len (etree .tostring (result )))
273
+ self .assertEqual (3196 , len (etree .tostring (result )))
274
274
275
275
def test_3 (self ):
276
276
root = etree .Element ("root" )
277
277
lod0Conv = LoD0Converter (Converter (), ifc3 , "ÄÖÜß" , trans3 , False )
278
278
result = lod0Conv .convert (root )
279
- self .assertEqual (6583 , len (etree .tostring (result )))
279
+ self .assertEqual (8845 , len (etree .tostring (result )))
280
280
281
281
282
282
class TestConvertFootPrint (unittest .TestCase ):
@@ -286,11 +286,11 @@ def test_1(self):
286
286
lod0Conv = LoD0Converter (Converter (), ifc1 , "Test123" , trans1 , True )
287
287
result = lod0Conv .convertFootPrint (ifcBldg1 , root )
288
288
corr = b'<root><ns0:lod0FootPrint xmlns:ns0="http://www.opengis.net/citygml/building/2.0"><ns1:MultiSurface' + \
289
- b' xmlns:ns1="http://www.opengis.net/gml"><ns1:surfaceMember><ns1:Polygon><ns1:outerBoundaryIs >' + \
290
- b'<ns1:LinearRing><ns1:coordinates >458870.063285681, 5438773.62904949, 110 ' + \
291
- b'458862.40284125, 5438780.05692559,110 458870.116292566, 5438789.24945891,110 ' + \
292
- b'458877.776736998, 5438782.82158281,110 458870.063285681, 5438773.62904949, 110</ns1:coordinates> ' + \
293
- b'</ns1:LinearRing></ns1:outerBoundaryIs ></ns1:Polygon></ns1:surfaceMember></ns1:MultiSurface>' + \
289
+ b' xmlns:ns1="http://www.opengis.net/gml"><ns1:surfaceMember><ns1:Polygon><ns1:exterior >' + \
290
+ b'<ns1:LinearRing><ns1:pos >458870.063285681 5438773.62904949 110</ns1:pos><ns1:pos>458862.40284125 ' + \
291
+ b'5438780.05692559 110</ns1:pos><ns1:pos> 458870.116292566 5438789.24945891 110</ns1:pos><ns1:pos> ' + \
292
+ b'458877.776736998 5438782.82158281 110</ns1:pos><ns1:pos> 458870.063285681 5438773.62904949 110' + \
293
+ b'</ns1:pos></ns1: LinearRing></ns1:exterior ></ns1:Polygon></ns1:surfaceMember></ns1:MultiSurface>' + \
294
294
b'</ns0:lod0FootPrint></root>'
295
295
self .assertEqual (corr , etree .tostring (root ))
296
296
corr = "POLYGON ((458870.063285681 5438773.62904949 110,458862.40284125 5438780.05692559 110," + \
@@ -303,14 +303,17 @@ def test_2(self):
303
303
lod0Conv = LoD0Converter (Converter (), ifc2 , "TestABC" , trans2 , False )
304
304
result = lod0Conv .convertFootPrint (ifcBldg2 , root )
305
305
corr = b'<root><ns0:lod0FootPrint xmlns:ns0="http://www.opengis.net/citygml/building/2.0"><ns1:MultiSurface' + \
306
- b' xmlns:ns1="http://www.opengis.net/gml"><ns1:surfaceMember><ns1:Polygon><ns1:outerBoundaryIs>' + \
307
- b'<ns1:LinearRing><ns1:coordinates>479356.600506348,5444183.43024925,-3 479356.600506348,' + \
308
- b'5444185.43024925,-3 479362.600506348,5444185.43024925,-3 479362.600506348,5444183.43024925,-3 ' + \
309
- b'479380.600506348,5444183.43024925,-3 479380.600506348,5444171.43024925,-3 479363.100506348,' + \
310
- b'5444171.43024925,-3 479363.100506348,5444167.43024925,-3 479356.100506348,5444167.43024925,-3 ' + \
311
- b'479356.100506348,5444171.43024925,-3 479338.600506348,5444171.43024925,-3 479338.600506348,' + \
312
- b'5444183.43024925,-3 479356.600506348,5444183.43024925,-3</ns1:coordinates></ns1:LinearRing>' + \
313
- b'</ns1:outerBoundaryIs></ns1:Polygon></ns1:surfaceMember></ns1:MultiSurface></ns0:lod0FootPrint></root>'
306
+ b' xmlns:ns1="http://www.opengis.net/gml"><ns1:surfaceMember><ns1:Polygon><ns1:exterior>' + \
307
+ b'<ns1:LinearRing><ns1:pos>479356.600506348 5444183.43024925 -3</ns1:pos><ns1:pos>479356.600506348 ' + \
308
+ b'5444185.43024925 -3</ns1:pos><ns1:pos>479362.600506348 5444185.43024925 -3</ns1:pos><ns1:pos>' + \
309
+ b'479362.600506348 5444183.43024925 -3</ns1:pos><ns1:pos>479380.600506348 5444183.43024925 -3' + \
310
+ b'</ns1:pos><ns1:pos>479380.600506348 5444171.43024925 -3</ns1:pos><ns1:pos>479363.100506348 ' + \
311
+ b'5444171.43024925 -3</ns1:pos><ns1:pos>479363.100506348 5444167.43024925 -3</ns1:pos><ns1:pos>' + \
312
+ b'479356.100506348 5444167.43024925 -3</ns1:pos><ns1:pos>479356.100506348 5444171.43024925 -3' + \
313
+ b'</ns1:pos><ns1:pos>479338.600506348 5444171.43024925 -3</ns1:pos><ns1:pos>479338.600506348 ' + \
314
+ b'5444183.43024925 -3</ns1:pos><ns1:pos>479356.600506348 5444183.43024925 -3</ns1:pos>' + \
315
+ b'</ns1:LinearRing></ns1:exterior></ns1:Polygon></ns1:surfaceMember></ns1:MultiSurface>' + \
316
+ b'</ns0:lod0FootPrint></root>'
314
317
self .assertEqual (corr , etree .tostring (root ))
315
318
corr = "POLYGON ((479356.600506348 5444183.43024925 -3,479356.600506348 5444185.43024925 -3," + \
316
319
"479362.600506348 5444185.43024925 -3,479362.600506348 5444183.43024925 -3,479380.600506348 " + \
@@ -324,7 +327,7 @@ def test_3(self):
324
327
root = etree .Element ("root" )
325
328
lod0Conv = LoD0Converter (Converter (), ifc3 , "Test123" , trans3 , False )
326
329
result = lod0Conv .convertFootPrint (ifcBldg3 , root )
327
- self .assertEqual (3584 , len (etree .tostring (root )))
330
+ self .assertEqual (5066 , len (etree .tostring (root )))
328
331
self .assertEqual (85 , result .GetGeometryRef (0 ).GetPointCount ())
329
332
330
333
@@ -335,32 +338,35 @@ def test_1(self):
335
338
lod0Conv = LoD0Converter (Converter (), ifc1 , "Test123" , trans1 , True )
336
339
lod0Conv .convertRoofEdge (ifcBldg1 , root )
337
340
corr = b'<root><ns0:lod0RoofEdge xmlns:ns0="http://www.opengis.net/citygml/building/2.0"><ns1:MultiSurface ' + \
338
- b'xmlns:ns1="http://www.opengis.net/gml"><ns1:surfaceMember><ns1:Polygon><ns1:outerBoundaryIs>' + \
339
- b'<ns1:LinearRing><ns1:coordinates>458878.864175246,5438782.56181742,113 458870.50793632,' + \
340
- b'5438772.60323966,113 458861.315403002,5438780.31669098,113 458869.671641928,5438790.27526874,113 ' + \
341
- b'458878.864175246,5438782.56181742,113</ns1:coordinates></ns1:LinearRing></ns1:outerBoundaryIs>' + \
342
- b'</ns1:Polygon></ns1:surfaceMember></ns1:MultiSurface></ns0:lod0RoofEdge></root>'
341
+ b'xmlns:ns1="http://www.opengis.net/gml"><ns1:surfaceMember><ns1:Polygon><ns1:exterior>' + \
342
+ b'<ns1:LinearRing><ns1:pos>458878.864175246 5438782.56181742 113</ns1:pos><ns1:pos>' + \
343
+ b'458870.50793632 5438772.60323966 113</ns1:pos><ns1:pos>458861.315403002 5438780.31669098 113' + \
344
+ b'</ns1:pos><ns1:pos>458869.671641928 5438790.27526874 113</ns1:pos><ns1:pos>458878.864175246 ' + \
345
+ b'5438782.56181742 113</ns1:pos></ns1:LinearRing></ns1:exterior></ns1:Polygon></ns1:surfaceMember>' + \
346
+ b'</ns1:MultiSurface></ns0:lod0RoofEdge></root>'
343
347
self .assertEqual (corr , etree .tostring (root ))
344
348
345
349
def test_2 (self ):
346
350
root = etree .Element ("root" )
347
351
lod0Conv = LoD0Converter (Converter (), ifc2 , "Test123" , trans2 , True )
348
352
lod0Conv .convertRoofEdge (ifcBldg2 , root )
349
353
corr = b'<root><ns0:lod0RoofEdge xmlns:ns0="http://www.opengis.net/citygml/building/2.0"><ns1:MultiSurface ' + \
350
- b'xmlns:ns1="http://www.opengis.net/gml"><ns1:surfaceMember><ns1:Polygon><ns1:outerBoundaryIs>' + \
351
- b'<ns1:LinearRing><ns1:coordinates>479337.600506348,5444176.43024925,9 479337.600506348,' + \
352
- b'5444184.43024925,9 479355.600506348,5444184.43024925,9 479355.600506348,5444186.43024925,9 ' + \
353
- b'479363.600506348,5444186.43024925,9 479363.600506348,5444184.43024925,9 479381.600506348,' + \
354
- b'5444184.43024925,9 479381.600506348,5444170.43024925,9 479337.600506348,5444170.43024925,9 ' + \
355
- b'479337.600506348,5444176.43024925,9</ns1:coordinates></ns1:LinearRing></ns1:outerBoundaryIs>' + \
356
- b'</ns1:Polygon></ns1:surfaceMember></ns1:MultiSurface></ns0:lod0RoofEdge></root>'
354
+ b'xmlns:ns1="http://www.opengis.net/gml"><ns1:surfaceMember><ns1:Polygon><ns1:exterior>' + \
355
+ b'<ns1:LinearRing><ns1:pos>479337.600506348 5444176.43024925 9</ns1:pos><ns1:pos>479337.600506348 ' + \
356
+ b'5444184.43024925 9</ns1:pos><ns1:pos>479355.600506348 5444184.43024925 9</ns1:pos><ns1:pos>' + \
357
+ b'479355.600506348 5444186.43024925 9</ns1:pos><ns1:pos>479363.600506348 5444186.43024925 9' + \
358
+ b'</ns1:pos><ns1:pos>479363.600506348 5444184.43024925 9</ns1:pos><ns1:pos>479381.600506348 ' + \
359
+ b'5444184.43024925 9</ns1:pos><ns1:pos>479381.600506348 5444170.43024925 9</ns1:pos><ns1:pos>' + \
360
+ b'479337.600506348 5444170.43024925 9</ns1:pos><ns1:pos>479337.600506348 5444176.43024925 9' + \
361
+ b'</ns1:pos></ns1:LinearRing></ns1:exterior></ns1:Polygon></ns1:surfaceMember></ns1:MultiSurface>' + \
362
+ b'</ns0:lod0RoofEdge></root>'
357
363
self .assertEqual (corr , etree .tostring (root ))
358
364
359
365
def test_3 (self ):
360
366
root = etree .Element ("root" )
361
367
lod0Conv = LoD0Converter (Converter (), ifc3 , "Test123" , trans3 , True )
362
368
lod0Conv .convertRoofEdge (ifcBldg3 , root )
363
- self .assertEqual (2091 , len (etree .tostring (root )))
369
+ self .assertEqual (2871 , len (etree .tostring (root )))
364
370
365
371
366
372
if __name__ == '__main__' :
0 commit comments