Skip to content

Commit 00d109c

Browse files
authored
Fix GeoInterface x y z (#164)
* remove incorrect x y z implementations and test * fix typo * a typo
1 parent 5b65bcb commit 00d109c

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/geo_interface.jl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,6 @@ GeoInterface.getgeom(t::AbstractGeometryTrait, geom::PreparedGeometry, i) =
5353
GeoInterface.getgeom(t, geom.ownedby, i)
5454
GeoInterface.getgeom(t::AbstractPointTrait, geom::PreparedGeometry, i) = 0
5555

56-
GeoInterface.x(::AbstractPointTrait, geom::AbstractGeometry) = getX(geom.ptr, 1, get_context(geom))
57-
GeoInterface.y(::AbstractPointTrait, geom::AbstractGeometry) = getY(geom.ptr, 1, get_context(geom))
58-
GeoInterface.z(::AbstractPointTrait, geom::AbstractGeometry) = getZ(geom.ptr, 1, get_context(geom))
59-
6056
GeoInterface.ncoord(::AbstractGeometryTrait, geom::AbstractGeometry) =
6157
isEmpty(geom) ? 0 : getCoordinateDimension(geom)
6258
GeoInterface.getcoord(::AbstractGeometryTrait, geom::AbstractGeometry, i) =
@@ -67,6 +63,7 @@ GeoInterface.ncoord(t::AbstractGeometryTrait, geom::PreparedGeometry) =
6763
GeoInterface.getcoord(t::AbstractGeometryTrait, geom::PreparedGeometry, i) =
6864
GeoInterface.getcoord(t, geom.ownedby, i)
6965

66+
# FIXME this doesn't work for 3d geoms, Z is missing
7067
function GeoInterface.extent(::AbstractGeometryTrait, geom::AbstractGeometry)
7168
# minx, miny, maxx, maxy = getExtent(geom)
7269
env = envelope(geom)

test/test_geo_interface.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ const LG = LibGEOS
44

55
@testset "Geo interface" begin
66
pt = LibGEOS.Point(1.0, 2.0)
7+
@test GeoInterface.x(pt) == 1.0
8+
@test GeoInterface.y(pt) == 2.0
79
@test GeoInterface.coordinates(pt) [1, 2] atol = 1e-5
810
@test GeoInterface.geomtrait(pt) == PointTrait()
911
@test GeoInterface.ncoord(pt) == 2
@@ -12,6 +14,18 @@ const LG = LibGEOS
1214
@test GeoInterface.extent(pt) == Extent(X = (1.0, 1.0), Y = (2.0, 2.0))
1315
plot(pt)
1416

17+
pt = LibGEOS.Point(1.0, 2.0, 3.0)
18+
@test GeoInterface.x(pt) == 1.0
19+
@test GeoInterface.y(pt) == 2.0
20+
@test GeoInterface.z(pt) == 3.0
21+
@test GeoInterface.coordinates(pt) [1, 2, 3] atol = 1e-5
22+
@test GeoInterface.ncoord(pt) == 3
23+
@test GeoInterface.getcoord(pt, 3) 3.0
24+
@test GeoInterface.testgeometry(pt)
25+
# This doesn't return the Z extent
26+
@test_broken GeoInterface.extent(pt) == Extent(X = (1.0, 1.0), Y=(2.0, 2.0), Z=(3.0, 3.0))
27+
plot(pt)
28+
1529
pt = LibGEOS.Point(1, 2)
1630
@test GeoInterface.coordinates(pt) [1, 2] atol = 1e-5
1731
@test GeoInterface.geomtrait(pt) == PointTrait()

0 commit comments

Comments
 (0)