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
{{ message }}
This repository was archived by the owner on Jun 22, 2023. It is now read-only.
This is somewhat related to #30, but that issue is very broad, so I wanted to give this its own arena for discussion.
GeometryServiceProvider.Instance isn't actually used anywhere in GeoAPI itself. Its sole purpose seems to be a common point of reference for downstream consumers.
This creates its own friction, since it's not clear to ORM providers whether or not they should be setting this themselves.
GeoAPI implementers shouldn't rely too much on this, even if they set it themselves, because some other GeoAPI implementer might set it later.
Related challenges that have been overcome in the past year or two (from when this issue was opened).
In the face of all those problems, the practical benefits are questionable. I may have to eat my words on this, but in its current state, I find it difficult to imagine a particularly useful project that depends on GeoAPI.Core without also depending on something more concrete, such as NetTopologySuite.Core. So if there is, in fact, a need for a global default instance, then it could just as easily be NtsGeometryServices.Instance or something similar.
In a post-#30 world, there may be a use for having GeoAPI export a global variable that can be used as a default to reduce the friction of the API, depending on how the architecture looks in the end, but right now I feel that it doesn't add enough value on top of NtsGeometryServices.Instance to be worth keeping around (for reasons other than backwards-compatibility).
This is somewhat related to #30, but that issue is very broad, so I wanted to give this its own arena for discussion.
GeometryServiceProvider.Instanceisn't actually used anywhere in GeoAPI itself. Its sole purpose seems to be a common point of reference for downstream consumers.This sounds neat, but it creates some problems:
In the face of all those problems, the practical benefits are questionable. I may have to eat my words on this, but in its current state, I find it difficult to imagine a particularly useful project that depends on
GeoAPI.Corewithout also depending on something more concrete, such asNetTopologySuite.Core. So if there is, in fact, a need for a global default instance, then it could just as easily beNtsGeometryServices.Instanceor something similar.In a post-#30 world, there may be a use for having GeoAPI export a global variable that can be used as a default to reduce the friction of the API, depending on how the architecture looks in the end, but right now I feel that it doesn't add enough value on top of
NtsGeometryServices.Instanceto be worth keeping around (for reasons other than backwards-compatibility).