- GeoJSON [1] was done because web services came up with that format to exchange geo shape information. Furthermore database like MongoDB changed their internal support for 2d/2dsphere indexes also to GeoJSON. There is a package GeoJSON-Voyage which is start of a helper to easily store Geo data in voyage-mongo.
- I started to do a KML Reader [2] because besides GeoJSON that is a widely used format. And this can be used in Google Earth which is the best free Geo editor that I know.��
- As KML and GeoJSON use a similar model for representing geo shapes and POIs I started to factor out that into the Geography package [3].
- At the moment in the Geography package there is only a 2D point class GGPoint to have something to hold geo coordinates (there is also a 3D variant). In the past I used Point as the class for these things but came to the conclusion that there is a distinction between a point and geo point when it comes to things like distance etc. So it is better to have them separate. Into this model I want to morph the classes for LineStrings, LinearRings, Polygons etc. from GeoJSON and KML to have a common foundation for the basic geo shapes lines, multi-lines, closed multi-lines (=polygons) etc.
- As GGPoint is distinct to Point this is just the context where you use it. The Geography package should be a companion to the Geometry package [4] which I forked from TelescopeSt to make it a community package which is good for this plan but also for roassal which uses the Geometry package. To me the geoX model should be switched between Geometry and Geography regarding to the context you want to work in being planar or spherical.��
- In my tools that I build this model classes have also gt-inspector extension so the shapes can be viewed just by inspecting them. I'm fighting with the roassal team to make it possible for geo coordinates which conflicts at the moment with their defined thresholds. But with the factoring the shapes into Geography I will move those extension to the Geography package as well
- I also implemented a polygon intersection algorithm (Weiler and Atherton) which I will then incorporate in any of the GeoX packages