**Geotools** supports now **Redis**, **MongoDB** and **Memcached** as cache engine. Read more in github

–

Well, Geotools is yet another project about geocoding tools, kit, library etc… Yes, but if you are a user of Geocoder you will appreciate it - I hope :)

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) !

## Features

**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 …

Please read more at the README and give a look at the Changelog :)