From d2a19c580c746179215b53b558e1807ca43b9d1c Mon Sep 17 00:00:00 2001 From: Anshul Singhvi Date: Thu, 20 Jun 2024 15:21:36 -0400 Subject: [PATCH] Make the comment about why only length-4 vectors can have M more clear (#135) --- src/base.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/base.jl b/src/base.jl index 16584990..b84be695 100644 --- a/src/base.jl +++ b/src/base.jl @@ -8,8 +8,7 @@ GeoInterface.geomtrait(::AbstractVector{<:Real}) = PointTrait() GeoInterface.ncoord(::PointTrait, geom::AbstractVector{<:Real}) = Base.length(geom) # TODO should this error for length > 4 ? GeoInterface.getcoord(::PointTrait, geom::AbstractVector{<:Real}, i) = getindex(geom, i) GeoInterface.is3d(::PointTrait, geom::AbstractVector{<:Real}) = Base.length(geom) in (3, 4) -GeoInterface.ismeasured(::PointTrait, geom::AbstractVector{<:Real}) = Base.length(geom) == 4 # Measured must have Z - +GeoInterface.ismeasured(::PointTrait, geom::AbstractVector{<:Real}) = Base.length(geom) == 4 # for vectors, we assume the 3rd element is always Z, so a vector can only have M if it is length 4. # x/y/z/m methods were 100x slower without these custom definitions # Also allow @inbounds to make them slightly faster when you know the sizes Base.@propagate_inbounds function GeoInterface.x(::PointTrait, geom::AbstractVector{<:Real})