fix(ground): 측량 레이어로 운곡교 지형 추출 대상 제한
This commit is contained in:
1 parent
38854cbe4c
commit
4ef8412d89
5 files changed
+254
No files matched your search
@@ -44,4 +44,27 @@ class SurveyPolylineTests(unittest.TestCase):
|
||||
points,counts,_=read_survey_block(Path('unused.dxf'),self.options(),doc=doc)
|
||||
self.assertNotIn('rejected_height_outliers',counts);self.assertEqual(points[:,2].max(),84)
|
||||
|
||||
def test_known_plan_layers_exclude_near_height_bore_and_base(self):
|
||||
doc=ezdxf.new();msp=doc.modelspace()
|
||||
for y,z in [(0,30),(100,32)]:
|
||||
msp.add_lwpolyline([(0,y),(100,y)],dxfattribs={'layer':'CAA001','elevation':z})
|
||||
doc.blocks.new('SPOT').add_circle((0,0),.1)
|
||||
msp.add_blockref('SPOT',(20,50,31),dxfattribs={'layer':'CA002'})
|
||||
msp.add_text('30.5',dxfattribs={'layer':'CA0021','insert':(80,50)})
|
||||
for layer in ['CV-BORE-SYMB','CZ-BASE','CF-BRDG-NEWC']:
|
||||
msp.add_lwpolyline([(45,45),(55,45),(55,55)],dxfattribs={'layer':layer,'elevation':27.5})
|
||||
points,counts,_=read_survey_block(Path('unused.dxf'),self.options(),doc=doc)
|
||||
self.assertGreaterEqual(points[:,2].min(),30)
|
||||
self.assertEqual(counts['semantic_layer_filter'],1)
|
||||
self.assertEqual(counts['survey_points'],1)
|
||||
self.assertEqual(counts['spot_text_points'],1)
|
||||
self.assertTrue(any(np.array_equal(p,[50,20,31]) for p in points))
|
||||
self.assertTrue(any(np.array_equal(p,[50,80,30.5]) for p in points))
|
||||
|
||||
def test_known_layers_do_not_fall_back_to_symbols_when_empty(self):
|
||||
doc=ezdxf.new();msp=doc.modelspace()
|
||||
msp.add_lwpolyline([(0,0),(10,0)],dxfattribs={'layer':'CAA001','elevation':0})
|
||||
msp.add_lwpolyline([(0,0),(10,0),(10,10)],dxfattribs={'layer':'CV-BORE-SYMB','elevation':28})
|
||||
with self.assertRaises(ValueError):read_survey_block(Path('unused.dxf'),self.options(),doc=doc)
|
||||
|
||||
if __name__=='__main__':unittest.main()
|
||||
Reference in new issue
Block a user