You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The previous pre-1.0 releases of GeoInterface.jl were smaller in scope, aligned to geointerface in Python [^sgillies]
3
+
which builds on GeoJSON [^geojson]. It provided abstract types and expected other geometries to be implemented as a subtype.
4
+
Recent Julia developments have shown that subtyping is difficult--you can only choose one supertype--and many packages moved to trait-based interfaces. Tables.jl is an excellent example of traits-based interface.
Copy file name to clipboardExpand all lines: docs/src/background/sf.md
+1-9Lines changed: 1 addition & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,7 @@ All types used here come from the SF. We added `Trait` to all geometry types her
12
12

13
13
`The SF Type hierarchy. From OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture at http://www.opengis.net/doc/is/sfa/1.2.1.`
14
14
15
+
15
16
## Changes with respect to SF
16
17
While we try to adhere to SF, there are changes and extensions to make it more Julian.
17
18
@@ -54,15 +55,6 @@ Not all SF functions are implemented, either as a possibly slower fallback or em
54
55
dimension # topological dimensions
55
56
spatialDimension
56
57
57
-
58
58
locateAlong
59
59
locateBetween
60
60
```
61
-
62
-
## History
63
-
The previous pre-1.0 releases of GeoInterface.jl were smaller in scope, aligned to geointerface in Python [^sgillies]
64
-
which builds on GeoJSON [^geojson]. It provided abstract types and expected other geometries to be implemented as a subtype.
65
-
Recent Julia developments have shown that subtyping is difficult--you can only choose one supertype--and many packages moved to trait-based interfaces. Tables.jl is an excellent example.
Where the `getgeom` and `getcoord` could be an iterator (without the `i`) as well. It will return a new geom with the correct `geomtype`. The `ngeom` and `getgeom` are aliases for their geom specific counterparts, such as `npoints` and `getpoint` for LineStrings.
26
+
Where the `getgeom` and `getcoord` could be an iterator (without the `i`) as well. It will return a new geom with the correct `geomtype`.
27
+
This means that a call to `getgeom` on a geometry that has a `LineStringTrait` should return something that implements the `PointTrait`. This hierarchy can be checked programmatically with [`subtrait`](@ref). You read more about the `geomtype` in the [Type hierarchy](@ref).
28
+
29
+
The `ngeom` and `getgeom` are aliases for their geom specific counterparts, such as `npoints` and `getpoint` for `LineStringTrait`s.
23
30
24
-
You read more about the `geomtype` in the [Type hierarchy](@ref).
25
31
26
32
## Optional for Geometry
27
33
@@ -71,15 +77,16 @@ union(geomtype(a), geomtype(b), a, b)
71
77
```
72
78
73
79
## Testing the interface
74
-
GeoInterface provides a Testsuite for a geom type to check whether all functions that have been implemented also work as expected.
80
+
GeoInterface provides a Testsuite for a geom type to check whether the required functions that have been correctly implemented and work as expected.
Copy file name to clipboardExpand all lines: docs/src/index.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,13 +11,13 @@ CurrentModule = GeoInterface
11
11
12
12
This Package describe a set of traits based on the [Simple Features standard (SF)](https://www.opengeospatial.org/standards/sfa)
13
13
for geospatial vector data, including the SQL/MM extension with support for circular geometry.
14
-
Using these traits, it should be easy to parse, serialize and use different geometries in the Julia ecosystem,
14
+
By using these traits, it should be easy to parse, serialize and use different custom geometries in the Julia ecosystem,
15
15
without knowing the specifics of each individual package. In that regard it is similar to Tables.jl, but for geometries instead of tables.
16
16
17
17
Packages which support the GeoInterface.jl interface can be found in [Packages](@ref).
18
18
19
-
For background about the interface and Simple Features, see [Changes with respect to SF](@ref).
20
19
For usage see [Traits interface](@ref), while if you look to implement GeoInterface in your own package, check out [Implementing GeoInterface](@ref).
20
+
For background about the interface and Simple Features, see [Changes with respect to SF](@ref).
21
21
22
22
!!! compat
23
-
This traits interface is new and is a major departure from previous pre-1.0 releases. Feel free to ask questions on Github.
23
+
This traits interface is new and is a major departure from previous pre-1.0 releases. See [History](@ref) for more information. Feel free to ask questions on Github.
0 commit comments