Skip to content

Commit 0a01573

Browse files
committed
using GeoInterface
The trait names can get quite long and are exported, and not much else is exported.
1 parent 7aa0692 commit 0a01573

File tree

3 files changed

+51
-51
lines changed

3 files changed

+51
-51
lines changed

src/GeometryBasics.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module GeometryBasics
22

33
using StaticArrays, Tables, StructArrays, IterTools, LinearAlgebra
4-
using GeoInterface: GeoInterface
4+
using GeoInterface
55
using EarCut_jll
66

77
using Base: @propagate_inbounds

src/geointerface.jl

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,70 +10,70 @@ GeoInterface.isgeometry(::Type{<:AbstractVector{<:AbstractPolygon}}) = true
1010
GeoInterface.isgeometry(::Type{<:AbstractVector{<:AbstractFace}}) = true
1111
GeoInterface.isgeometry(::Type{<:Mesh}) = true
1212

13-
GeoInterface.geomtrait(::Point) = GeoInterface.PointTrait()
14-
GeoInterface.geomtrait(::Line) = GeoInterface.LineTrait()
15-
GeoInterface.geomtrait(::LineString) = GeoInterface.LineStringTrait()
16-
GeoInterface.geomtrait(::Polygon) = GeoInterface.PolygonTrait()
17-
GeoInterface.geomtrait(::MultiPoint) = GeoInterface.MultiPointTrait()
18-
GeoInterface.geomtrait(::MultiLineString) = GeoInterface.MultiLineStringTrait()
19-
GeoInterface.geomtrait(::MultiPolygon) = GeoInterface.MultiPolygonTrait()
20-
GeoInterface.geomtrait(::Ngon) = GeoInterface.PolygonTrait()
21-
GeoInterface.geomtrait(::AbstractMesh) = GeoInterface.PolyhedralSurfaceTrait()
13+
GeoInterface.geomtrait(::Point) = PointTrait()
14+
GeoInterface.geomtrait(::Line) = LineTrait()
15+
GeoInterface.geomtrait(::LineString) = LineStringTrait()
16+
GeoInterface.geomtrait(::Polygon) = PolygonTrait()
17+
GeoInterface.geomtrait(::MultiPoint) = MultiPointTrait()
18+
GeoInterface.geomtrait(::MultiLineString) = MultiLineStringTrait()
19+
GeoInterface.geomtrait(::MultiPolygon) = MultiPolygonTrait()
20+
GeoInterface.geomtrait(::Ngon) = PolygonTrait()
21+
GeoInterface.geomtrait(::AbstractMesh) = PolyhedralSurfaceTrait()
2222

23-
GeoInterface.geomtrait(::Simplex{Dim,T,1}) where {Dim,T} = GeoInterface.PointTrait()
24-
GeoInterface.geomtrait(::Simplex{Dim,T,2}) where {Dim,T} = GeoInterface.LineStringTrait()
25-
GeoInterface.geomtrait(::Simplex{Dim,T,3}) where {Dim,T} = GeoInterface.PolygonTrait()
23+
GeoInterface.geomtrait(::Simplex{Dim,T,1}) where {Dim,T} = PointTrait()
24+
GeoInterface.geomtrait(::Simplex{Dim,T,2}) where {Dim,T} = LineStringTrait()
25+
GeoInterface.geomtrait(::Simplex{Dim,T,3}) where {Dim,T} = PolygonTrait()
2626

27-
GeoInterface.ncoord(::GeoInterface.PointTrait, g::Point) = length(g)
28-
GeoInterface.getcoord(::GeoInterface.PointTrait, g::Point, i::Int) = g[i]
27+
GeoInterface.ncoord(::PointTrait, g::Point) = length(g)
28+
GeoInterface.getcoord(::PointTrait, g::Point, i::Int) = g[i]
2929

30-
GeoInterface.ngeom(::GeoInterface.LineTrait, g::Line) = length(g)
31-
GeoInterface.getgeom(::GeoInterface.LineTrait, g::Line, i::Int) = g[i]
30+
GeoInterface.ngeom(::LineTrait, g::Line) = length(g)
31+
GeoInterface.getgeom(::LineTrait, g::Line, i::Int) = g[i]
3232

