Tile38 is an open source (MIT licensed), in-memory geolocation data store, spatial index, and real-time geofence. It supports a variety of object types including lat/lon points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON.
You can find detailed documentation in the README.
Change Log
Added
Updated
- #583: Optimization for non-"cross" based geofence detection (@cliedeman)
- #79bee85: Replaced the underlying B-tree structure.
- 9a34a37: Updated Go version to 1.15
- b1dc463: Updated outdated dependencies (40 in total)
Fixed
- #230: Fix trailing zeros in AOF at startup
- #566: Fixed crash in fenceMatchRoam causing an index out of range panic (@larsw)
- #569: Fixed wrong order for fields with SCAN (@ipsusila)
- #573: Fixed crash with geohash precision above 12 (@superloach)
- 68e2b6d: Updated Kafka client to support (@LeonardoBonacci)
Getting Started
Docker
docker pull tile38/tile38
docker run -p 9851:9851 tile38/tile38
Visit the Tile38 Docker Hub Page for more information.
OS X
To get started on OSX run the following in a terminal:
curl -L https://github.com/tidwall/tile38/releases/download/1.22.3/tile38-1.22.3-darwin-amd64.zip -o tile38-1.22.3-darwin-amd64.zip
unzip tile38-1.22.3-darwin-amd64.zip
cd tile38-1.22.3-darwin-amd64
./tile38-server
Linux
To get started on Linux run the following in a terminal:
curl -L https://github.com/tidwall/tile38/releases/download/1.22.3/tile38-1.22.3-linux-amd64.tar.gz -o tile38-1.22.3-linux-amd64.tar.gz
tar xzvf tile38-1.22.3-linux-amd64.tar.gz
cd tile38-1.22.3-linux-amd64
./tile38-server
FreeBSD
To get started on FreeBSD run the following in a terminal:
curl -L https://github.com/tidwall/tile38/releases/download/1.22.3/tile38-1.22.3-freebsd-amd64.tar.gz -o tile38-1.22.3-freebsd-amd64.tar.gz
tar xzvf tile38-1.22.3-freebsd-amd64.tar.gz
cd tile38-1.22.3-freebsd-amd64
./tile38-server
Playing with Tile38
Open another terminal:
./tile38-cli set fleet truck point 33.5 -115.5
./tile38-cli get fleet truck