13 def point_conversion():
14 print(
"-- point conversion test ---------------------------------")
16 ogrPt = ogr.Geometry(ogr.wkbPoint)
17 ogrPt.AddPoint(*[23.12, -5.21, 2.02])
20 dmPt = pyDM.OGRConverter.convert(ogrPt)
21 print(f
"{type(dmPt)} ({dmPt.x} {dmPt.y} {dmPt.z})")
23 ogrPtConv = pyDM.OGRConverter.convert(dmPt)
27 def polyine_conversion():
29 def ouput(titel, line):
30 print(f
"{titel} {type(line)} has {line.sizePoint()} point(s) in {line.sizePart()} part(s).")
32 print(
"-- polyine conversion test -------------------------------")
38 ogrLine = ogr.CreateGeometryFromWkt(
"LINESTRING (0 0, 5 5, 20 -3)")
39 ogrMultiLine = ogr.CreateGeometryFromWkt(
"MULTILINESTRING ((0 0, 5 5, 20 -3), (0 -3, -5 -3))")
46 dmLine = pyDM.OGRConverter.convert(ogrLine)
47 dmMultiLine = pyDM.OGRConverter.convert(ogrMultiLine)
49 ouput(
"dmLine: ", dmLine)
50 ouput(
"dmMultiLine: ", dmMultiLine)
52 ogrLineConv = pyDM.OGRConverter.convert(dmLine)
53 ogrMultiLineConv = pyDM.OGRConverter.convert(dmMultiLine)
57 print(ogrMultiLineConv)
59 def polygon_conversion():
61 def output(titel, poly):
62 print(f
"{titel} {type(poly)} has {poly.sizePoint()} point(s) in {poly.sizeFace()} faces(s).")
64 print(
"-- polygon conversion test -------------------------------")
70 ogrPolySimple = ogr.CreateGeometryFromWkt(
"POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))")
71 ogrPolyWithHoles = ogr.CreateGeometryFromWkt(
"POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 4 2, 4 4, 2 4, 2 2),"\
72 "(5 5, 8 5, 8 8, 5 8, 5 5))")
73 ogrPolyNested = ogr.CreateGeometryFromWkt(
"MULTIPOLYGON (((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 4 2, 4 4, 2 4, 2 2),"\
74 "(5 5, 8 5, 8 8, 5 8, 5 5)), ((6 6, 7 6, 7 7, 6 7, 6 6)))")
75 ogrPolyComplex = ogr.CreateGeometryFromWkt(
"MULTIPOLYGON (((0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 8 5, 8 8, 5 8, 5 5)),"\
76 "((6 6, 7 6, 7 7, 6 7, 6 6)), ((-3 -5, -1 -5, -1 5, -3 5, -3 -5)))")
80 print(ogrPolyWithHoles)
85 dmPolySimple = pyDM.OGRConverter.convert(ogrPolySimple)
86 dmPolyWithHoles = pyDM.OGRConverter.convert(ogrPolyWithHoles)
87 dmPolyNested = pyDM.OGRConverter.convert(ogrPolyNested)
88 dmPolyComplex = pyDM.OGRConverter.convert(ogrPolyComplex)
90 output(
"dmPolySimple: ", dmPolySimple)
91 output(
"dmPolyWithHoles: ", dmPolyWithHoles)
92 output(
"dmPolyNested: ", dmPolyNested)
93 output(
"dmPolyComplex: ", dmPolyComplex)
96 ogrPolySimpleConv = pyDM.OGRConverter.convert(dmPolySimple)
97 ogrPolyWithHolesConv = pyDM.OGRConverter.convert(dmPolyWithHoles)
98 ogrPolyNestedConv = pyDM.OGRConverter.convert(dmPolyNested)
99 ogrPolyComplexConv = pyDM.OGRConverter.convert(dmPolyComplex)
102 print(ogrPolySimpleConv)
103 print(ogrPolyWithHolesConv)
104 print(ogrPolyNestedConv)
105 print(ogrPolyComplexConv)