Skip to content

Commit c537100

Browse files
committed
bugfix
1 parent b15d130 commit c537100

File tree

2 files changed

+19
-16
lines changed

2 files changed

+19
-16
lines changed

src/defaults.jl

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,31 @@ getpoint(c::AbstractCurveTrait, geom, i) = getgeom(c, geom, i)
3030
startpoint(c::AbstractCurveTrait, geom) = getpoint(c, geom, 1)
3131
endpoint(c::AbstractCurveTrait, geom) = getpoint(c, geom, length(geom))
3232

33-
## MultiLineString
34-
nlinestring(p::AbstractMultiLineStringTrait, geom) = ngeom(p, geom)
35-
getlinestring(p::AbstractMultiLineStringTrait, geom) = getgeom(p, geom)
36-
getlinestring(p::AbstractMultiLineStringTrait, geom, i) = getgeom(p, geom, i)
37-
getpoint(g::AbstractMultiLineStringTrait, geom) = (p for p in getpoint(p) for g in getlinestring(geom))
38-
3933
## Polygons
4034
nring(p::AbstractPolygonTrait, geom) = ngeom(p, geom)
4135
getring(p::AbstractPolygonTrait, geom) = getgeom(p, geom)
4236
getring(p::AbstractPolygonTrait, geom, i) = getgeom(p, geom, i)
4337
getexterior(p::AbstractPolygonTrait, geom) = getring(p, geom, 1)
44-
nhole(p::AbstractPolygonTrait, geom) = nring(p, geom) - 1ring
38+
nhole(p::AbstractPolygonTrait, geom) = nring(p, geom) - 1
4539
gethole(p::AbstractPolygonTrait, geom, i) = getring(p, geom, i + 1)
40+
npoint(p::AbstractPolygonTrait, geom) = sum(npoint(p) for p in getring(p))
41+
getpoint(g::AbstractPolygonTrait, geom) = (p for p in getpoint(r) for r in getring(geom))
42+
43+
## MultiLineString
44+
nlinestring(p::AbstractMultiLineStringTrait, geom) = ngeom(p, geom)
45+
getlinestring(p::AbstractMultiLineStringTrait, geom) = getgeom(p, geom)
46+
getlinestring(p::AbstractMultiLineStringTrait, geom, i) = getgeom(p, geom, i)
47+
npoint(g::AbstractMultiLineStringTrait, geom) = sum(npoint(l) for ls in getlinestring(geom))
48+
getpoint(g::AbstractMultiLineStringTrait, geom) = (p for p in getpoint(ls) for l in getlinestring(geom))
4649

4750
## MultiPolygon
4851
npolygon(p::AbstractMultiPolygonTrait, geom) = ngeom(p, geom)
4952
getpolygon(p::AbstractMultiPolygonTrait, geom) = getgeom(p, geom)
5053
getpolygon(p::AbstractMultiPolygonTrait, geom, i) = getgeom(p, geom, i)
54+
nring(p::AbstractMultiPolygonTrait, geom) = sum(nring(p) for p in getpolygon(p))
5155
getring(g::AbstractMultiPolygonTrait, geom) = (r for r in getring(p) for p in getpolygon(geom))
56+
npoint(p::AbstractMultiPolygonTrait, geom) = sum(npoint(r) for r in getring(geom))
5257
getpoint(g::AbstractMultiPolygonTrait, geom) = (p for p in getpoint(r) for r in getring(geom))
53-
nring(p::AbstractMultiPolygonTrait, geom) = sum(nring(p) for p in getpolygon(p))
5458

5559
## Surface
5660
npatch(p::AbstractPolyHedralSurfaceTrait, geom)::Integer = ngeom(p, geom)

src/interface.jl

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ Note that this is only valid for [`AbstractPolygon`](@ref)s and
200200
nring(geom) = nring(geomtype(geom), geom)
201201

202202
"""
203-
getring(geom, [i::Integer]) -> Int
203+
getring(geom, i::Integer) -> Int
204204
205205
Return the `i`th ring for a given `geom`.
206206
@@ -212,7 +212,6 @@ getring(geom, i::Integer) = getring(geomtype(geom), geom, i)
212212
getring(geom) -> iterator
213213
214214
Returns an iterator over all rings in `geom`.
215-
216215
Note that this is only valid for [`AbstractPolygon`](@ref)s and
217216
[`AbstractMultiPolygon`](@ref)s in single-argument form.
218217
"""
@@ -322,7 +321,7 @@ Note that this is only valid for [`AbstractMultiLineString`](@ref)s.
322321
getlinestring(geom, i::Integer) = getlinestring(geomtype(geom), geom, i)
323322

324323
"""
325-
getlinestring(geom, i::Integer) -> iterator
324+
getlinestring(geom) -> iterator
326325
327326
Returns an iterator over all linestrings in a geometry.
328327
Note that this is only valid for [`AbstractMultiLineString`](@ref)s.
@@ -339,20 +338,20 @@ Note that this is only valid for [`AbstractMultiPolygon`](@ref)s.
339338
npolygon(geom) = npolygon(geomtype(geom), geom)
340339

341340
"""
342-
getpolygon(geom) -> AbstractCurve
341+
getpolygon(geom, i::Integer) -> AbstractCurve
343342
344343
Returns the `i`th polygon for the given `geom`.
345344
Note that this is only valid for [`AbstractMultiPolygon`](@ref)s.
346345
"""
347-
getpolygon(geom) = getpolygon(geomtype(geom), geom)
346+
getpolygon(geom, i::Integer) = getpolygon(geomtype(geom), geom, i)
348347

349348
"""
350-
getpolygon(geom) -> AbstractCurve
349+
getpolygon(geom) -> iterator
351350
352351
Returns an iterator over all polygons in a geometry.
353352
Note that this is only valid for [`AbstractMultiPolygon`](@ref)s.
354353
"""
355-
getpolygon(geom, i::Integer) = getpolygon(geomtype(geom), geom, i)
354+
getpolygon(geom) = getpolygon(geomtype(geom), geom)
356355

357356
"""
358357
getring(geom, i::Integer) -> AbstractCurve
@@ -500,7 +499,7 @@ union(a, b) = union(geomtype(a), geomtype(b), a, b)
500499

501500
# Spatial analysis
502501
"""
503-
3 distance(a, b) -> Number
502+
distance(a, b) -> Number
504503
505504
Returns the shortest distance between `a` with `b`.
506505
"""

0 commit comments

Comments
 (0)