@@ -131,24 +131,24 @@ using GeometryBasics: attributes
131
131
end
132
132
end
133
133
134
- @testset " embedding Feature " begin
135
- @testset " Feature {Polygon}" begin
134
+ @testset " embedding MetaT " begin
135
+ @testset " MetaT {Polygon}" begin
136
136
polys = [Polygon (rand (Point{2 , Float32}, 20 )) for i in 1 : 10 ]
137
137
multipol = MultiPolygon (polys)
138
138
pnames = [randstring (4 ) for i in 1 : 10 ]
139
139
numbers = LinRange (0.0 , 1.0 , 10 )
140
140
bin = rand (Bool, 10 )
141
141
# create a polygon
142
- poly = Feature (polys[1 ], name = pnames[1 ], value = numbers[1 ], category = bin[1 ])
142
+ poly = MetaT (polys[1 ], name = pnames[1 ], value = numbers[1 ], category = bin[1 ])
143
143
# create a MultiPolygon with the right type & meta information!
144
- multipoly = Feature (multipol, name = pnames, value = numbers, category = bin)
145
- @test multipoly isa Feature
146
- @test poly isa Feature
144
+ multipoly = MetaT (multipol, name = pnames, value = numbers, category = bin)
145
+ @test multipoly isa MetaT
146
+ @test poly isa MetaT
147
147
148
148
@test GeometryBasics. getcolumn (poly, :name ) == pnames[1 ]
149
149
@test GeometryBasics. getcolumn (multipoly, :name ) == pnames
150
150
151
- meta_p = Feature (polys[1 ], boundingbox= Rect (0 , 0 , 2 , 2 ))
151
+ meta_p = MetaT (polys[1 ], boundingbox= Rect (0 , 0 , 2 , 2 ))
152
152
@test meta_p. boundingbox === Rect (0 , 0 , 2 , 2 )
153
153
@test GeometryBasics. metafree (meta_p) == polys[1 ]
154
154
@test GeometryBasics. metafree (poly) == polys[1 ]
@@ -158,10 +158,10 @@ end
158
158
@test GeometryBasics. meta (multipoly) == (name = pnames, value = numbers, category = bin)
159
159
end
160
160
161
- @testset " Feature {Point}" begin
161
+ @testset " MetaT {Point}" begin
162
162
p = Point (1.1 , 2.2 )
163
163
@test p isa AbstractVector{Float64}
164
- pm = Feature (Point (1.1 , 2.2 ); a= 1 , b= 2 )
164
+ pm = MetaT (Point (1.1 , 2.2 ); a= 1 , b= 2 )
165
165
p1 = Point (2.2 , 3.6 )
166
166
p2 = [p, p1]
167
167
@test coordinates (p2) == p2
@@ -172,10 +172,10 @@ end
172
172
@test GeometryBasics. meta (pm) == (a = 1 , b = 2 )
173
173
end
174
174
175
- @testset " Feature {MultiPoint}" begin
175
+ @testset " MetaT {MultiPoint}" begin
176
176
p = collect (Point {2, Float64} (x, x+ 1 ) for x in 1 : 5 )
177
177
@test p isa AbstractVector
178
- mpm = Feature (MultiPoint (p); a= 1 , b= 2 )
178
+ mpm = MetaT (MultiPoint (p); a= 1 , b= 2 )
179
179
@test coordinates (mpm. main) == Point{2 , Float64}[(x, x+ 1 ) for x in 1 : 5 ]
180
180
@test mpm. meta === (a= 1 , b= 2 )
181
181
@test mpm. main == p
@@ -184,21 +184,21 @@ end
184
184
@test GeometryBasics. meta (mpm) == (a = 1 , b = 2 )
185
185
end
186
186
187
- @testset " Feature {LineString}" begin
188
- linestring = Feature (LineString (Point{2 , Int}[(10 , 10 ), (20 , 20 ), (10 , 40 )]), a = 1 , b = 2 )
189
- @test linestring isa Feature
187
+ @testset " MetaT {LineString}" begin
188
+ linestring = MetaT (LineString (Point{2 , Int}[(10 , 10 ), (20 , 20 ), (10 , 40 )]), a = 1 , b = 2 )
189
+ @test linestring isa MetaT
190
190
@test linestring. meta === (a = 1 , b = 2 )
191
191
@test propertynames (linestring) == (:main , :a , :b )
192
192
@test GeometryBasics. metafree (linestring) == LineString (Point{2 , Int}[(10 , 10 ), (20 , 20 ), (10 , 40 )])
193
193
@test GeometryBasics. meta (linestring) == (a = 1 , b = 2 )
194
194
end
195
195
196
- @testset " Feature {MultiLineString}" begin
196
+ @testset " MetaT {MultiLineString}" begin
197
197
linestring1 = LineString (Point{2 , Int}[(10 , 10 ), (20 , 20 ), (10 , 40 )])
198
198
linestring2 = LineString (Point{2 , Int}[(40 , 40 ), (30 , 30 ), (40 , 20 ), (30 , 10 )])
199
199
multilinestring = MultiLineString ([linestring1, linestring2])
200
- multilinestringmeta = Feature (MultiLineString ([linestring1, linestring2]); boundingbox = Rect (1.0 , 1.0 , 2.0 , 2.0 ))
201
- @test multilinestringmeta isa Feature
200
+ multilinestringmeta = MetaT (MultiLineString ([linestring1, linestring2]); boundingbox = Rect (1.0 , 1.0 , 2.0 , 2.0 ))
201
+ @test multilinestringmeta isa MetaT
202
202
@test multilinestringmeta. meta === (boundingbox = Rect (1.0 , 1.0 , 2.0 , 2.0 ),)
203
203
@test multilinestringmeta. main == multilinestring
204
204
@test propertynames (multilinestringmeta) == (:main , :boundingbox )
@@ -207,18 +207,18 @@ end
207
207
end
208
208
209
209
#=
210
- So mesh works differently for Feature
211
- since `Feature {Point}` not subtyped to `AbstractPoint`
210
+ So mesh works differently for MetaT
211
+ since `MetaT {Point}` not subtyped to `AbstractPoint`
212
212
=#
213
213
214
- @testset " Feature {Mesh}" begin
214
+ @testset " MetaT {Mesh}" begin
215
215
@testset " per vertex attributes" begin
216
216
points = rand (Point{3 , Float64}, 8 )
217
217
tfaces = TetrahedronFace{Int}[(1 , 2 , 3 , 4 ), (5 , 6 , 7 , 8 )]
218
218
normals = rand (SVector{3 , Float64}, 8 )
219
219
stress = LinRange (0 , 1 , 8 )
220
220
mesh_nometa = Mesh (points, tfaces)
221
- mesh = Feature (mesh_nometa, normals = normals, stress = stress)
221
+ mesh = MetaT (mesh_nometa, normals = normals, stress = stress)
222
222
223
223
@test hasproperty (mesh, :stress )
224
224
@test hasproperty (mesh, :normals )
@@ -604,19 +604,19 @@ end
604
604
@test < (x, x1)
605
605
end
606
606
607
- @testset " Feature and heterogeneous data" begin
607
+ @testset " MetaT and heterogeneous data" begin
608
608
ls = [LineString ([Point (i, (i+ 1 )^ 2 / 6 ), Point (i* 0.86 ,i+ 5 ), Point (i/ 3 , i/ 7 )]) for i in 1 : 10 ]
609
609
mls = MultiLineString ([LineString ([Point (i+ 1 , (i)^ 2 / 6 ), Point (i* 0.75 ,i+ 8 ), Point (i/ 2.5 , i/ 6.79 )]) for i in 5 : 10 ])
610
610
poly = Polygon (Point{2 , Int}[(40 , 40 ), (20 , 45 ), (45 , 30 ), (40 , 40 )])
611
611
geom = [ls... , mls, poly]
612
612
prop = Any[(country_states = " India$(i) " , rainfall = (i* 9 )/ 2 ) for i in 1 : 11 ]
613
613
push! (prop, (country_states = 12 , rainfall = 1000 )) # a pinch of heterogeneity
614
614
615
- feat = [Feature (i, j) for (i,j) = zip (geom, prop)]
616
- sa = collect_feature (feat)
615
+ feat = [MetaT (i, j) for (i,j) = zip (geom, prop)]
616
+ sa = collect_MetaT (feat)
617
617
618
- @test nameof (eltype (feat)) == :Feature
619
- @test eltype (sa) === Feature {Any,(:country_states , :rainfall ),Tuple{Any,Float64}}
618
+ @test nameof (eltype (feat)) == :MetaT
619
+ @test eltype (sa) === MetaT {Any,(:country_states , :rainfall ),Tuple{Any,Float64}}
620
620
@test propertynames (sa) === (:main , :country_states , :rainfall )
621
621
@test getproperty (sa, :country_states ) isa Array{Any}
622
622
@test getproperty (sa, :main ) == geom
0 commit comments