@@ -7,86 +7,103 @@ import CairoMakie as Mke # hide
77
88``` @docs
99simplify
10- decimate
1110SimplificationMethod
1211```
1312
14- ## Douglas-Peucker
13+ ## SelingerSimplification
1514
1615``` @docs
17- DouglasPeucker
16+ SelingerSimplification
1817```
1918
2019``` @example simplification
21- # polygonal area
22- polyarea = PolyArea([(0.22926679, 0.47329807), (0.23094065, 0.44913536), (0.2569517, 0.38217533),
23- (0.3072999, 0.272418), (0.34814754, 0.18421611), (0.37949452, 0.11756973),
24- (0.4013409, 0.07247882), (0.41368666, 0.048943404), (0.42597583, 0.031655528),
25- (0.4382084, 0.0206152), (0.45038435, 0.015822414), (0.4625037, 0.017277176),
26- (0.47175184, 0.02439156), (0.47812873, 0.03716557), (0.4816344, 0.055599205),
27- (0.48226887, 0.07969247), (0.48172843, 0.10446181), (0.4800131, 0.12990724),
28- (0.47712287, 0.15602873), (0.47305775, 0.18282633), (0.47093934, 0.20558843),
29- (0.47076762, 0.22431506), (0.47254258, 0.23900622), (0.47626427, 0.24966191),
30- (0.47768936, 0.25845313), (0.47681788, 0.26537988), (0.4736498, 0.27044216),
31- (0.46818516, 0.27363995), (0.4613889, 0.27232954), (0.45326096, 0.2665109),
32- (0.44380143, 0.256184), (0.43301025, 0.24134888), (0.4246466, 0.22978415),
33- (0.41871038, 0.22148979), (0.4152017, 0.21646582), (0.4141205, 0.21471222),
34- (0.41227448, 0.21589448), (0.40966362, 0.22001258), (0.40628797, 0.22706655),
35- (0.40214747, 0.23705636), (0.40200475, 0.24653101), (0.40585983, 0.25549048),
36- (0.41371268, 0.2639348), (0.4255633, 0.2718639), (0.4378565, 0.28495985),
37- (0.4505922, 0.30322257), (0.46377045, 0.32665208), (0.47739124, 0.35524836),
38- (0.5046394, 0.36442512), (0.5455148, 0.35418236), (0.60001767, 0.32452005),
39- (0.66814786, 0.27543822), (0.7186763, 0.24664374), (0.75160307, 0.23813659),
40- (0.76692814, 0.2499168), (0.7646515, 0.28198436), (0.7769703, 0.29925033),
41- (0.8038847, 0.3017147), (0.84539455, 0.28937748), (0.9015, 0.26223865),
42- (0.94408435, 0.24899776), (0.9731477, 0.24965483), (0.98869, 0.26420987),
43- (0.9907113, 0.29266283), (0.9849871, 0.31338844), (0.97151726, 0.32638666),
44- (0.950302, 0.3316575), (0.9213412, 0.32920095), (0.8798396, 0.34078467),
45- (0.8257972, 0.36640862), (0.7592141, 0.40607283), (0.6800901, 0.4597773),
46- (0.6450007, 0.49104902), (0.6539457, 0.49988794), (0.7069251, 0.48629412),
47- (0.803939, 0.45026752), (0.877913, 0.4226481), (0.9288472, 0.40343583),
48- (0.9567415, 0.39263073), (0.961596, 0.39023277), (0.9419039, 0.40523484),
49- (0.89766514, 0.43763688), (0.8288798, 0.48743892), (0.7355478, 0.55464095),
50- (0.6655121, 0.60063523), (0.6187727, 0.6254217), (0.5953296, 0.62900037),
51- (0.5951828, 0.6113712), (0.57516366, 0.60261106), (0.53527224, 0.6027198),
52- (0.4755085, 0.6116975), (0.3958725, 0.6295441), (0.33913234, 0.6398651),
53- (0.30528808, 0.6426605), (0.2943397, 0.6379303), (0.30628717, 0.6256744),
54- (0.32149008, 0.6093727), (0.33994842, 0.5890249), (0.36166218, 0.5646312),
55- (0.38663134, 0.5361916), (0.3919681, 0.520893), (0.3776725, 0.5187355),
56- (0.34374446, 0.52971905), (0.29018405, 0.5538437), (0.25439468, 0.5678829),
57- (0.2363764, 0.5718367), (0.23612918, 0.56570506), (0.25365302, 0.549488),
58- (0.2733971, 0.5246488), (0.29536137, 0.49118724), (0.3195459, 0.4491035),
59- (0.34595063, 0.39839754), (0.3647463, 0.3590396), (0.37593287, 0.33102974),
60- (0.37951034, 0.31436795), (0.37547874, 0.30905423), (0.36070493, 0.3204269),
61- (0.33518887, 0.348486), (0.29893062, 0.3932315), (0.25193012, 0.45466346)])
20+ poly = PolyArea([(0.22926679, 0.47329807), (0.23094065, 0.44913536), (0.2569517, 0.38217533),
21+ (0.3072999, 0.272418), (0.34814754, 0.18421611), (0.37949452, 0.11756973),
22+ (0.4013409, 0.07247882), (0.41368666, 0.048943404), (0.42597583, 0.031655528),
23+ (0.4382084, 0.0206152), (0.45038435, 0.015822414), (0.4625037, 0.017277176),
24+ (0.47175184, 0.02439156), (0.47812873, 0.03716557), (0.4816344, 0.055599205),
25+ (0.48226887, 0.07969247), (0.48172843, 0.10446181), (0.4800131, 0.12990724),
26+ (0.47712287, 0.15602873), (0.47305775, 0.18282633), (0.47093934, 0.20558843),
27+ (0.47076762, 0.22431506), (0.47254258, 0.23900622), (0.47626427, 0.24966191),
28+ (0.47768936, 0.25845313), (0.47681788, 0.26537988), (0.4736498, 0.27044216),
29+ (0.46818516, 0.27363995), (0.4613889, 0.27232954), (0.45326096, 0.2665109),
30+ (0.44380143, 0.256184), (0.43301025, 0.24134888), (0.4246466, 0.22978415),
31+ (0.41871038, 0.22148979), (0.4152017, 0.21646582), (0.4141205, 0.21471222),
32+ (0.41227448, 0.21589448), (0.40966362, 0.22001258), (0.40628797, 0.22706655),
33+ (0.40214747, 0.23705636), (0.40200475, 0.24653101), (0.40585983, 0.25549048),
34+ (0.41371268, 0.2639348), (0.4255633, 0.2718639), (0.4378565, 0.28495985),
35+ (0.4505922, 0.30322257), (0.46377045, 0.32665208), (0.47739124, 0.35524836),
36+ (0.5046394, 0.36442512), (0.5455148, 0.35418236), (0.60001767, 0.32452005),
37+ (0.66814786, 0.27543822), (0.7186763, 0.24664374), (0.75160307, 0.23813659),
38+ (0.76692814, 0.2499168), (0.7646515, 0.28198436), (0.7769703, 0.29925033),
39+ (0.8038847, 0.3017147), (0.84539455, 0.28937748), (0.9015, 0.26223865),
40+ (0.94408435, 0.24899776), (0.9731477, 0.24965483), (0.98869, 0.26420987),
41+ (0.9907113, 0.29266283), (0.9849871, 0.31338844), (0.97151726, 0.32638666),
42+ (0.950302, 0.3316575), (0.9213412, 0.32920095), (0.8798396, 0.34078467),
43+ (0.8257972, 0.36640862), (0.7592141, 0.40607283), (0.6800901, 0.4597773),
44+ (0.6450007, 0.49104902), (0.6539457, 0.49988794), (0.7069251, 0.48629412),
45+ (0.803939, 0.45026752), (0.877913, 0.4226481), (0.9288472, 0.40343583),
46+ (0.9567415, 0.39263073), (0.961596, 0.39023277), (0.9419039, 0.40523484),
47+ (0.89766514, 0.43763688), (0.8288798, 0.48743892), (0.7355478, 0.55464095),
48+ (0.6655121, 0.60063523), (0.6187727, 0.6254217), (0.5953296, 0.62900037),
49+ (0.5951828, 0.6113712), (0.57516366, 0.60261106), (0.53527224, 0.6027198),
50+ (0.4755085, 0.6116975), (0.3958725, 0.6295441), (0.33913234, 0.6398651),
51+ (0.30528808, 0.6426605), (0.2943397, 0.6379303), (0.30628717, 0.6256744),
52+ (0.32149008, 0.6093727), (0.33994842, 0.5890249), (0.36166218, 0.5646312),
53+ (0.38663134, 0.5361916), (0.3919681, 0.520893), (0.3776725, 0.5187355),
54+ (0.34374446, 0.52971905), (0.29018405, 0.5538437), (0.25439468, 0.5678829),
55+ (0.2363764, 0.5718367), (0.23612918, 0.56570506), (0.25365302, 0.549488),
56+ (0.2733971, 0.5246488), (0.29536137, 0.49118724), (0.3195459, 0.4491035),
57+ (0.34595063, 0.39839754), (0.3647463, 0.3590396), (0.37593287, 0.33102974),
58+ (0.37951034, 0.31436795), (0.37547874, 0.30905423), (0.36070493, 0.3204269),
59+ (0.33518887, 0.348486), (0.29893062, 0.3932315), (0.25193012, 0.45466346)])
6260
63- simp1 = simplify(polyarea, DouglasPeucker (0.01))
64- simp2 = simplify(polyarea, DouglasPeucker (0.05))
65- simp3 = simplify(polyarea, DouglasPeucker (0.10))
61+ simp1 = simplify(poly, SelingerSimplification (0.01))
62+ simp2 = simplify(poly, SelingerSimplification (0.05))
63+ simp3 = simplify(poly, SelingerSimplification (0.10))
6664
6765fig = Mke.Figure(size = (800, 800))
68- viz(fig[1,1], polyarea )
66+ viz(fig[1,1], poly )
6967viz(fig[1,2], simp1)
7068viz(fig[2,1], simp2)
7169viz(fig[2,2], simp3)
7270fig
7371```
7472
75- ## Selinger
73+ ## DouglasPeuckerSimplification
7674
7775``` @docs
78- Selinger
76+ DouglasPeuckerSimplification
7977```
8078
8179``` @example simplification
82- simp1 = simplify(polyarea, Selinger (0.01))
83- simp2 = simplify(polyarea, Selinger (0.05))
84- simp3 = simplify(polyarea, Selinger (0.10))
80+ simp1 = simplify(poly, DouglasPeuckerSimplification (0.01))
81+ simp2 = simplify(poly, DouglasPeuckerSimplification (0.05))
82+ simp3 = simplify(poly, DouglasPeuckerSimplification (0.10))
8583
8684fig = Mke.Figure(size = (800, 800))
87- viz(fig[1,1], polyarea )
85+ viz(fig[1,1], poly )
8886viz(fig[1,2], simp1)
8987viz(fig[2,1], simp2)
9088viz(fig[2,2], simp3)
9189fig
92- ```
90+ ```
91+
92+ ## MinMaxSimplification
93+
94+ ``` @docs
95+ MinMaxSimplification
96+ ```
97+
98+ ``` @example simplification
99+ simp1 = simplify(poly, MinMaxSimplification(DouglasPeuckerSimplification, max=20))
100+ simp2 = simplify(poly, MinMaxSimplification(DouglasPeuckerSimplification, max=10))
101+ simp3 = simplify(poly, MinMaxSimplification(DouglasPeuckerSimplification, max=5))
102+
103+ fig = Mke.Figure(size = (800, 800))
104+ viz(fig[1,1], poly)
105+ viz(fig[1,2], simp1)
106+ viz(fig[2,1], simp2)
107+ viz(fig[2,2], simp3)
108+ fig
109+ ```
0 commit comments