Closed yeesian closed 9 years ago
@yeesian My thought is that GeoJSON.jl should stay light, basically i/o only, and eventually have types moved out elsewhere, where supported geometries and features may be a superset of what GeoJSON supports. That new package (GeoShapes.jl
, or whatever) will be a dependency of GeoJSON.jl as well as of packages that handle i/o of shapefiles, kml, etc., and core operations (convexhull, etc.) would be either in the new package, or in Turf.jl
. Then analysis w/o DataFrames both depend on those same core functions.
Okay, I've been independently converging towards the same design too. See https://github.com/yeesian/GeoInterface.jl.
We should probably have a JuliaGeo meta wiki/discussion about these stuff, but I'll just experiment with what I have for now, to see what works and what doesn't
That sounds great! I've done some work making Geodesy.jl
more powerful, too -- if I can finish a couple things there soon, I'll try to come experiment on the interface with you soon.
I saw, and have provided an AbstractPosition in anticipation (:
Ah, cool! I was wondering how that would work but hadn't stopped to try to puzzle it out yet.
It's meant to replace code like type XYZ
here, for subsequent code to be able to
ENU
, LLA
, ECEF
, etc through an AbstractPosition
interfacex
,y
,z
), or (ii) an array-like interfaceI have provided an example implementation in GeoJSON.jl
.
I had been porting the functionality for Turf in a separate repository, but that codebase had been designed for javascript apps, and there's [significant] overlap in functionality with DataFrames-type operations, and other packages (in interpolations, etc).
Does it make sense to
If so, I'll migrate the relevant portions of the code over from Turf.jl to this repo (to
src/turf.jl
) through a PR. Your thoughts?cc @garborg