Open rjyounes opened 2 weeks ago
We are correcting GeoRegion
to GeoRoute
in #1160.
I think the current definition, including the formal definition, leave it unclear if GeoSegment
is a curve or a line. I had the impression it was a line, but looking at it a second time it wasn't 100% clear it can't be a curve.
For context, this came up due to the gist CCO mapping. CCO has a GeospatialLineString
class, which is similar to GeoRoute
and has a GeospatialLine
subclass. I was trying to understand if GeoSegment
and GeospatialLine
were essentially equivalent
GeoRoute
and GeoSegment
cannot contain curves, else the ordered collection of points or the comesFromPlace
and goesToPlace
values, respectively, would not be deterministic. They would each define, not a path, but an infinite set of paths.
The way I think about it is that now we assume the function connecting the two points is a line. I was imagining overriding that with a more complex function. I think we should add the word "line" to the definition: "An ordered set of GeoPoints that defines a path of line segments from starting point to ending point."
A
GeoSegment
is just the special case of aGeoRoute
with two points. And it makes the model of aGeoRoute
messy because it uses a different mechanism for ordering (comesFromPlace
,goesToPlace
rather than an ordered collection). The triples using those predicates will be inferred between every pair of consecutive points on the route.Either we should keep the class and redefine it as a
GeoRoute
with two members, dropping the predicates from the definition, or deprecate/delete it.@kstudzin also points out that the narrative definition is misleading: "A single portion of a GeoRegion which has been divided (i.e., segmented)." This suggests it could be an area rather than a line.