Geotools supports now Redis, MongoDB and Memcached as cache engine. Read more in github
I started this, first of all, for my own needs and then because I was thinking how I could implement an easy way to batch geocoding and reverse geocondig requests in serie and especially in parallel. Of course, I looked around to see if a geo-related PHP library could be found (packagist for exemple) but not like I expected :/
So It was a good opportunity to develop Geotools library in php. But I think I will work on it to implement usefull features so your ideas and PRs are really welcome (you can read more about how to contribute) !
- Batch geocode & reverse geocoding request(s) in serie / in parallel against one or a set of providers.
- Compute geocode & reverse geocoding in the command-line interface (CLI) + dumpers and formatters.
- Accept almost all kind of WGS84 geographic coordinates as coordinates.
- Support 23 different ellipsoids and it’s easy to provide a new one if needed.
- Convert and format decimal degrees coordinates to decimal minutes or degrees minutes seconds coordinates.
- Convert decimal degrees coordinates in the Universal Transverse Mercator (UTM) projection.
- Compute the distance in meter (by default), km or mile between two coordinates using flat, haversine or vincenty algorithms.
- Compute the initial and final bearing from the origin coordinate to the destination coordinate in degrees.
- Compute the initial and final cardinal point (direction) from the origin coordinate to the destination coordinate, read more in wikipedia.
- Compute the half-way point (coordinate) between the origin and the destination coordinates.
- Compute the destination point (coordinate) with given bearing in degrees and a distance in meters.
- Encode a coordinate to a geo hash string and decode it to a coordinate, read more in wikipedia and on geohash.org.
- A command-line interface (CLI) for Distance, Point, Geohash and Convert classes.
- … more to come …