@@ -19,7 +19,7 @@ ismeasured(::AbstractPointTrait, geom) = :M in coordnames(geom)
1919isempty (T, geom) = false
2020
2121# # Points
22- ngeom (:: AbstractPointTrait , geom):: Integer = 0
22+ ngeom (:: AbstractPointTrait , geom) = 0
2323getgeom (:: AbstractPointTrait , geom) = nothing
2424getgeom (:: AbstractPointTrait , geom, i) = nothing
2525
@@ -37,24 +37,24 @@ getring(t::AbstractPolygonTrait, geom, i) = getgeom(t, geom, i)
3737getexterior (t:: AbstractPolygonTrait , geom) = getring (t, geom, 1 )
3838nhole (t:: AbstractPolygonTrait , geom) = nring (t, geom) - 1
3939gethole (t:: AbstractPolygonTrait , geom, i) = getring (t, geom, i + 1 )
40- npoint (p :: AbstractPolygonTrait , geom) = sum (npoint (p) for p in getring (t, geom))
41- getpoint (t:: AbstractPolygonTrait , geom) = ( p for p in getpoint (r) for r in getring (t, geom))
40+ npoint (t :: AbstractPolygonTrait , geom) = sum (npoint (p) for p in getring (t, geom))
41+ getpoint (t:: AbstractPolygonTrait , geom) = flatten (( p for p in getpoint (r) ) for r in getring (t, geom))
4242
4343# # MultiLineString
4444nlinestring (t:: AbstractMultiLineStringTrait , geom) = ngeom (t, geom)
4545getlinestring (t:: AbstractMultiLineStringTrait , geom) = getgeom (t, geom)
4646getlinestring (t:: AbstractMultiLineStringTrait , geom, i) = getgeom (t, geom, i)
4747npoint (t:: AbstractMultiLineStringTrait , geom) = sum (npoint (ls) for ls in getgeom (t, geom))
48- getpoint (t:: AbstractMultiLineStringTrait , geom) = ( p for p in getpoint (ls) for ls in getgeom (t, geom))
48+ getpoint (t:: AbstractMultiLineStringTrait , geom) = flatten (( p for p in getpoint (ls) ) for ls in getgeom (t, geom))
4949
5050# # MultiPolygon
5151npolygon (t:: AbstractMultiPolygonTrait , geom) = ngeom (t, geom)
5252getpolygon (t:: AbstractMultiPolygonTrait , geom) = getgeom (t, geom)
5353getpolygon (t:: AbstractMultiPolygonTrait , geom, i) = getgeom (t, geom, i)
5454nring (t:: AbstractMultiPolygonTrait , geom) = sum (nring (p) for p in getpolygon (t, geom))
55- getring (t:: AbstractMultiPolygonTrait , geom) = ( r for r in getring (p) for p in getpolygon (t, geom))
55+ getring (t:: AbstractMultiPolygonTrait , geom) = flatten (( r for r in getring (p) ) for p in getpolygon (t, geom))
5656npoint (t:: AbstractMultiPolygonTrait , geom) = sum (npoint (r) for r in getring (t, geom))
57- getpoint (t:: AbstractMultiPolygonTrait , geom) = ( p for p in getpoint (r) for r in getring (t, geom))
57+ getpoint (t:: AbstractMultiPolygonTrait , geom) = flatten (( p for p in getpoint (r) ) for r in getring (t, geom))
5858
5959# # Surface
6060npatch (t:: AbstractPolyHedralSurfaceTrait , geom):: Integer = ngeom (t, geom)
@@ -68,10 +68,15 @@ getcoord(t::AbstractPointTrait, geom) = (getcoord(t, geom, i) for i in 1:ncoord(
6868# # Npoints
6969npoint (:: LineTrait , _) = 2
7070npoint (:: TriangleTrait , _) = 3
71+ nring (:: TriangleTrait , _) = 1
7172npoint (:: RectangleTrait , _) = 4
73+ nring (:: RectangleTrait , _) = 1
7274npoint (:: QuadTrait , _) = 4
75+ nring (:: QuadTrait , _) = 1
7376npoint (:: PentagonTrait , _) = 5
77+ nring (:: PentagonTrait , _) = 1
7478npoint (:: HexagonTrait , _) = 6
79+ nring (:: HexagonTrait , _) = 1
7580
7681issimple (:: AbstractCurveTrait , geom) =
7782 allunique ([getpoint (t, geom, i) for i in 1 : npoint (geom)- 1 ]) && allunique ([getpoint (t, geom, i) for i in 2 : npoint (t, geom)])
0 commit comments