Tile38 is an open source (MIT licensed), in-memory geolocation data store, spatial index, and realtime geofence. It supports a variety of object types including lat/lon points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON.
- Spatial index with search methods such as NEARBY, WITHIN, and INTERSECTS.
- Realtime geofencing through persistent sockets or webhooks.
- Object types of lat/lon, bbox, Geohash, GeoJSON, QuadKey, and XYZ tile.
- Support for lots of Clients Libraries written in many different languages.
- Variety of client protocols, including http (curl), websockets, telnet, and the Redis RESP.
- Server responses are RESP or JSON.
- Full command line interface.
- Leader / follower replication.
- In-memory database that persists on disk.
The easiest way to get Tile38 is to use one of the pre-built release binaries which are available for OSX, Linux, FreeBSD, and Windows. Instructions for using these binaries are on the GitHub releases page.
If you want to try the latest version, you can build Tile38 from the master branch.
To get started on OSX run the following in a terminal:
To get started on Linux run the following in a terminal:
To get started on FreeBSD run the following in a terminal:
Or install from packages:
pkg install tile38
Or from the ports:
make -C /usr/ports/databases/tile38 install
Download, extract and compile Tile38 with:
curl -L https://github.com/tidwall/tile38/archive/1.12.3.tar.gz > tile38-1.12.3.tar.gz
tar xzf tile38-1.12.3.tar.gz
The binaries that are now compiled are available in same directory. Run Tile38 with:
You can interact with Tile38 using the built-in client: