createODM4Rasterize.py
1 ## @package python.demo.createODM4Rasterize
2 #
3 # Creates an odm that contains two points, a polygon and a polygon as demo for opalsRasterize
4 #
5 
6 from opals import pyDM
7 
8 
9 def addAttrVal(obj, value):
10  obj.setAddInfoView(layout, False)
11  obj.info().set(0, value)
12 
13 
14 odm = pyDM.Datamanager.create("demoRasterize.odm", False)
15 
16 # create layout with '_MyId' attribute
17 lf = pyDM.AddInfoLayoutFactory()
18 lf.addColumn(pyDM.ColumnType.int32, "_MyId")
19 layout = lf.getLayout()
20 
21 # add two points to odm
22 pt1 = pyDM.Point(15.00, 85.00, 30.00)
23 pt2 = pyDM.Point(90.00, 10.00, 55.00)
24 addAttrVal(pt1, 1) # set _MyId value
25 addAttrVal(pt2, 2)
26 odm.addPoint(pt1)
27 odm.addPoint(pt2)
28 
29 # add polyline to odm
30 lf = pyDM.PolylineFactory()
31 lf.addPoint(5.00, 5.00, 10.00)
32 lf.addPoint(20.00, 60.00, 25.00)
33 lf.addPoint(95.00, 92.00, 88.00)
34 line = lf.getPolyline()
35 addAttrVal(line, 3) # set _MyId value
36 odm.addPolyline(line)
37 
38 # add polygon to odm
39 pf = pyDM.PolygonFactory()
40 pf.addPoint(35.00, 35.00, 40.00)
41 pf.addPoint(45.00, 50.00, 60.00)
42 pf.addPoint(55.00, 40.00, 75.00)
43 pf.closePart()
44 polygon = pf.getPolygon()
45 addAttrVal(polygon, 4) # set _MyId value
46 odm.addPolygon(polygon)
47 
48 #save odm
49 odm.save()