locationtech / geotrellis

GeoTrellis is a geographic data processing engine for high performance applications.
http://geotrellis.io
Other
1.34k stars 361 forks source link

Break `Projected` out of Slick #2557

Closed moradology closed 6 years ago

moradology commented 6 years ago

Projected is currently the only way we have to associate a geometry with a projection. This lives in the Slick package and requires us to bring in all those dependencies. We should move Projected to vector so that using a library like, say, Doobie doesn't require bringing in Slick dependencies.

As evidence that this is a fine way of representing the relationship, note that JTS and org.postgis store projections on their geometries...

fosskers commented 6 years ago

note that JTS and org.postgis store projections on their geometries

Binary ops on geoms/tiles/layers in incompatible projections should be a compile error, yeah.

metasim commented 6 years ago

An aside opinion: the closer we can stick to the JTS model of geometry, the easier it is to support interop with GeoMesa, RasterFrames, and other LocationTech projects. Having Scala wrappers ariound JTS like GT does is fine as long as the JTS semantics are maintained. @jnh5y particularly has been working hard to keep JTS moving ahead and evolving, so definitely reach out to him if you want the LocationTech perspective.

metasim commented 6 years ago

PS: The above is mostly a tangential comment; not insinuating that JTS semantics are in play here.