Real-time Geospatial and Geofencing

Overview

Tile38

Slack Channel Docker Ready

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.

This README is quick start document. You can find detailed documentation at https://tile38.com.

Nearby Within Intersects Geofencing Roaming Geofences

Features

Components

  • tile38-server - The server
  • tile38-cli - Command line interface tool
  • tile38-benchmark - Server benchmark tool

Getting Started

Getting Tile38

Perhaps the easiest way to get the latest 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.

Docker

To run the latest stable version of Tile38:

docker pull tile38/tile38
docker run -p 9851:9851 tile38/tile38

Visit the Tile38 hub page for more information.

Homebrew (macOS)

Install Tile38 using Homebrew

brew install tile38
tile38-server

Building Tile38

Tile38 can be compiled and used on Linux, OSX, Windows, FreeBSD, and probably others since the codebase is 100% Go. We support both 32 bit and 64 bit systems. Go must be installed on the build machine.

To build everything simply:

$ make

To test:

$ make test

Running

For command line options invoke:

$ ./tile38-server -h

To run a single server:

$ ./tile38-server

# The tile38 shell connects to localhost:9851
$ ./tile38-cli
> help

Playing with Tile38

Basic operations:

$ ./tile38-cli

# add a couple of points named 'truck1' and 'truck2' to a collection named 'fleet'.
> set fleet truck1 point 33.5123 -112.2693   # on the Loop 101 in Phoenix
> set fleet truck2 point 33.4626 -112.1695   # on the I-10 in Phoenix

# search the 'fleet' collection.
> scan fleet                                 # returns both trucks in 'fleet'
> nearby fleet point 33.462 -112.268 6000    # search 6 kilometers around a point. returns one truck.

# key value operations
> get fleet truck1                           # returns 'truck1'
> del fleet truck2                           # deletes 'truck2'
> drop fleet                                 # removes all 

Tile38 has a ton of great commands.

Fields

Fields are extra data that belongs to an object. A field is always a double precision floating point. There is no limit to the number of fields that an object can have.

To set a field when setting an object:

> set fleet truck1 field speed 90 point 33.5123 -112.2693             
> set fleet truck1 field speed 90 field age 21 point 33.5123 -112.2693

To set a field when an object already exists:

> fset fleet truck1 speed 90

Searching

Tile38 has support to search for objects and points that are within or intersects other objects. All object types can be searched including Polygons, MultiPolygons, GeometryCollections, etc.

Search Within

Within

WITHIN searches a collection for objects that are fully contained inside a specified bounding area.

Search Intersects

Intersects

INTERSECTS searches a collection for objects that intersect a specified bounding area.

Search Nearby

Nearby

NEARBY searches a collection for objects that intersect a specified radius.

Search options

SPARSE - This option will distribute the results of a search evenly across the requested area.
This is very helpful for example; when you have many (perhaps millions) of objects and do not want them all clustered together on a map. Sparse will limit the number of objects returned and provide them evenly distributed so that your map looks clean.

You can choose a value between 1 and 8. The value 1 will result in no more than 4 items. The value 8 will result in no more than 65536. 1=4, 2=16, 3=64, 4=256, 5=1024, 6=4098, 7=16384, 8=65536.

No SparsingSearch Within Sparse 1Search Within Sparse 2Search Within Sparse 3Search Within Sparse 4Search Within Sparse 5Search Within

Please note that the higher the sparse value, the slower the performance. Also, LIMIT and CURSOR are not available when using SPARSE.

WHERE - This option allows for filtering out results based on field values. For example
nearby fleet where speed 70 +inf point 33.462 -112.268 6000 will return only the objects in the 'fleet' collection that are within the 6 km radius and have a field named speed that is greater than 70.

Multiple WHEREs are concatenated as and clauses. WHERE speed 70 +inf WHERE age -inf 24 would be interpreted as speed is over 70 and age is less than 24.

The default value for a field is always 0. Thus if you do a WHERE on the field speed and an object does not have that field set, the server will pretend that the object does and that the value is Zero.

MATCH - MATCH is similar to WHERE except that it works on the object id instead of fields.
nearby fleet match truck* point 33.462 -112.268 6000 will return only the objects in the 'fleet' collection that are within the 6 km radius and have an object id that starts with truck. There can be multiple MATCH options in a single search. The MATCH value is a simple glob pattern.

CURSOR - CURSOR is used to iterate though many objects from the search results. An iteration begins when the CURSOR is set to Zero or not included with the request, and completes when the cursor returned by the server is Zero.

NOFIELDS - NOFIELDS tells the server that you do not want field values returned with the search results.

LIMIT - LIMIT can be used to limit the number of objects returned for a single search request.

Geofencing

Geofence animation

A geofence is a virtual boundary that can detect when an object enters or exits the area. This boundary can be a radius, bounding box, or a polygon. Tile38 can turn any standard search into a geofence monitor by adding the FENCE keyword to the search.

Tile38 also allows for Webhooks to be assigned to Geofences.


A simple example:

> nearby fleet fence point 33.462 -112.268 6000

This command opens a geofence that monitors the 'fleet' collection. The server will respond with:

{"ok":true,"live":true}

And the connection will be kept open. If any object enters or exits the 6 km radius around 33.462,-112.268 the server will respond in realtime with a message such as:

{"command":"set","detect":"enter","id":"truck02","object":{"type":"Point","coordinates":[-112.2695,33.4626]}}

The server will notify the client if the command is del | set | drop.

  • del notifies the client that an object has been deleted from the collection that is being fenced.
  • drop notifies the client that the entire collection is dropped.
  • set notifies the client that an object has been added or updated, and when it's position is detected by the fence.

The detect may be one of the following values.

  • inside is when an object is inside the specified area.
  • outside is when an object is outside the specified area.
  • enter is when an object that was not previously in the fence has entered the area.
  • exit is when an object that was previously in the fence has exited the area.
  • cross is when an object that was not previously in the fence has entered and exited the area.

These can be used when establishing a geofence, to pre-filter responses. For instance, to limit responses to enter and exit detections:

> nearby fleet fence detect enter,exit point 33.462 -112.268 6000

Pub/sub channels

Tile38 supports delivering geofence notications over pub/sub channels.

To create a static geofence that sends notifications when a bus is within 200 meters of a point and sends to the busstop channel:

> setchan busstop nearby buses fence point 33.5123 -112.2693 200

Subscribe on the busstop channel:

> subscribe busstop

Object types

All object types except for XYZ Tiles and QuadKeys can be stored in a collection. XYZ Tiles and QuadKeys are reserved for the SEARCH keyword only.

Lat/lon point

The most basic object type is a point that is composed of a latitude and a longitude. There is an optional z member that may be used for auxiliary data such as elevation or a timestamp.

set fleet truck1 point 33.5123 -112.2693     # plain lat/lon
set fleet truck1 point 33.5123 -112.2693 225 # lat/lon with z member

Bounding box

A bounding box consists of two points. The first being the southwestern most point and the second is the northeastern most point.

set fleet truck1 bounds 30 -110 40 -100

Geohash

A geohash is a string representation of a point. With the length of the string indicating the precision of the point.

set fleet truck1 hash 9tbnthxzr # this would be equivalent to 'point 33.5123 -112.2693'

GeoJSON

GeoJSON is an industry standard format for representing a variety of object types including a point, multipoint, linestring, multilinestring, polygon, multipolygon, geometrycollection, feature, and featurecollection.

* All ignored members will not persist.

Important to note that all coordinates are in Longitude, Latitude order.

set city tempe object {"type":"Polygon","coordinates":[[[0,0],[10,10],[10,0],[0,0]]]}

XYZ Tile

An XYZ tile is rectangle bounding area on earth that is represented by an X, Y coordinate and a Z (zoom) level. Check out maptiler.org for an interactive example.

QuadKey

A QuadKey used the same coordinate system as an XYZ tile except that the string representation is a string characters composed of 0, 1, 2, or 3. For a detailed explanation checkout The Bing Maps Tile System.

Network protocols

It's recommended to use a client library or the Tile38 CLI, but there are times when only HTTP is available or when you need to test from a remote terminal. In those cases we provide an HTTP and telnet options.

HTTP

One of the simplest ways to call a tile38 command is to use HTTP. From the command line you can use curl. For example:

# call with request in the body
curl --data "set fleet truck3 point 33.4762 -112.10923" localhost:9851

# call with request in the url path
curl localhost:9851/set+fleet+truck3+point+33.4762+-112.10923

Websockets

Websockets can be used when you need to Geofence and keep the connection alive. It works just like the HTTP example above, with the exception that the connection stays alive and the data is sent from the server as text websocket messages.

Telnet

There is the option to use a plain telnet connection. The default output through telnet is RESP.

telnet localhost 9851
set fleet truck3 point 33.4762 -112.10923
+OK

The server will respond in JSON or RESP depending on which protocol is used when initiating the first command.

  • HTTP and Websockets use JSON.
  • Telnet and RESP clients use RESP.

Client Libraries

Tile38 uses the Redis RESP protocol natively. Therefore most clients that support basic Redis commands will in turn support Tile38. Below are a few of the popular clients.

Contact

Josh Baker @tidwall

License

Tile38 source code is available under the MIT License.

