import GeoFormatTypes as GFT, WellKnownGeometry as WKG, GeoInterface as GI
tups = tuple.(rand(300_000), rand(300_000))
geoms_as_points = GFT.val.(WKG.getwkb.(GI.Point.(tups)))
geoms_as_linestring = GFT.val(WKG.getwkb(GI.LineString(tups)))
# parse geoms as points, each WKB individually
@benchmark begin
map($(geoms_as_points)) do geom
only(reinterpret(Tuple{Float64, Float64}, view(geom, (5+1):length(geom)))) # this has to be parsed differently in EWKB and GeoPkg wkb
end
end # median time 3ms v/s regular parsing 300ms
# parse the whole linestring
@benchmark collect(reinterpret(Tuple{Float64, Float64}, view($ls_as_wkb, (1+4+4+1):length($ls_as_wkb))))
# median time 290ns vs unknown (still running)
# we could even drop collect here