33-
GeoInterface.ngeom(::GeoInterface.LineStringTrait, g::LineString) = length(g) + 1 # n line segments + 1
34-
function GeoInterface.getgeom(::GeoInterface.LineStringTrait, g::LineString, i::Int)
33+
GeoInterface.ngeom(::LineStringTrait, g::LineString) = length(g) + 1 # n line segments + 1
34+
function GeoInterface.getgeom(::LineStringTrait, g::LineString, i::Int)
3535
return GeometryBasics.coordinates(g)[i]
3636
end
3737

38-
GeoInterface.ngeom(::GeoInterface.PolygonTrait, g::Polygon) = length(g.interiors) + 1 # +1 for exterior
39-
function GeoInterface.getgeom(::GeoInterface.PolygonTrait,
38+
GeoInterface.ngeom(::PolygonTrait, g::Polygon) = length(g.interiors) + 1 # +1 for exterior
39+
function GeoInterface.getgeom(::PolygonTrait,
4040
g::Polygon,
4141
i::Int)::typeof(g.exterior)
4242
return i > 1 ? g.interiors[i - 1] : g.exterior
4343
end
4444

45-
GeoInterface.ngeom(::GeoInterface.MultiPointTrait, g::MultiPoint) = length(g)
46-
GeoInterface.getgeom(::GeoInterface.MultiPointTrait, g::MultiPoint, i::Int) = g[i]
45+
GeoInterface.ngeom(::MultiPointTrait, g::MultiPoint) = length(g)
46+
GeoInterface.getgeom(::MultiPointTrait, g::MultiPoint, i::Int) = g[i]
4747

48-
function GeoInterface.ngeom(::GeoInterface.MultiLineStringTrait, g::MultiLineString)
48+
function GeoInterface.ngeom(::MultiLineStringTrait, g::MultiLineString)
4949
return length(g)
5050
end
51-
function GeoInterface.getgeom(::GeoInterface.MultiLineStringTrait, g::MultiLineString,
51+
function GeoInterface.getgeom(::MultiLineStringTrait, g::MultiLineString,
5252
i::Int)
5353
return g[i]
5454
end
5555

56-
GeoInterface.ngeom(::GeoInterface.MultiPolygonTrait, g::MultiPolygon) = length(g)
57-
GeoInterface.getgeom(::GeoInterface.MultiPolygonTrait, g::MultiPolygon, i::Int) = g[i]
56+
GeoInterface.ngeom(::MultiPolygonTrait, g::MultiPolygon) = length(g)
57+
GeoInterface.getgeom(::MultiPolygonTrait, g::MultiPolygon, i::Int) = g[i]
5858

59-
function GeoInterface.ncoord(::GeoInterface.AbstractGeometryTrait,
59+
function GeoInterface.ncoord(::AbstractGeometryTrait,
6060
::Simplex{Dim,T,N,P}) where {Dim,T,N,P}
6161
return Dim
6262
end
63-
function GeoInterface.ncoord(::GeoInterface.AbstractGeometryTrait,
63+
function GeoInterface.ncoord(::AbstractGeometryTrait,
6464
::AbstractGeometry{Dim,T}) where {Dim,T}
6565
return Dim
6666
end
67-
function GeoInterface.ngeom(::GeoInterface.AbstractGeometryTrait,
67+
function GeoInterface.ngeom(::AbstractGeometryTrait,
6868
::Simplex{Dim,T,N,P}) where {Dim,T,N,P}
6969
return N
7070
end
71-
GeoInterface.ngeom(::GeoInterface.PolygonTrait, ::Ngon) = 1 # can't have any holes
72-
GeoInterface.getgeom(::GeoInterface.PolygonTrait, g::Ngon, _) = LineString(g.points)
71+
GeoInterface.ngeom(::PolygonTrait, ::Ngon) = 1 # can't have any holes
72+
GeoInterface.getgeom(::PolygonTrait, g::Ngon, _) = LineString(g.points)
7373

74-
function GeoInterface.ncoord(::GeoInterface.PolyhedralSurfaceTrait,
74+
function GeoInterface.ncoord(::PolyhedralSurfaceTrait,
7575
::Mesh{Dim,T,E,V} where {Dim,T,E,V})
7676
return Dim
7777
end
78-
GeoInterface.ngeom(::GeoInterface.PolyhedralSurfaceTrait, g::AbstractMesh) = length(g)
79-
GeoInterface.getgeom(::GeoInterface.PolyhedralSurfaceTrait, g::AbstractMesh, i) = g[i]
78+
GeoInterface.ngeom(::PolyhedralSurfaceTrait, g::AbstractMesh) = length(g)
79+
GeoInterface.getgeom(::PolyhedralSurfaceTrait, g::AbstractMesh, i) = g[i]

test/geointerface.jl

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,47 @@
11
@testset "Basic types" begin
22
point = Point(2, 3)
3-
GeoInterface.testgeometry(point)
4-
@test GeoInterface.ncoord(point) == 2
5-
@test GeoInterface.getcoord(point, 2) == 3
3+
testgeometry(point)
4+
@test ncoord(point) == 2
5+
@test getcoord(point, 2) == 3
66
@test GeoInterface.coordinates(point) == [2, 3]
77

88
mp = MultiPoint([point, point])
9-
GeoInterface.testgeometry(mp)
10-
@test GeoInterface.ngeom(mp) == 2
11-
@test GeoInterface.getgeom(mp, 2) == point
9+
testgeometry(mp)
10+
@test ngeom(mp) == 2
11+
@test getgeom(mp, 2) == point
1212
@test GeoInterface.coordinates(mp) == [[2, 3], [2, 3]]
1313

1414
linestring = LineString(Point{2,Int}[(10, 10), (20, 20), (10, 40)])
15-
GeoInterface.testgeometry(linestring)
16-
@test GeoInterface.ngeom(linestring) == 3
17-
@test GeoInterface.getgeom(linestring, 1) == Point(10, 10)
18-
@test GeoInterface.getgeom(linestring, 2) == Point(20, 20)
19-
@test GeoInterface.getgeom(linestring, 3) == Point(10, 40)
15+
testgeometry(linestring)
16+
@test ngeom(linestring) == 3
17+
@test getgeom(linestring, 1) == Point(10, 10)
18+
@test getgeom(linestring, 2) == Point(20, 20)
19+
@test getgeom(linestring, 3) == Point(10, 40)
2020
@test GeoInterface.coordinates(linestring) == [[10, 10], [20, 20], [10, 40]]
2121

2222
multilinestring = MultiLineString([linestring, linestring])
23-
GeoInterface.testgeometry(multilinestring)
23+
testgeometry(multilinestring)
2424
@test GeoInterface.coordinates(multilinestring) ==
2525
[[[10, 10], [20, 20], [10, 40]], [[10, 10], [20, 20], [10, 40]]]
2626

2727
poly = Polygon(rand(Point{2,Float32}, 5), [rand(Point{2,Float32}, 5)])
28-
GeoInterface.testgeometry(poly)
28+
testgeometry(poly)
2929
@test length(GeoInterface.coordinates(poly)) == 2
3030
@test length(GeoInterface.coordinates(poly)[1]) == 5
3131

3232
triangle = Triangle(point, point, point)
33-
GeoInterface.testgeometry(triangle)
33+
testgeometry(triangle)
3434
@test length(GeoInterface.coordinates(triangle)) == 1
3535
@test length(GeoInterface.coordinates(triangle)[1]) == 3
3636

3737
polys = MultiPolygon([poly, poly])
38-
GeoInterface.testgeometry(polys)
38+
testgeometry(polys)
3939
@test length(GeoInterface.coordinates(polys)) == 2
4040
@test length(GeoInterface.coordinates(polys)[1]) == 2
4141
@test length(GeoInterface.coordinates(polys)[1][1]) == 5
4242
end
4343

4444
@testset "Mesh" begin
4545
mesh = triangle_mesh(Sphere(Point3f(0), 1))
46-
GeoInterface.testgeometry(mesh)
46+
testgeometry(mesh)
4747
end

0 commit comments

Comments
 (0)