Issues
  • Does Set Point Increase the RAM

    Does Set Point Increase the RAM

    I have been constantly ingesting Set Points close to 10K/sec . Need to know does Set point keeps the trail of all the points in RAM or it just over writes a Set Point for an ID e.g

    	redis.NewStringCmd("set", "fleetX", locData.iD,
    						"field", "eventTime", locData.evnDtime,
    						"point", locData.laT, locData.loN)
    

    Does there will be a single entry of a locData.iD or it will keep trail of all the points that i injest in fleetX against an ID ?

    opened by abhit011 41
  • Are there any benchmarks ?

    Are there any benchmarks ?

    Hello,

    this server is a piece of great work. I like it very much. Do you have any benchmarks or metric numbers we can expect? How many points / fences / notifications can be handled by one instance?

    Thank you fro this great piece of software !

    Maciej Bednarz, Hannover, Germany

    opened by literadix 40
  • Question: Reloading a large AOF file (and running out of memory)

    Question: Reloading a large AOF file (and running out of memory)

    This is a by-product of issue #70

    1. We have an AOF file (produced by a version 1.5.1 instance of Tile38) that is ~17GB on disk and, when its all said and done, consumes about 24GB RAM on a 32GB machine. This is an AOF that has not been SHRINK -ed (so maybe that's the root problem?)
    2. After backporting to version 1.4.2 we spun up Tile38 and watched it import the AOF file eventually running out of memory.
    3. After upgrading to version 1.5.2 we spun up Tile38 and watched it import the AOF file eventually running out of memory, again.

    Is this a known-known and if so are there any best practices for mitigating against running out of memory when starting up a Tile38 server? Is there a relationship between the size of the AOF file on disk and memory requirements for both startup and general operations?

    (As I write this simply re-feeding the index is not a big deal.)

    Cheers,

    screen shot 2016-10-20 at 18 29 31

    opened by thisisaaronland 33
  • NEARBY appears to not sort correctly

    NEARBY appears to not sort correctly

    I have this simple test case, using version 1.9.0:

    DROP test
    SET test 1 OBJECT '{"type":"Point","coordinates":[-149.831200065,61.1181799835]}'
    SET test 2 OBJECT '{"type":"Point","coordinates":[-149.831220014,61.1185399862]}'
    SET test 3 OBJECT '{"type":"Point","coordinates":[-149.832450058,61.1169899628]}'
    SET test 4 OBJECT '{"type":"Point","coordinates":[-149.832280073,61.1170899589]}'
    NEARBY test LIMIT 3 DISTANCE POINT 61.1177399755 -149.831590075
    

    this returns:

    {
       "elapsed" : "65.708µs",
       "count" : 3,
       "ok" : true,
       "objects" : [
          {
             "distance" : 53.22,
             "object" : {
                "type" : "Point",
                "coordinates" : [
                   -149.831200065,
                   61.1181799835
                ]
             },
             "id" : "1"
          },
          {
             "distance" : 91.15,
             "object" : {
                "type" : "Point",
                "coordinates" : [
                   -149.831220014,
                   61.1185399862
                ]
             },
             "id" : "2"
          },
          {
             "id" : "4",
             "distance" : 81.23,
             "object" : {
                "coordinates" : [
                   -149.832280073,
                   61.1170899589
                ],
                "type" : "Point"
             }
          }
       ],
       "cursor" : 0
    }
    

    I was expecting to get the points in the nearest-first order, according to the docs. Instead I get results that are 53, 91, and 81 meters away from the center of the search. Is this a bug, or am I missing something obvious here? Thanks in advance for any help!

    Alex

    enhancement 
    opened by rshura 28
  • How to make better use of TILE38 in this business?

    How to make better use of TILE38 in this business?

    There is a scene in the business, the use of real-time GPS data of the device to simulate multiple real-time access to the fence, the message can be triggered at each access(out/in).

    GPS data generated by the terminal about tens of thousands, each terminal every 10 seconds to produce a GPS message; and the fence is relatively static definition(Hundreds of thousands of).

    How to use TILE38 to achieve such a scene more concise it?

    Thanks!

    enhancement question 
    opened by huangpeizhi 28
  • Add example code for each major client library

    Add example code for each major client library

    We should have example code documented for each recommended client library

    At the moment only the node_redis library has an example of how to use the client library.

    What to do for each client library

    • Create an example code wiki page that executes the following commands:
    SET fleet truck1 POINT 33 -115
    GET fleet truck1
    NEARBY fleet POINT 33 -115 1000
    

    Use the node_redis example as a template.

    Recommended #100

    help wanted low hanging fruit 
    opened by tidwall 23
  • NEARBY sort results by distance

    NEARBY sort results by distance

    Hey, I'm currently playing arround with tile38 and i found #79 and #119 which are both looking very interessting to me while i'm trying to find a point, which sits within the radius of n given points. At the moment i'm using n queries – one for each input point – and i'd like to return the closest point which was found in all subqueries. During the iteration through the result lists, comparing ids and measuring distance to find the closest point i was wondering wheather i can get back ordered points (by distance) from a query instead of doing it manually afterwards.

    Besides from combining multiple queries sorting by distance could be useful in other scenarios as well. What do you think?

    opened by joernroeder 22
  • Memory leak

    Memory leak

    I have ~ 23K objects of multipolygon type, representing California boundies. Enter hook assigned for each poligon --> ~ 23K web hooks

    When I am starting point insertion with SET commands (2 points per second) I see that memory, consumed by tile38 server grows from initial 200MB to 700MB (and it will grow if I continue ingestion). The bad thing is that after I stop ingestion - memory is not freed.

    When I am restarting Tile38 - AOF is reloaded and initial memory is again 200MB

    p.s. working with master branch

    opened by amorskoy 21
  • Tile38 server memory usage seems to be increasing indefinitely

    Tile38 server memory usage seems to be increasing indefinitely

    We have quite a modest usage of a tile38 server and it's geofencing capabilities. We currently have 11 hooks, and about one or two thousand of data points at a time. Each data injected have a TTL of 10s.

    The issue is that the memory usage keep increasing while the number of data remain the same. After several days, we reach up to 3Go of ram ! While at the start, tile38 server uses about 300mB of ram. It may be a memory leak.

    gc gc server tile38 pprof pprof002

    opened by Morgiflute 19
  • Redis Interface

    Redis Interface

    I didn't want to hijack the previous topic. So i decided to ask directly. Another user mentioned solely using the the redis interface and not using any webhooks. Is this possible with Geofences? I want to be able to get the entry,exit notifications without the need for hooks if possible. In my situation the Raspberry 3.14 is the device running Tile and should only worry about up coming Geofence locations and act based on entry/exit of each. Right now my code grabs the gps coords and updates Tile and when an entry is detected sends a mqtt webhook to a local broker on the 3.14 then makes a decision thereafter. But It would be nice to be able to sub to the notifications without the need for the broker. I know Redis has the PUBSUB feature but I did not see this listed in the commands for Tile. For exampe lf I setup Fences LOC1 - LOC500 and sub LOC* to get all notifications as each Geofence is entered/exited that would be great .

    Thanks and sorry for the long post

    opened by gmonk63 18
  • How to deal with a growing aof?

    How to deal with a growing aof?

    First of all, thanks for this awesome project! Have been using Tile38 quite a while to do some proof of concepts and i'm trying to push it into our prod system. I hope to be able to contribute to the Project soon.

    I've been encountering some memory issues. There are a couple SET commands every 10-20 seconds, but mostly on already existing objects with an expire of 30 minutes. There aren't many objects and no followers. We shrink the aof file every day. There used to be a couple of Geofences up, but we have removed them. The RAM usage is pretty high, but this grew gradually over time and is around 4gigs now, even after using aof shrink. Does the whole aof have to be in memory? Some tips how we can get that under control?

       _______ _______
      |       |       |
      |____   |   _   |   Tile38 1.11.0 (19f53a6) 64 bit (amd64/linux)
      |       |       |   Port: 9851, PID: 1
      |____   |   _   | 
      |       |       |   tile38.com
      |_______|_______| 
    2018/03/13 15:24:03 [INFO] Server started, Tile38 version 1.11.0, git 19f53a6
    2018/03/13 15:27:17 [INFO] AOF loaded 28176826 commands: 194.22s, 145073/s, 21 MB/s
    2018/03/13 15:27:17 [INFO] The server is now ready to accept connections on port 9851
    2018/03/14 16:30:49 [INFO] aof shrink ended 838.087958ms
    2018/03/14 17:00:01 [INFO] aof shrink ended 14.189253ms
    2018/03/14 17:05:15 [INFO] aof shrink ended 9.732037ms
    
    127.0.0.1:9851> keys *
    {"ok":true,"keys":["a","b","c","d","e","f","g"],"elapsed":"15.926µs"}
    127.0.0.1:9851> stats a
    {"ok":true,"stats":[{"in_memory_size":7722,"num_objects":198,"num_points":198,"num_strings":0}],"elapsed":"28.79µs"}
    127.0.0.1:9851> stats b
    {"ok":true,"stats":[{"in_memory_size":6176,"num_objects":193,"num_points":193,"num_strings":0}],"elapsed":"21.811µs"}
    127.0.0.1:9851> stats c
    {"ok":true,"stats":[{"in_memory_size":17291,"num_objects":630,"num_points":630,"num_strings":0}],"elapsed":"33.636µs"}
    127.0.0.1:9851> stats d
    {"ok":true,"stats":[{"in_memory_size":20416,"num_objects":638,"num_points":638,"num_strings":0}],"elapsed":"33.562µs"}
    127.0.0.1:9851> stats e
    {"ok":true,"stats":[{"in_memory_size":7683,"num_objects":197,"num_points":197,"num_strings":0}],"elapsed":"34.799µs"}
    127.0.0.1:9851> stats f
    {"ok":true,"stats":[{"in_memory_size":6336,"num_objects":198,"num_points":198,"num_strings":0}],"elapsed":"47.184µs"}
    127.0.0.1:9851> stats g
    {"ok":true,"stats":[{"in_memory_size":19,"num_objects":1,"num_points":1,"num_strings":0}],"elapsed":"61.989µs"}
    
    
    127.0.0.1:9851> server
    {"ok":true,"stats":{"aof_size":5746035,"avg_item_size":1430975,"heap_released":5379784704,"heap_size":2944947800,"http_transport":true,"id":"db0fb9da7f37e715df4fdcf9483dacc3","in_memory_size":65757,"max_heap_size":0,"mem_alloc":2944947800,"num_collections":7,"num_hooks":10,"num_objects":2058,"num_points":2058,"num_strings":0,"pid":1,"pointer_size":8,"read_only":false},"elapsed":"181.097µs"}
    127.0.0.1:9851> pdelhook *
    {"ok":true,"elapsed":"21.634µs"}
    127.0.0.1:9851> aofshrink
    {"ok":true,"elapsed":"339ns"}
    127.0.0.1:9851> server
    {"ok":true,"stats":{"aof_size":412590,"avg_item_size":1474227,"heap_released":4385636352,"heap_size":3014795976,"http_transport":true,"id":"db0fb9da7f37e715df4fdcf9483dacc3","in_memory_size":65320,"max_heap_size":0,"mem_alloc":3014795976,"num_collections":7,"num_hooks":0,"num_objects":2045,"num_points":2045,"num_strings":0,"pid":1,"pointer_size":8,"read_only":false},"elapsed":"147.98µs"}
    127.0.0.1:9851> gc
    {"ok":true,"elapsed":"519ns"}
    127.0.0.1:9851> server
    {"ok":true,"stats":{"aof_size":1142900,"avg_item_size":1387913,"heap_released":5578768384,"heap_size":2864653016,"http_transport":true,"id":"db0fb9da7f37e715df4fdcf9483dacc3","in_memory_size":65981,"max_heap_size":0,"mem_alloc":2864653016,"num_collections":7,"num_hooks":0,"num_objects":2064,"num_points":2064,"num_strings":0,"pid":1,"pointer_size":8,"read_only":false},"elapsed":"142.264µs"}
    127.0.0.1:9851> aofshrink
    {"ok":true,"elapsed":"234ns"}
    127.0.0.1:9851> server
    {"ok":true,"stats":{"aof_size":514319,"avg_item_size":1389086,"heap_released":4408262656,"heap_size":2858740512,"http_transport":true,"id":"db0fb9da7f37e715df4fdcf9483dacc3","in_memory_size":65761,"max_heap_size":0,"mem_alloc":2858740512,"num_collections":7,"num_hooks":0,"num_objects":2058,"num_points":2058,"num_strings":0,"pid":1,"pointer_size":8,"read_only":false},"elapsed":"149.717µs"}
    
    opened by Joey92 18
  • Added transactions like in Redis

    Added transactions like in Redis

    Describe the solution you'd like I suggest adding transaction support to the Tile38, such in Redis. Because in my mind during the execution of instructions in Tile38, multiple consecutively executed instructions were interfered, interrupted, and jumped into the queue.

    opened by gvsafronov 1
  • Vector tile  output for search results

    Vector tile output for search results

    Describe the solution you'd like Add option to return vector tile output (mvt/.pbf) on search results. Having the ability to generate mvt directly in tile38 like PostGIS's asMVT() function would be a great feature.

    Describe alternatives you've considered Clipped geojson from tile38 ---- geojson to pbf middleware -- client-side js renderer.

    Additional context

    https://github.com/mapbox/vector-tile-spec

    opened by bt-maps 4
  • Hook life-time events

    Hook life-time events

    Is your feature request related to a problem? Please describe.

    Hooks that live for a limited time are a feature with Tile38, because we can set e.g. EX 3600. I have a hook that expires in 10 minutes. A truck enters the hook and we get an enter event. The trucks stays in the hook and we get consecutive inside events. The truck stays in the hook, the hook gets deleted due to the TTL, and there are no events anymore. From a consumer point of view the state is incomplete, there's no exit ever.

    Describe the solution you'd like

    I understand that sending an event for every possible truck in a hook is not feasible because of the possible sheer amount.

    But I think lifetime events for hooks could solve that issue and notify the consumer that a) there's a new hook you can expect events from now on b) the hook was deleted, don't expect any new events from now on, therefore implicitly sending an exit to attached consumers

    In case of b) the consumer can easily continue to update its state itself, because every truck that was in said hook implicitly exits it - that completes the circle of enter/inside/exit.

    Describe alternatives you've considered The alternative I considered is tracking the lifetime of a hook in the consumer.

    1. consumer gets enter event that has ttl, consumer from then on checks ttl continuously (for inside events) and/or stores/updates lifetime in his own state. Once ttl ran out consumer does whatever he needs to do in order to restore a proper state.

    To be frank, this is my only solution right now. Depending on the consumer and his logic this can be easy or can be difficult. It is doable, but I feel that the producer abdicates (wow new word for me) from its responsibility if it sends enter and inside but nothing when it is deleted and therefore leaves a "stale" state with the consumer.

    WDYT?

    opened by iwpnd 7
  • E2BIG

    E2BIG

    Is your feature request related to a problem? Please describe. Can't load some geometries (polygon) from command-line, because the string is too big (E2BIG).

    Describe the solution you'd like Something like this :

    • SET cities tempe FILE /data/path/to/file.geojson
    • and SET cities tempe URL http://example.com/file.geojson (to avoid depending on the FS of the Tile38 instance)

    Describe alternatives you've considered N/A.

    Additional context N/A.

    opened by sign0 1
  • Lua Sanitization

    Lua Sanitization

    Describe the bug Tile38's EVAL command does not sanitize Lua code. This allows an attacker to use arbitrary code to potentially access information on the machine and opens a door for lateral movement.

    To Reproduce Send arbitrary code using EVAL to a Tile38 server, such as:

    https://tile38.fakedomain.com/eval+return{io.popen("printenv"):read('*a')}+0
    

    Logs The above command returns the following JSON:

    {
      "ok": true,
      "result": [
        "HOSTNAME=tile38host\nSHLVL=1\nHOME=/root\nPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\nPWD=/\n"
      ],
      "elapsed": "1.03398ms"
    }
    

    Additional context I'm not sure if this is out of scope for Tile38, and should be resolved at the administrator's level, but if so, feel free to close this then.

    opened by program-- 2
  • Provide arm64 architecture in official Docker images

    Provide arm64 architecture in official Docker images

    Is your feature request related to a problem? Please describe.

    With the ARM-based Apple Silicon Macs becoming more and more common, it would be great if there was also a Docker image with arm64 architecture. If found the old ticket #180 which says there are no official ARM64 releases, even though Tile38 might work just fine. The current releases here on Github include arm and arm64 which is great.

    Describe the solution you'd like

    In addition to building and publishing Docker images with architecture linux/amd64, please also provide linux/arm64.

    Describe alternatives you've considered

    • building my own image for local development or
    • not run Tile38 within Docker for development but use the homebrew-installed tile38

    Some additional information

    https://github.com/docker-library/official-images#architectures-other-than-amd64

    opened by bb 1
