Skip to content

Commit a2e2d46

Browse files
handle FeatureTrait and GeometryCollectionTrait in _get_geometries (#853)
* _get_geometries tries to return `GI.geometry` * handle geometrycollection and featuretrait * better error message for traits that aren't handled
1 parent 28a21cf commit a2e2d46

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/utils.jl

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,12 +211,19 @@ function _get_geometries(data, ::Nothing)
211211
data
212212
else
213213
trait = GI.trait(data)
214-
if trait isa GI.FeatureCollectionTrait
214+
if trait isa GI.AbstractFeatureCollectionTrait
215215
[GI.geometry(f) for f in GI.getfeature(data)]
216+
elseif trait isa GI.AbstractGeometryCollectionTrait
217+
GI.getgeom(data)
218+
elseif trait isa GI.AbstractFeatureTrait
219+
GI.geometry(data)
216220
elseif isnothing(trait)
217221
collect(data)
218-
else
222+
elseif trait isa GI.AbstractGeometryTrait
223+
# data is already a geometry, so return as-is
219224
data
225+
else
226+
ArgumentError("data has $trait, which is not handled")
220227
end
221228
end
222229
# check if data iterates valid geometries before returning

0 commit comments

Comments
 (0)