Releases(1.28.0)
  • 1.28.0(Apr 12, 2022)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Changelog

    Added

    • 10f8564: Added option to "not found" for DEL
    • #633: Added "clear" command in the tile38-cli (@CaioDallaqua)
    • #634: Added -x flag to tile38-cli (@sign0)

    Fixed

    • #636: Workaround for the RESP3 Java lettuce client (@rave-eserating)
    • a1cc8e6: Fix eof error for incomplete commands (Theresa D)

    Updated

    • fcdb469: Security updates
    • #638: Upgrade alpine in Dockerfile (@bb)
    • a124738: Upgrade to Go 1.18
    • 38ea913: Upgrade prometheous client
    • 45fde6a: Upgraded nats dependencies

    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.28.0/tile38-1.28.0-darwin-amd64.zip -o tile38-1.28.0-darwin-amd64.zip
    unzip tile38-1.28.0-darwin-amd64.zip
    cd tile38-1.28.0-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.28.0/tile38-1.28.0-linux-amd64.tar.gz -o tile38-1.28.0-linux-amd64.tar.gz
    tar xzvf tile38-1.28.0-linux-amd64.tar.gz
    cd tile38-1.28.0-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.28.0/tile38-1.28.0-freebsd-amd64.tar.gz -o tile38-1.28.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.28.0-freebsd-amd64.tar.gz
    cd tile38-1.28.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.28.0-darwin-amd64.zip(18.79 MB)
    tile38-1.28.0-freebsd-amd64.zip(19.07 MB)
    tile38-1.28.0-linux-amd64.tar.gz(19.11 MB)
    tile38-1.28.0-linux-arm.tar.gz(18.25 MB)
    tile38-1.28.0-linux-arm64.tar.gz(17.82 MB)
    tile38-1.28.0-windows-amd64.zip(18.89 MB)
  • 1.27.1(Jan 4, 2022)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Changelog

    Fix

    • b6833a2: Auto assign server_id for bootstrapped config files

    Added

    • #629: JSON logging (@iwpnd)
    • 241117c: BUFFER option for WITHIN and INTERSECTS, see #79

    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.27.1/tile38-1.27.1-darwin-amd64.zip -o tile38-1.27.1-darwin-amd64.zip
    unzip tile38-1.27.1-darwin-amd64.zip
    cd tile38-1.27.1-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.27.1/tile38-1.27.1-linux-amd64.tar.gz -o tile38-1.27.1-linux-amd64.tar.gz
    tar xzvf tile38-1.27.1-linux-amd64.tar.gz
    cd tile38-1.27.1-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.27.1/tile38-1.27.1-freebsd-amd64.tar.gz -o tile38-1.27.1-freebsd-amd64.tar.gz
    tar xzvf tile38-1.27.1-freebsd-amd64.tar.gz
    cd tile38-1.27.1-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.27.1-darwin-amd64.zip(17.70 MB)
    tile38-1.27.1-freebsd-amd64.zip(17.74 MB)
    tile38-1.27.1-linux-amd64.tar.gz(17.99 MB)
    tile38-1.27.1-linux-arm.tar.gz(16.54 MB)
    tile38-1.27.1-linux-arm64.tar.gz(16.53 MB)
    tile38-1.27.1-windows-amd64.zip(17.83 MB)
  • 1.27.0(Dec 29, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    [1.27.0] = 2021-12-28

    Added

    • #629: JSON logging (@iwpnd)
    • 241117c: BUFFER option for WITHIN and INTERSECTS, see #79

    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.27.0/tile38-1.27.0-darwin-amd64.zip -o tile38-1.27.0-darwin-amd64.zip
    unzip tile38-1.27.0-darwin-amd64.zip
    cd tile38-1.27.0-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.27.0/tile38-1.27.0-linux-amd64.tar.gz -o tile38-1.27.0-linux-amd64.tar.gz
    tar xzvf tile38-1.27.0-linux-amd64.tar.gz
    cd tile38-1.27.0-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.27.0/tile38-1.27.0-freebsd-amd64.tar.gz -o tile38-1.27.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.27.0-freebsd-amd64.tar.gz
    cd tile38-1.27.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.27.0-darwin-amd64.zip(17.70 MB)
    tile38-1.27.0-freebsd-amd64.zip(17.73 MB)
    tile38-1.27.0-linux-amd64.tar.gz(17.99 MB)
    tile38-1.27.0-linux-arm.tar.gz(16.54 MB)
    tile38-1.27.0-linux-arm64.tar.gz(16.52 MB)
    tile38-1.27.0-windows-amd64.zip(17.83 MB)
  • 1.26.4(Oct 25, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    New Features

    SECTOR searching and geofencing

    Build a circular sector polygon feature spanning the angle between two given bearings, a radius and a center point.

    See the docs for more information.

    Azure EventHub hook support

    Send geofence notifications to Azure EventHub

    See the docs for more information.

    [1.26.4]

    Updated

    • a47443a: Upgrade tidwall modules

    [1.26.2]

    Added

    • #625: Azure EventHub hook support

    Changed

    • 11cea4d: Removed vendor directory

    [1.26.1]

    Updated

    • 9e552c3: Allow some basic client commands before AOF data loads

    [1.26.0]

    Added

    • #623: Added SECTOR type to spatial searches (@iwpnd, @gmonk)

    Fixed

    • #624: AOFSHRINK causes panic on server (@saques)

    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.26.4/tile38-1.26.4-darwin-amd64.zip -o tile38-1.26.4-darwin-amd64.zip
    unzip tile38-1.26.4-darwin-amd64.zip
    cd tile38-1.26.4-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.26.4/tile38-1.26.4-linux-amd64.tar.gz -o tile38-1.26.4-linux-amd64.tar.gz
    tar xzvf tile38-1.26.4-linux-amd64.tar.gz
    cd tile38-1.26.4-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.26.4/tile38-1.26.4-freebsd-amd64.tar.gz -o tile38-1.26.4-freebsd-amd64.tar.gz
    tar xzvf tile38-1.26.4-freebsd-amd64.tar.gz
    cd tile38-1.26.4-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.26.4-darwin-amd64.zip(17.47 MB)
    tile38-1.26.4-freebsd-amd64.zip(17.52 MB)
    tile38-1.26.4-linux-amd64.tar.gz(17.76 MB)
    tile38-1.26.4-linux-arm.tar.gz(16.34 MB)
    tile38-1.26.4-linux-arm64.tar.gz(16.33 MB)
    tile38-1.26.4-windows-amd64.zip(17.61 MB)
  • 1.26.2(Oct 22, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    New Feature - SECTOR searching and geofencing

    Build a circular sector polygon feature (pizza piece 😅 ) spanning the angle between two given bearings, a radius and a center point.

    See the docs for more information.

    [1.26.2]

    Added

    • #625: Azure EventHub hook support

    Changed

    • 11cea4d: Removed vendor directory

    [1.26.1]

    Updated

    • 9e552c3: Allow some basic client commands before AOF data loads

    [1.26.0]

    Added

    • #623: Added SECTOR type to spatial searches (@iwpnd, @gmonk)

    Fixed

    • #624: AOFSHRINK causes panic on server (@saques)

    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.26.2/tile38-1.26.2-darwin-amd64.zip -o tile38-1.26.2-darwin-amd64.zip
    unzip tile38-1.26.2-darwin-amd64.zip
    cd tile38-1.26.2-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.26.2/tile38-1.26.2-linux-amd64.tar.gz -o tile38-1.26.2-linux-amd64.tar.gz
    tar xzvf tile38-1.26.2-linux-amd64.tar.gz
    cd tile38-1.26.2-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.26.2/tile38-1.26.2-freebsd-amd64.tar.gz -o tile38-1.26.2-freebsd-amd64.tar.gz
    tar xzvf tile38-1.26.2-freebsd-amd64.tar.gz
    cd tile38-1.26.2-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.26.2-darwin-amd64.zip(17.45 MB)
    tile38-1.26.2-freebsd-amd64.zip(17.51 MB)
    tile38-1.26.2-linux-amd64.tar.gz(17.75 MB)
    tile38-1.26.2-linux-arm.tar.gz(16.32 MB)
    tile38-1.26.2-linux-arm64.tar.gz(16.31 MB)
    tile38-1.26.2-windows-amd64.zip(17.59 MB)
  • 1.26.1(Oct 2, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    New Feature - SECTOR searching and geofencing

    Build a circular sector polygon feature (pizza piece 😅 ) spanning the angle between two given bearings, a radius and a center point.

    See the docs for more information.

    [1.26.1]

    Updated

    • 9e552c3: Allow some basic client commands before AOF data loads

    [1.26.0]

    Added

    • #623: Added SECTOR type to spatial searches (@iwpnd, @gmonk)

    Fixed

    • #624: AOFSHRINK causes panic on server (@saques)

    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.26.1/tile38-1.26.1-darwin-amd64.zip -o tile38-1.26.1-darwin-amd64.zip
    unzip tile38-1.26.1-darwin-amd64.zip
    cd tile38-1.26.1-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.26.1/tile38-1.26.1-linux-amd64.tar.gz -o tile38-1.26.1-linux-amd64.tar.gz
    tar xzvf tile38-1.26.1-linux-amd64.tar.gz
    cd tile38-1.26.1-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.26.1/tile38-1.26.1-freebsd-amd64.tar.gz -o tile38-1.26.1-freebsd-amd64.tar.gz
    tar xzvf tile38-1.26.1-freebsd-amd64.tar.gz
    cd tile38-1.26.1-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.26.1-darwin-amd64.zip(17.04 MB)
    tile38-1.26.1-freebsd-amd64.zip(17.09 MB)
    tile38-1.26.1-linux-amd64.tar.gz(17.32 MB)
    tile38-1.26.1-linux-arm.tar.gz(15.94 MB)
    tile38-1.26.1-linux-arm64.tar.gz(15.93 MB)
    tile38-1.26.1-windows-amd64.zip(17.17 MB)
  • 1.26.0(Sep 29, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    [1.26.0]

    Added

    • #623: Added SECTOR type to spatial searches (@iwpnd, @gmonk)

    Fixed

    • #624: AOFSHRINK causes panic on server (@saques)

    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.26.0/tile38-1.26.0-darwin-amd64.zip -o tile38-1.26.0-darwin-amd64.zip
    unzip tile38-1.26.0-darwin-amd64.zip
    cd tile38-1.26.0-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.26.0/tile38-1.26.0-linux-amd64.tar.gz -o tile38-1.26.0-linux-amd64.tar.gz
    tar xzvf tile38-1.26.0-linux-amd64.tar.gz
    cd tile38-1.26.0-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.26.0/tile38-1.26.0-freebsd-amd64.tar.gz -o tile38-1.26.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.26.0-freebsd-amd64.tar.gz
    cd tile38-1.26.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.26.0-darwin-amd64.zip(17.04 MB)
    tile38-1.26.0-freebsd-amd64.zip(17.09 MB)
    tile38-1.26.0-linux-amd64.tar.gz(17.32 MB)
    tile38-1.26.0-linux-arm.tar.gz(15.94 MB)
    tile38-1.26.0-linux-arm64.tar.gz(15.92 MB)
    tile38-1.26.0-windows-amd64.zip(17.18 MB)
  • 1.25.5(Sep 26, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    [1.25.5]

    Fixed

    • 8ebcbeb: Fixed Z not matching on where clause for Feature/Point. (@tomquas)

    [1.25.4]

    Added

    • a737a78: Add unix socket support

    Updated

    • 8829b8f: Change hooks collection type from hashmap to btree
    • 83094b2: Update hook expiration logic
    • c686b87: Return hook ttl with HOOKS request
    • 06a92d8: Increase the precision of TIMEOUT
    • Upgrade to Go 1.17.1

    [1.25.3]

    Fixed

    • #621: Fixed a memory leak (@Morgiflute)

    Updated

    • Update B-tree library
    • Upgrade to Go 1.17

    [1.25.2]

    Fixed

    • #620: Fixed kafka authentication methods

    Updated

    • Upgraded various dependencies

    [1.25.1]

    Fixed

    • #618: Fixed NEARBY with SPARSE returning too many results. (@nesjett)

    [1.25.0]

    Added

    • #504: Added TLS support for Nats webhook provider.
    • #552: Added CLIPBY subcommand to INTERSECTS/WITHIN. (@rshura)
    • #561: Added geofence webhook for GCP Pubsub. (@mscno)
    • #615: Added SASL to Kafka provider. (@mathieux51, @iwpnd)

    Updated

    • #551: Optimize field value access. (@mpoindexter)
    • #554: Improved kNN using geodesic algorithm for NEARBY command. (@mpoindexter)

    Fixed

    • #611: Close follower files before finishing aofshrink. (@mzbrau)
    • #613: Fixed Memory Leak in Kafka Producer. (@iwpnd)
    • #616: Fixed expiration logic issue. (@Neuintown)

    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.25.5/tile38-1.25.5-darwin-amd64.zip -o tile38-1.25.5-darwin-amd64.zip
    unzip tile38-1.25.5-darwin-amd64.zip
    cd tile38-1.25.5-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.25.5/tile38-1.25.5-linux-amd64.tar.gz -o tile38-1.25.5-linux-amd64.tar.gz
    tar xzvf tile38-1.25.5-linux-amd64.tar.gz
    cd tile38-1.25.5-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.25.5/tile38-1.25.5-freebsd-amd64.tar.gz -o tile38-1.25.5-freebsd-amd64.tar.gz
    tar xzvf tile38-1.25.5-freebsd-amd64.tar.gz
    cd tile38-1.25.5-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.25.5-darwin-amd64.zip(17.02 MB)
    tile38-1.25.5-freebsd-amd64.zip(17.08 MB)
    tile38-1.25.5-linux-amd64.tar.gz(17.31 MB)
    tile38-1.25.5-linux-arm.tar.gz(15.92 MB)
    tile38-1.25.5-linux-arm64.tar.gz(15.91 MB)
    tile38-1.25.5-windows-amd64.zip(17.16 MB)
  • 1.25.4(Sep 14, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    [1.25.4]

    Added

    • a737a78: Add unix socket support

    Updated

    • 8829b8f: Change hooks collection type from hashmap to btree
    • 83094b2: Update hook expiration logic
    • c686b87: Return hook ttl with HOOKS request
    • 06a92d8: Increase the precision of TIMEOUT
    • Upgrade to Go 1.17.1

    [1.25.3]

    Fixed

    • #621: Fixed a memory leak (@Morgiflute)

    Updated

    • Update B-tree library
    • Upgrade to Go 1.17

    [1.25.2]

    Fixed

    • #620: Fixed kafka authentication methods

    Updated

    • Upgraded various dependencies

    [1.25.1]

    Fixed

    • #618: Fixed NEARBY with SPARSE returning too many results. (@nesjett)

    [1.25.0]

    Added

    • #504: Added TLS support for Nats webhook provider.
    • #552: Added CLIPBY subcommand to INTERSECTS/WITHIN. (@rshura)
    • #561: Added geofence webhook for GCP Pubsub. (@mscno)
    • #615: Added SASL to Kafka provider. (@mathieux51, @iwpnd)

    Updated

    • #551: Optimize field value access. (@mpoindexter)
    • #554: Improved kNN using geodesic algorithm for NEARBY command. (@mpoindexter)

    Fixed

    • #611: Close follower files before finishing aofshrink. (@mzbrau)
    • #613: Fixed Memory Leak in Kafka Producer. (@iwpnd)
    • #616: Fixed expiration logic issue. (@Neuintown)

    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.25.4/tile38-1.25.4-darwin-amd64.zip -o tile38-1.25.4-darwin-amd64.zip
    unzip tile38-1.25.4-darwin-amd64.zip
    cd tile38-1.25.4-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.25.4/tile38-1.25.4-linux-amd64.tar.gz -o tile38-1.25.4-linux-amd64.tar.gz
    tar xzvf tile38-1.25.4-linux-amd64.tar.gz
    cd tile38-1.25.4-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.25.4/tile38-1.25.4-freebsd-amd64.tar.gz -o tile38-1.25.4-freebsd-amd64.tar.gz
    tar xzvf tile38-1.25.4-freebsd-amd64.tar.gz
    cd tile38-1.25.4-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.25.4-darwin-amd64.zip(17.02 MB)
    tile38-1.25.4-freebsd-amd64.zip(17.08 MB)
    tile38-1.25.4-linux-amd64.tar.gz(17.32 MB)
    tile38-1.25.4-linux-arm.tar.gz(15.92 MB)
    tile38-1.25.4-linux-arm64.tar.gz(15.91 MB)
    tile38-1.25.4-windows-amd64.zip(17.16 MB)
  • 1.25.3(Aug 23, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.25.3]

    Fixed

    • #621: Fixed a memory leak (@Morgiflute)

    Updated

    • Update B-tree library
    • Upgrade to Go 1.17

    Change Log [1.25.2]

    Fixed

    • #620: Fixed kafka authentication methods

    Updated

    • Upgraded various dependencies

    Change Log [1.25.1]

    Fixed

    • #618: Fixed NEARBY with SPARSE returning too many results. (@nesjett)

    Change Log [1.25.0]

    Added

    • #504: Added TLS support for Nats webhook provider.
    • #552: Added CLIPBY subcommand to INTERSECTS/WITHIN. (@rshura)
    • #561: Added geofence webhook for GCP Pubsub. (@mscno)
    • #615: Added SASL to Kafka provider. (@mathieux51, @iwpnd)

    Updated

    • #551: Optimize field value access. (@mpoindexter)
    • #554: Improved kNN using geodesic algorithm for NEARBY command. (@mpoindexter)

    Fixed

    • #611: Close follower files before finishing aofshrink. (@mzbrau)
    • #613: Fixed Memory Leak in Kafka Producer. (@iwpnd)
    • #616: Fixed expiration logic issue. (@Neuintown)

    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.25.3/tile38-1.25.3-darwin-amd64.zip -o tile38-1.25.3-darwin-amd64.zip
    unzip tile38-1.25.3-darwin-amd64.zip
    cd tile38-1.25.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.25.3/tile38-1.25.3-linux-amd64.tar.gz -o tile38-1.25.3-linux-amd64.tar.gz
    tar xzvf tile38-1.25.3-linux-amd64.tar.gz
    cd tile38-1.25.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.25.3/tile38-1.25.3-freebsd-amd64.tar.gz -o tile38-1.25.3-freebsd-amd64.tar.gz
    tar xzvf tile38-1.25.3-freebsd-amd64.tar.gz
    cd tile38-1.25.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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.25.3-darwin-amd64.zip(17.02 MB)
    tile38-1.25.3-freebsd-amd64.zip(17.08 MB)
    tile38-1.25.3-linux-amd64.tar.gz(17.32 MB)
    tile38-1.25.3-linux-arm.tar.gz(15.92 MB)
    tile38-1.25.3-linux-arm64.tar.gz(15.90 MB)
    tile38-1.25.3-windows-amd64.zip(17.16 MB)
  • 1.25.2(Aug 11, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.25.2]

    Fixed

    • #620: Fixed kafka authentication methods

    Updated

    • Upgraded various dependencies

    Change Log [1.25.1]

    Fixed

    • #618: Fixed NEARBY with SPARSE returning too many results. (@nesjett)

    Change Log [1.25.0]

    Added

    • #504: Added TLS support for Nats webhook provider.
    • #552: Added CLIPBY subcommand to INTERSECTS/WITHIN. (@rshura)
    • #561: Added geofence webhook for GCP Pubsub. (@mscno)
    • #615: Added SASL to Kafka provider. (@mathieux51, @iwpnd)

    Updated

    • #551: Optimize field value access. (@mpoindexter)
    • #554: Improved kNN using geodesic algorithm for NEARBY command. (@mpoindexter)

    Fixed

    • #611: Close follower files before finishing aofshrink. (@mzbrau)
    • #613: Fixed Memory Leak in Kafka Producer. (@iwpnd)
    • #616: Fixed expiration logic issue. (@Neuintown)

    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.25.2/tile38-1.25.2-darwin-amd64.zip -o tile38-1.25.2-darwin-amd64.zip
    unzip tile38-1.25.2-darwin-amd64.zip
    cd tile38-1.25.2-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.25.2/tile38-1.25.2-linux-amd64.tar.gz -o tile38-1.25.2-linux-amd64.tar.gz
    tar xzvf tile38-1.25.2-linux-amd64.tar.gz
    cd tile38-1.25.2-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.25.2/tile38-1.25.2-freebsd-amd64.tar.gz -o tile38-1.25.2-freebsd-amd64.tar.gz
    tar xzvf tile38-1.25.2-freebsd-amd64.tar.gz
    cd tile38-1.25.2-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.25.2-darwin-amd64.zip(17.11 MB)
    tile38-1.25.2-freebsd-amd64.zip(17.37 MB)
    tile38-1.25.2-linux-amd64.tar.gz(17.38 MB)
    tile38-1.25.2-linux-arm.tar.gz(16.23 MB)
    tile38-1.25.2-linux-arm64.tar.gz(16.23 MB)
    tile38-1.25.2-windows-amd64.zip(17.25 MB)
  • 1.25.1(Jul 22, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.25.1]

    Fixed

    • #618: Fixed NEARBY with SPARSE returning too many results. (@nesjett)

    Change Log [1.25.0]

    Added

    • #504: Added TLS support for Nats webhook provider.
    • #552: Added CLIPBY subcommand to INTERSECTS/WITHIN. (@rshura)
    • #561: Added geofence webhook for GCP Pubsub. (@mscno)
    • #615: Added SASL to Kafka provider. (@mathieux51, @iwpnd)

    Updated

    • #551: Optimize field value access. (@mpoindexter)
    • #554: Improved kNN using geodesic algorithm for NEARBY command. (@mpoindexter)

    Fixed

    • #611: Close follower files before finishing aofshrink. (@mzbrau)
    • #613: Fixed Memory Leak in Kafka Producer. (@iwpnd)
    • #616: Fixed expiration logic issue. (@Neuintown)

    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.25.1/tile38-1.25.1-darwin-amd64.zip -o tile38-1.25.1-darwin-amd64.zip
    unzip tile38-1.25.1-darwin-amd64.zip
    cd tile38-1.25.1-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.25.1/tile38-1.25.1-linux-amd64.tar.gz -o tile38-1.25.1-linux-amd64.tar.gz
    tar xzvf tile38-1.25.1-linux-amd64.tar.gz
    cd tile38-1.25.1-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.25.1/tile38-1.25.1-freebsd-amd64.tar.gz -o tile38-1.25.1-freebsd-amd64.tar.gz
    tar xzvf tile38-1.25.1-freebsd-amd64.tar.gz
    cd tile38-1.25.1-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.25.1-darwin-amd64.zip(17.01 MB)
    tile38-1.25.1-freebsd-amd64.zip(17.28 MB)
    tile38-1.25.1-linux-amd64.tar.gz(17.28 MB)
    tile38-1.25.1-linux-arm.tar.gz(16.14 MB)
    tile38-1.25.1-linux-arm64.tar.gz(16.13 MB)
    tile38-1.25.1-windows-amd64.zip(17.16 MB)
  • 1.25.0(Jul 12, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.25]

    Added

    • #504: Added TLS support for Nats webhook provider.
    • #552: Added CLIPBY subcommand to INTERSECTS/WITHIN. (@rshura)
    • #561: Added geofence webhook for GCP Pubsub. (@mscno)
    • #615: Added SASL to Kafka provider. (@mathieux51, @iwpnd)

    Updated

    • #551: Optimize field value access. (@mpoindexter)
    • #554: Improved kNN using geodesic algorithm for NEARBY command. (@mpoindexter)

    Fixed

    • #611: Close follower files before finishing aofshrink. (@mzbrau)
    • #613: Fixed Memory Leak in Kafka Producer. (@iwpnd)
    • #616: Fixed expiration logic issue. (@Neuintown)

    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.25.0/tile38-1.25.0-darwin-amd64.zip -o tile38-1.25.0-darwin-amd64.zip
    unzip tile38-1.25.0-darwin-amd64.zip
    cd tile38-1.25.0-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.25.0/tile38-1.25.0-linux-amd64.tar.gz -o tile38-1.25.0-linux-amd64.tar.gz
    tar xzvf tile38-1.25.0-linux-amd64.tar.gz
    cd tile38-1.25.0-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.25.0/tile38-1.25.0-freebsd-amd64.tar.gz -o tile38-1.25.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.25.0-freebsd-amd64.tar.gz
    cd tile38-1.25.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.25.0-darwin-amd64.zip(17.01 MB)
    tile38-1.25.0-freebsd-amd64.zip(17.28 MB)
    tile38-1.25.0-linux-amd64.tar.gz(17.28 MB)
    tile38-1.25.0-linux-arm.tar.gz(16.13 MB)
    tile38-1.25.0-linux-arm64.tar.gz(16.14 MB)
    tile38-1.25.0-windows-amd64.zip(17.15 MB)
  • 1.24.3(Jun 9, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.24]

    Updated

    • b610633 Update Go to 1.16

    Added

    • #604 Added Prometheus metrics (@oliver006)
    • #609 Added HEALTHZ command (@iwpnd, @stevelacy)

    Fixed

    • #605 Remove deprecated threads flag (@cep-ter)

    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.24.3/tile38-1.24.3-darwin-amd64.zip -o tile38-1.24.3-darwin-amd64.zip
    unzip tile38-1.24.3-darwin-amd64.zip
    cd tile38-1.24.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.24.3/tile38-1.24.3-linux-amd64.tar.gz -o tile38-1.24.3-linux-amd64.tar.gz
    tar xzvf tile38-1.24.3-linux-amd64.tar.gz
    cd tile38-1.24.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.24.3/tile38-1.24.3-freebsd-amd64.tar.gz -o tile38-1.24.3-freebsd-amd64.tar.gz
    tar xzvf tile38-1.24.3-freebsd-amd64.tar.gz
    cd tile38-1.24.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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.24.3-darwin-amd64.zip(15.94 MB)
    tile38-1.24.3-freebsd-amd64.zip(16.20 MB)
    tile38-1.24.3-linux-amd64.tar.gz(16.20 MB)
    tile38-1.24.3-linux-arm.tar.gz(15.12 MB)
    tile38-1.24.3-linux-arm64.tar.gz(15.13 MB)
    tile38-1.24.3-windows-amd64.zip(16.06 MB)
  • 1.24.2(Jun 7, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.24]

    Updated

    • b610633 Update Go to 1.16

    Added

    • #604 Added Prometheus metrics (@oliver006)
    • #609 Added HEALTHZ command (@iwpnd, @stevelacy)

    Fixed

    • #605 Remove deprecated threads flag (@cep-ter)

    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.24.2/tile38-1.24.2-darwin-amd64.zip -o tile38-1.24.2-darwin-amd64.zip
    unzip tile38-1.24.2-darwin-amd64.zip
    cd tile38-1.24.2-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.24.2/tile38-1.24.2-linux-amd64.tar.gz -o tile38-1.24.2-linux-amd64.tar.gz
    tar xzvf tile38-1.24.2-linux-amd64.tar.gz
    cd tile38-1.24.2-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.24.2/tile38-1.24.2-freebsd-amd64.tar.gz -o tile38-1.24.2-freebsd-amd64.tar.gz
    tar xzvf tile38-1.24.2-freebsd-amd64.tar.gz
    cd tile38-1.24.2-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.24.2-darwin-amd64.zip(15.94 MB)
    tile38-1.24.2-freebsd-amd64.zip(16.20 MB)
    tile38-1.24.2-linux-amd64.tar.gz(16.20 MB)
    tile38-1.24.2-linux-arm.tar.gz(15.12 MB)
    tile38-1.24.2-linux-arm64.tar.gz(15.13 MB)
    tile38-1.24.2-windows-amd64.zip(16.06 MB)
  • 1.24.0(May 20, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.24]

    Added

    • #604 Added Prometheus metrics (@oliver006)

    Fixed

    • #605 Remove deprecated threads flag (@cep-ter)

    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.24.0/tile38-1.24.0-darwin-amd64.zip -o tile38-1.24.0-darwin-amd64.zip
    unzip tile38-1.24.0-darwin-amd64.zip
    cd tile38-1.24.0-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.24.0/tile38-1.24.0-linux-amd64.tar.gz -o tile38-1.24.0-linux-amd64.tar.gz
    tar xzvf tile38-1.24.0-linux-amd64.tar.gz
    cd tile38-1.24.0-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.24.0/tile38-1.24.0-freebsd-amd64.tar.gz -o tile38-1.24.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.24.0-freebsd-amd64.tar.gz
    cd tile38-1.24.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.24.0-darwin-amd64.zip(15.93 MB)
    tile38-1.24.0-freebsd-amd64.zip(16.19 MB)
    tile38-1.24.0-linux-amd64.tar.gz(16.20 MB)
    tile38-1.24.0-linux-arm.tar.gz(15.12 MB)
    tile38-1.24.0-linux-arm64.tar.gz(15.13 MB)
    tile38-1.24.0-windows-amd64.zip(16.06 MB)
  • 1.23.0(Apr 1, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.23]

    Updated

    • #598: Added TLS Config to Kafka (@iwpnd)
    • #599: Include "distance" to output when user specifically requests (@iwpnd)
    • #597: Allow for all command types for roaming event (@johnpmayer)
    • 31a0fbd: Upgraded dependencies and moved to Go 1.16

    Fixed

    • #600: Fix invalid queue.db error (@lokisisland)
    • #603: Fix tile38-cli output showing protocol size when piping (@bb)

    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.23.0/tile38-1.23.0-darwin-amd64.zip -o tile38-1.23.0-darwin-amd64.zip
    unzip tile38-1.23.0-darwin-amd64.zip
    cd tile38-1.23.0-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.23.0/tile38-1.23.0-linux-amd64.tar.gz -o tile38-1.23.0-linux-amd64.tar.gz
    tar xzvf tile38-1.23.0-linux-amd64.tar.gz
    cd tile38-1.23.0-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.23.0/tile38-1.23.0-freebsd-amd64.tar.gz -o tile38-1.23.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.23.0-freebsd-amd64.tar.gz
    cd tile38-1.23.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.23.0-darwin-amd64.zip(15.61 MB)
    tile38-1.23.0-freebsd-amd64.zip(15.88 MB)
    tile38-1.23.0-linux-amd64.tar.gz(15.87 MB)
    tile38-1.23.0-linux-arm.tar.gz(14.81 MB)
    tile38-1.23.0-linux-arm64.tar.gz(14.82 MB)
    tile38-1.23.0-windows-amd64.zip(15.73 MB)
  • 1.22.6(Feb 8, 2021)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.22]

    Added

    • #571 Added MONITOR command (@tomquas)

    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)
    • 1a7d8d6: Added ENV var for 500 http errors

    Fixed

    • #230: Fixed 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)
    • 9ce2033: Fixed fields being shuffled after AOFSHRINK
    • 6092f73: Better handle connection errors in tile38-cli
    • 72dfaae: Updated various dependencies
    • 016f397: Updated btree library, optimization
    • 4f8bc05: Updated rtree library, optimization

    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.6/tile38-1.22.6-darwin-amd64.zip -o tile38-1.22.6-darwin-amd64.zip
    unzip tile38-1.22.6-darwin-amd64.zip
    cd tile38-1.22.6-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.6/tile38-1.22.6-linux-amd64.tar.gz -o tile38-1.22.6-linux-amd64.tar.gz
    tar xzvf tile38-1.22.6-linux-amd64.tar.gz
    cd tile38-1.22.6-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.6/tile38-1.22.6-freebsd-amd64.tar.gz -o tile38-1.22.6-freebsd-amd64.tar.gz
    tar xzvf tile38-1.22.6-freebsd-amd64.tar.gz
    cd tile38-1.22.6-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.22.6-darwin-amd64.zip(16.18 MB)
    tile38-1.22.6-freebsd-amd64.zip(16.42 MB)
    tile38-1.22.6-linux-amd64.tar.gz(16.43 MB)
    tile38-1.22.6-linux-arm.tar.gz(15.19 MB)
    tile38-1.22.6-linux-arm64.tar.gz(15.32 MB)
    tile38-1.22.6-windows-amd64.zip(16.14 MB)
  • 1.22.5(Nov 9, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.22]

    Added

    • #571 Added MONITOR command (@tomquas)

    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)
    • 1a7d8d6: Added ENV var for 500 http errors

    Fixed

    • #230: Fixed 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)
    • 9ce2033: Fixed fields being shuffled after AOFSHRINK

    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.5/tile38-1.22.5-darwin-amd64.zip -o tile38-1.22.5-darwin-amd64.zip
    unzip tile38-1.22.5-darwin-amd64.zip
    cd tile38-1.22.5-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.5/tile38-1.22.5-linux-amd64.tar.gz -o tile38-1.22.5-linux-amd64.tar.gz
    tar xzvf tile38-1.22.5-linux-amd64.tar.gz
    cd tile38-1.22.5-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.5/tile38-1.22.5-freebsd-amd64.tar.gz -o tile38-1.22.5-freebsd-amd64.tar.gz
    tar xzvf tile38-1.22.5-freebsd-amd64.tar.gz
    cd tile38-1.22.5-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.22.5-darwin-amd64.zip(15.94 MB)
    tile38-1.22.5-freebsd-amd64.zip(16.17 MB)
    tile38-1.22.5-linux-amd64.tar.gz(16.16 MB)
    tile38-1.22.5-linux-arm.tar.gz(14.92 MB)
    tile38-1.22.5-linux-arm64.tar.gz(15.07 MB)
    tile38-1.22.5-windows-amd64.zip(15.88 MB)
  • 1.22.4(Nov 7, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log [1.22]

    Added

    • #571 Added MONITOR command (@tomquas)

    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)
    • 1a7d8d6: Added ENV var for 500 http errors

    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.4/tile38-1.22.4-darwin-amd64.zip -o tile38-1.22.4-darwin-amd64.zip
    unzip tile38-1.22.4-darwin-amd64.zip
    cd tile38-1.22.4-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.4/tile38-1.22.4-linux-amd64.tar.gz -o tile38-1.22.4-linux-amd64.tar.gz
    tar xzvf tile38-1.22.4-linux-amd64.tar.gz
    cd tile38-1.22.4-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.4/tile38-1.22.4-freebsd-amd64.tar.gz -o tile38-1.22.4-freebsd-amd64.tar.gz
    tar xzvf tile38-1.22.4-freebsd-amd64.tar.gz
    cd tile38-1.22.4-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.22.4-darwin-amd64.zip(15.94 MB)
    tile38-1.22.4-freebsd-amd64.zip(16.17 MB)
    tile38-1.22.4-linux-amd64.tar.gz(16.16 MB)
    tile38-1.22.4-linux-arm.tar.gz(14.92 MB)
    tile38-1.22.4-linux-arm64.tar.gz(15.07 MB)
    tile38-1.22.4-windows-amd64.zip(15.88 MB)
  • 1.22.3(Oct 28, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    Added

    • #571 Added MONITOR command (@tomquas)

    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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.22.3-darwin-amd64.zip(15.94 MB)
    tile38-1.22.3-freebsd-amd64.zip(16.16 MB)
    tile38-1.22.3-linux-amd64.tar.gz(16.16 MB)
    tile38-1.22.3-linux-arm.tar.gz(14.92 MB)
    tile38-1.22.3-linux-arm64.tar.gz(15.06 MB)
    tile38-1.22.3-windows-amd64.zip(15.87 MB)
  • 1.22.2(Oct 7, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    Added

    • #571 Added MONITOR command (@tomquas)

    Updated

    • 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.2/tile38-1.22.2-darwin-amd64.zip -o tile38-1.22.2-darwin-amd64.zip
    unzip tile38-1.22.2-darwin-amd64.zip
    cd tile38-1.22.2-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.2/tile38-1.22.2-linux-amd64.tar.gz -o tile38-1.22.2-linux-amd64.tar.gz
    tar xzvf tile38-1.22.2-linux-amd64.tar.gz
    cd tile38-1.22.2-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.2/tile38-1.22.2-freebsd-amd64.tar.gz -o tile38-1.22.2-freebsd-amd64.tar.gz
    tar xzvf tile38-1.22.2-freebsd-amd64.tar.gz
    cd tile38-1.22.2-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.22.2-darwin-amd64.zip(15.95 MB)
    tile38-1.22.2-freebsd-amd64.zip(16.19 MB)
    tile38-1.22.2-linux-amd64.tar.gz(16.17 MB)
    tile38-1.22.2-linux-arm.tar.gz(14.93 MB)
    tile38-1.22.2-linux-arm64.tar.gz(15.07 MB)
    tile38-1.22.2-windows-amd64.zip(15.89 MB)
  • 1.22.1(Sep 22, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    [1.22.1] = 2020-09-22

    Added

    • #571 Added MONITOR command (@tomquas)

    Updated

    • 9a34a37: Updated Go version to 1.15
    • b1dc463: Updated outdated dependencies (40 in total)

    Fixed

    • #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.0/tile38-1.22.0-darwin-amd64.zip -o tile38-1.22.0-darwin-amd64.zip
    unzip tile38-1.22.0-darwin-amd64.zip
    cd tile38-1.22.0-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.0/tile38-1.22.0-linux-amd64.tar.gz -o tile38-1.22.0-linux-amd64.tar.gz
    tar xzvf tile38-1.22.0-linux-amd64.tar.gz
    cd tile38-1.22.0-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.0/tile38-1.22.0-freebsd-amd64.tar.gz -o tile38-1.22.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.22.0-freebsd-amd64.tar.gz
    cd tile38-1.22.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.22.1-darwin-amd64.zip(15.95 MB)
    tile38-1.22.1-freebsd-amd64.zip(16.18 MB)
    tile38-1.22.1-linux-amd64.tar.gz(16.17 MB)
    tile38-1.22.1-linux-arm.tar.gz(14.93 MB)
    tile38-1.22.1-linux-arm64.tar.gz(15.07 MB)
    tile38-1.22.1-windows-amd64.zip(15.89 MB)
  • 1.22.0(Aug 12, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    [1.22.0] = 2020-08-12

    Added

    • #571 Added MONITOR command (@tomquas)

    Fixed

    • #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.0/tile38-1.22.0-darwin-amd64.zip -o tile38-1.22.0-darwin-amd64.zip
    unzip tile38-1.22.0-darwin-amd64.zip
    cd tile38-1.22.0-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.0/tile38-1.22.0-linux-amd64.tar.gz -o tile38-1.22.0-linux-amd64.tar.gz
    tar xzvf tile38-1.22.0-linux-amd64.tar.gz
    cd tile38-1.22.0-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.0/tile38-1.22.0-freebsd-amd64.tar.gz -o tile38-1.22.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.22.0-freebsd-amd64.tar.gz
    cd tile38-1.22.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.22.0-darwin-amd64.zip(15.26 MB)
    tile38-1.22.0-freebsd-amd64.zip(15.49 MB)
    tile38-1.22.0-linux-amd64.tar.gz(15.48 MB)
    tile38-1.22.0-linux-arm.tar.gz(14.35 MB)
    tile38-1.22.0-linux-arm64.tar.gz(14.49 MB)
    tile38-1.22.0-windows-amd64.zip(15.18 MB)
  • 1.21.1(Jun 4, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    Updated

    • #534: Avoid sorting fields for each written object. (@rshura)
    • #544: Match geometry indexing to server config
    • b3dc025: Optimize point in ring
    • 3718cd7: Added priority option for AMQP endpoints

    Fixed

    • #564: Fix OUTPUT client command requiring authentication. (@LeonardoBonacci)
    • #538: DEL geofence notifications are missing the "key" field
    • #539: Fixed issue with some features not working with WITHIN (@rshura)
    • #540: Fix a concurrent write/read on the server conn map (@mpoindexter)
    • #543: Fix clipping empty rings (@rshura)
    • #558: Fixed clip test (@mmcloughlin)
    • #562: Crashes under go1.14 runtime
    • ff48054: Fixed a missing faraway event for roaming geofences
    • 5162ac5: Stable sort roam notifications

    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.21.1/tile38-1.21.1-darwin-amd64.zip -o tile38-1.21.1-darwin-amd64.zip
    unzip tile38-1.21.1-darwin-amd64.zip
    cd tile38-1.21.1-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.21.1/tile38-1.21.1-linux-amd64.tar.gz -o tile38-1.21.1-linux-amd64.tar.gz
    tar xzvf tile38-1.21.1-linux-amd64.tar.gz
    cd tile38-1.21.1-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.21.1/tile38-1.21.1-freebsd-amd64.tar.gz -o tile38-1.21.1-freebsd-amd64.tar.gz
    tar xzvf tile38-1.21.1-freebsd-amd64.tar.gz
    cd tile38-1.21.1-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.21.1-darwin-amd64.zip(14.22 MB)
    tile38-1.21.1-freebsd-amd64.zip(14.43 MB)
    tile38-1.21.1-linux-amd64.tar.gz(14.41 MB)
    tile38-1.21.1-linux-arm.tar.gz(13.33 MB)
    tile38-1.21.1-linux-arm64.tar.gz(13.49 MB)
    tile38-1.21.1-windows-amd64.zip(14.03 MB)
  • 1.20.0(May 20, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    Updated

    • #534: Avoid sorting fields for each written object. (@rshura)
    • #544: Match geometry indexing to server config
    • b3dc025: Optimize point in ring
    • 3718cd7: Added priority option for AMQP endpoints

    Fixed

    • #538: DEL geofence notifications are missing the "key" field
    • #539: Fixed issue with some features not working with WITHIN (@rshura)
    • #540: Fix a concurrent write/read on the server conn map (@mpoindexter)
    • #543: Fix clipping empty rings (@rshura)
    • #558: Fixed clip test (@mmcloughlin)
    • #562: Crashes under go1.14 runtime
    • ff48054: Fixed a missing faraway event for roaming geofences
    • 5162ac5: Stable sort roam notifications

    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.20.0/tile38-1.20.0-darwin-amd64.zip -o tile38-1.20.0-darwin-amd64.zip
    unzip tile38-1.20.0-darwin-amd64.zip
    cd tile38-1.20.0-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.20.0/tile38-1.20.0-linux-amd64.tar.gz -o tile38-1.20.0-linux-amd64.tar.gz
    tar xzvf tile38-1.20.0-linux-amd64.tar.gz
    cd tile38-1.20.0-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.20.0/tile38-1.20.0-freebsd-amd64.tar.gz -o tile38-1.20.0-freebsd-amd64.tar.gz
    tar xzvf tile38-1.20.0-freebsd-amd64.tar.gz
    cd tile38-1.20.0-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.20.0-darwin-amd64.zip(14.22 MB)
    tile38-1.20.0-freebsd-amd64.zip(14.43 MB)
    tile38-1.20.0-linux-amd64.tar.gz(14.41 MB)
    tile38-1.20.0-linux-arm.tar.gz(13.33 MB)
    tile38-1.20.0-linux-arm64.tar.gz(13.49 MB)
    tile38-1.20.0-windows-amd64.zip(14.03 MB)
  • 1.19.5(Feb 11, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    Added

    • #464: Add area expressions TEST command. (@rshura)

    Fixed

    • #493: Fix invalid JSON when JSET strings that look like numbers. (@spierepf, @JordanArmstrong)
    • #499: Fix invalid PubSub format when output is set to JSON. (@dmvass)
    • #500: Fix Tile38-cli not propertly handling quotes. (@vthorsell)
    • #502: Fix excessive memory usage for objects with TTLs. commit 23b016d. (@FreakyBytes)
    • #503: Fix fprintf type error in stats_cpu.go for non-linux/darwin builds. (@JordanArmstrong)
    • 9d27533: Fix infinite loop on tile38-cli connection failure.
    • #509: Fixed panic on AOFSHRINK. (@jordanferenz)
    • 6f3716a: Fix false negative for intersecting rings (@thomascoquet)
    • #513: Fix tile38-cli from freezing with non-quoted geojson (@duartejc)
    • #529: Fix linestring features behave diffrent with CIRCLE (@spierepf)
    • c567512: Fix packages not vendoring on build

    Changed

    • #505: Update Travi-ci to use Go 1.13.x
    • cfc65a1: Refactored repo, moved to Go modules, updated vendor dependencies.

    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.19.5/tile38-1.19.5-darwin-amd64.zip -o tile38-1.19.5-darwin-amd64.zip
    unzip tile38-1.19.5-darwin-amd64.zip
    cd tile38-1.19.5-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.19.5/tile38-1.19.5-linux-amd64.tar.gz -o tile38-1.19.5-linux-amd64.tar.gz
    tar xzvf tile38-1.19.5-linux-amd64.tar.gz
    cd tile38-1.19.5-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.19.5/tile38-1.19.5-freebsd-amd64.tar.gz -o tile38-1.19.5-freebsd-amd64.tar.gz
    tar xzvf tile38-1.19.5-freebsd-amd64.tar.gz
    cd tile38-1.19.5-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.19.5-darwin-amd64.zip(14.08 MB)
    tile38-1.19.5-freebsd-amd64.zip(14.30 MB)
    tile38-1.19.5-linux-amd64.tar.gz(14.26 MB)
    tile38-1.19.5-linux-arm.tar.gz(13.15 MB)
    tile38-1.19.5-linux-arm64.tar.gz(13.31 MB)
    tile38-1.19.5-windows-amd64.zip(13.92 MB)
  • 1.19.4(Feb 10, 2020)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    Added

    • #464: Add area expressions TEST command. (@rshura)

    Fixed

    • #493: Fix invalid JSON when JSET strings that look like numbers. (@spierepf, @JordanArmstrong)
    • #499: Fix invalid PubSub format when output is set to JSON. (@dmvass)
    • #500: Fix Tile38-cli not propertly handling quotes. (@vthorsell)
    • #502: Fix excessive memory usage for objects with TTLs. commit 23b016d. (@FreakyBytes)
    • #503: Fix fprintf type error in stats_cpu.go for non-linux/darwin builds. (@JordanArmstrong)
    • 9d27533: Fix infinite loop on tile38-cli connection failure.
    • #509: Fixed panic on AOFSHRINK. (@jordanferenz)
    • 6f3716a: Fix false negative for intersecting rings (@thomascoquet)
    • #513: Fix tile38-cli from freezing with non-quoted geojson (@duartejc)
    • #529: Fix linestring features behave diffrent with CIRCLE (@spierepf)

    Changed

    • #505: Update Travi-ci to use Go 1.13.x
    • cfc65a1: Refactored repo, moved to Go modules, updated vendor dependencies.

    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.19.4/tile38-1.19.4-darwin-amd64.zip -o tile38-1.19.4-darwin-amd64.zip
    unzip tile38-1.19.4-darwin-amd64.zip
    cd tile38-1.19.4-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.19.4/tile38-1.19.4-linux-amd64.tar.gz -o tile38-1.19.4-linux-amd64.tar.gz
    tar xzvf tile38-1.19.4-linux-amd64.tar.gz
    cd tile38-1.19.4-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.19.4/tile38-1.19.4-freebsd-amd64.tar.gz -o tile38-1.19.4-freebsd-amd64.tar.gz
    tar xzvf tile38-1.19.4-freebsd-amd64.tar.gz
    cd tile38-1.19.4-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.19.4-darwin-amd64.zip(14.08 MB)
    tile38-1.19.4-freebsd-amd64.zip(14.30 MB)
    tile38-1.19.4-linux-amd64.tar.gz(14.26 MB)
    tile38-1.19.4-linux-arm.tar.gz(13.15 MB)
    tile38-1.19.4-linux-arm64.tar.gz(13.31 MB)
    tile38-1.19.4-windows-amd64.zip(13.92 MB)
  • 1.19.3(Dec 11, 2019)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    Added

    • #464: Add area expressions TEST command. (@rshura)

    Fixed

    • #493: Fix invalid JSON when JSET strings that look like numbers. (@spierepf, @JordanArmstrong)
    • #499: Fix invalid PubSub format when output is set to JSON. (@dmvass)
    • #500: Fix Tile38-cli not propertly handling quotes. (@vthorsell)
    • #502: Fix excessive memory usage for objects with TTLs. commit 23b016d. (@FreakyBytes)
    • #503: Fix fprintf type error in stats_cpu.go for non-linux/darwin builds. (@JordanArmstrong)
    • 9d27533: Fix infinite loop on tile38-cli connection failure.
    • #509: Fixed panic on AOFSHRINK. (@jordanferenz)
    • 6f3716a: Fix false negative for intersecting rings (@thomascoquet)
    • #513: Fix tile38-cli from freezing with non-quoted geojson (@duartejc)

    Changed

    • #505: Update Travi-ci to use Go 1.13.x
    • cfc65a1: Refactored repo, moved to Go modules, updated vendor dependencies.

    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.19.3/tile38-1.19.3-darwin-amd64.zip -o tile38-1.19.3-darwin-amd64.zip
    unzip tile38-1.19.3-darwin-amd64.zip
    cd tile38-1.19.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.19.3/tile38-1.19.3-linux-amd64.tar.gz -o tile38-1.19.3-linux-amd64.tar.gz
    tar xzvf tile38-1.19.3-linux-amd64.tar.gz
    cd tile38-1.19.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.19.3/tile38-1.19.3-freebsd-amd64.tar.gz -o tile38-1.19.3-freebsd-amd64.tar.gz
    tar xzvf tile38-1.19.3-freebsd-amd64.tar.gz
    cd tile38-1.19.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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.19.3-darwin-amd64.zip(14.08 MB)
    tile38-1.19.3-freebsd-amd64.zip(14.30 MB)
    tile38-1.19.3-linux-amd64.tar.gz(14.26 MB)
    tile38-1.19.3-linux-arm.tar.gz(13.15 MB)
    tile38-1.19.3-linux-arm64.tar.gz(13.31 MB)
    tile38-1.19.3-windows-amd64.zip(13.92 MB)
  • 1.19.2(Nov 28, 2019)

    Tile38

    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.

    Nearby Within Intersects Geofencing Roaming Geofences

    Change Log

    Added

    • #464: Add area expressions TEST command. (@rshura)

    Fixed

    • #493: Fix invalid JSON when JSET strings that look like numbers. (@spierepf, @JordanArmstrong)
    • #499: Fix invalid PubSub format when output is set to JSON. (@dmvass)
    • #500: Fix Tile38-cli not propertly handling quotes. (@vthorsell)
    • #502: Fix excessive memory usage for objects with TTLs. commit 23b016d. (@FreakyBytes)
    • #503: Fix fprintf type error in stats_cpu.go for non-linux/darwin builds. (@JordanArmstrong)
    • 9d27533: Fix infinite loop on tile38-cli connection failure.
    • #509: Fixed panic on AOFSHRINK. (@jordanferenz)
    • 6f3716a: Fix false negative for intersecting rings (@thomascoquet)

    Changed

    • #505: Update Travi-ci to use Go 1.13.x
    • cfc65a1: Refactored repo, moved to Go modules, updated vendor dependencies.

    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.19.2/tile38-1.19.2-darwin-amd64.zip -o tile38-1.19.2-darwin-amd64.zip
    unzip tile38-1.19.2-darwin-amd64.zip
    cd tile38-1.19.2-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.19.2/tile38-1.19.2-linux-amd64.tar.gz -o tile38-1.19.2-linux-amd64.tar.gz
    tar xzvf tile38-1.19.2-linux-amd64.tar.gz
    cd tile38-1.19.2-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.19.2/tile38-1.19.2-freebsd-amd64.tar.gz -o tile38-1.19.2-freebsd-amd64.tar.gz
    tar xzvf tile38-1.19.2-freebsd-amd64.tar.gz
    cd tile38-1.19.2-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
    
    Source code(tar.gz)
    Source code(zip)
    tile38-1.19.2-darwin-amd64.zip(14.08 MB)
    tile38-1.19.2-freebsd-amd64.zip(14.30 MB)
    tile38-1.19.2-linux-amd64.tar.gz(14.25 MB)
    tile38-1.19.2-linux-arm.tar.gz(13.15 MB)
    tile38-1.19.2-linux-arm64.tar.gz(13.31 MB)
    tile38-1.19.2-windows-amd64.zip(13.92 MB)
Go bindings for audio capture and playback with ALSA and libasound

Go ALSA bindings These bindings allow capture and playback of audio via ALSA using the alsa-lib library. Installation go get github.com/cocoonlife/goa

null 35 Mar 21, 2022
This is old and unmaintained code, ignore it. starfish is a simple, SDL based, 2D graphics and user input library for Go. If you intend to work on it, please fork from the 'devel' branch, not 'master'. Current release: 0.12.0

What is starfish? What starfish is: starfish is a simple 2D graphics and user input library for Go built on SDL. What starfish is not: While it is bui

Gary Talent 12 Jun 4, 2019
darkroom - An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.

Darkroom - Yet Another Image Proxy Introduction Darkroom combines the storage backend and the image processor and acts as an Image Proxy on your image

Gojek 192 Jun 6, 2022
Go package captcha implements generation and verification of image and audio CAPTCHAs.

Package captcha ⚠️ Warning: this captcha can be broken by advanced OCR captcha breaking algorithms. import "github.com/dchest/captcha" Package captch

Dmitry Chestnykh 1.6k Jun 28, 2022
Fast and secure standalone server for resizing and converting remote images

imgproxy imgproxy is a fast and secure standalone server for resizing and converting remote images. The main principles of imgproxy are simplicity, sp

imgproxy 6.3k Jun 27, 2022
Publish Your GIS Data(Vector Data) to PostGIS and Geoserver

GISManager Publish Your GIS Data(Vector Data) to PostGIS and Geoserver How to install: go get -v github.com/hishamkaram/gismanager Usage: testdata fol

Hisham waleed karam 45 Jun 16, 2022
General purpose library for reading, writing and working with OpenStreetMap data

osm This package is a general purpose library for reading, writing and working with OpenStreetMap data in Go (golang). It has the ability to read OSM

Paul Mach 213 Jun 23, 2022
Image processing library and rendering toolkit for Go.

blend Image processing library and rendering toolkit for Go. (WIP) Installation: This library is compatible with Go1. go get github.com/phrozen/blend

Guillermo Estrada 59 Dec 24, 2021
Struct for marshaling and unmarshaling glTF

glTF Struct for marshaling and unmarshaling glTF go get github.com/sturfeeinc/glTF/model It's autogenerated code from official work group's specs. Don

null 17 Apr 5, 2020
A lightning fast image processing and resizing library for Go

govips A lightning fast image processing and resizing library for Go This package wraps the core functionality of libvips image processing library by

David Byttow 697 Jun 28, 2022
Go bindings for libVLC and high-level media player interface

Go bindings for libVLC 2.X/3.X/4.X and high-level media player interface. The package can be useful for adding multimedia capabilities to applications

Adrian-George Bostan 306 Jun 16, 2022
Read and write Netpbm images from Go programs

netpbm Introduction netpbm is a package for the Go programming language that implements image decoders and encoders for the Netpbm image formats. The

Scott Pakin 15 Aug 31, 2021
A repository for plotting and visualizing data

Gonum Plot gonum/plot is the new, official fork of code.google.com/p/plotinum. It provides an API for building and drawing plots in Go. Note that this

null 2.2k Jul 2, 2022
A library to read, write, and transform Stereolithography (.stl) files in Go.

stl A library to read, write, and transform Stereolithography (.stl) files in Go. It is used in the command line STL manipulation tool stltool. Featur

Hagen Schendel 62 Jun 19, 2022
ID3, MP4 and OGG/FLAC metadata parsing in Go

MP3/MP4/OGG/FLAC metadata parsing library This package provides MP3 (ID3v1,2.{2,3,4}) and MP4 (ACC, M4A, ALAC), OGG and FLAC metadata detection, parsi

David Howden 387 Jun 23, 2022
Go package for decoding and encoding TARGA image format

tga tga is a Go package for decoding and encoding TARGA image format. It supports RLE and raw TARGA images with 8/15/16/24/32 bits per pixel, monochro

Sigrid Solveig Haflínudóttir 30 Mar 5, 2022
WebP decoder and encoder for Go (Zero Dependencies).

Go语言QQ群: 102319854, 1055927514 凹语言(凹读音“Wa”)(The Wa Programming Language): https://github.com/wa-lang/wa webp ██╗ ██╗███████╗██████╗ ██████╗ ██║

chai2010 344 Jun 23, 2022
Go package for computer vision using OpenCV 4 and beyond.

GoCV The GoCV package provides Go language bindings for the OpenCV 4 computer vision library. The GoCV package supports the latest releases of Go and

The Hybrid Group 4.9k Jun 26, 2022
Storage and image processing server written in Go

Mort An S3-compatible image processing server written in Go. Still in active development. Features HTTP server Resize, Rotate, SmartCrop Convert (JPEG

Marcin Kaciuba 458 Jun 9, 2022