Added .github directory

This commit is contained in:
tidwall 2019-11-17 09:00:45 -07:00
parent d4fc7358ac
commit fa4a1dd436
18 changed files with 42 additions and 16 deletions

26
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,26 @@
## How to contribute to Tile38
Before getting starting with contributing, please know that we currently use [Tile38 Slack](https://tile38.com/slack) channel for casual questions and user chat.
### Did you find a bug?
- **Do not open up a GitHub issue if the bug is a security vulnerability in Tile38**. Sensitive security-related issues should be reported to [security@tile38.com](mailto:security@tile38.com).
- **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/tidwall/tile38/issues).
- If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/tidwall/tile38/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
### Did you write a patch that fixes a bug?
- Open a new GitHub pull request with the patch.
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
### Did you fix whitespace, format code, or make a purely cosmetic patch?
Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability of Tile38 will generally not be accepted.
### Do you intend to add a new feature or change an existing one?
- Suggest your change in [a new issue](https://github.com/tidwall/tile38/issues/new) or in the [Tile38 Slack](https://tile38.com/slack), and start writing code.
- Do not open an issue on GitHub until you have collected positive feedback about the change. GitHub issues are primarily intended for bug reports and fixes.
Thanks!

View File

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

Before

Width:  |  Height:  |  Size: 985 KiB

After

Width:  |  Height:  |  Size: 985 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

View File

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 110 KiB

View File

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 252 KiB

View File

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 269 KiB

View File

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 196 KiB

View File

@ -1,6 +1,6 @@
<p align="center"> <p align="center">
<a href="https://tile38.com"><img <a href="https://tile38.com"><img
src="/internal/assets/logo.png" src="/.github/assets/logo.png"
width="284" height="108" border="0" alt="Tile38"></a> width="284" height="108" border="0" alt="Tile38"></a>
</p> </p>
<p align="center"> <p align="center">
@ -14,11 +14,11 @@ Tile38 is an open source (MIT licensed), in-memory geolocation data store, spati
<p align="center"> <p align="center">
<i>This README is quick start document. You can find detailed documentation at <a href="https://tile38.com">https://tile38.com</a>.</i><br><br> <i>This README is quick start document. You can find detailed documentation at <a href="https://tile38.com">https://tile38.com</a>.</i><br><br>
<a href="#searching"><img src="/internal/assets/search-nearby.png" alt="Nearby" border="0" width="120" height="120"></a> <a href="#searching"><img src="/.github/assets/search-nearby.png" alt="Nearby" border="0" width="120" height="120"></a>
<a href="#searching"><img src="/internal/assets/search-within.png" alt="Within" border="0" width="120" height="120"></a> <a href="#searching"><img src="/.github/assets/search-within.png" alt="Within" border="0" width="120" height="120"></a>
<a href="#searching"><img src="/internal/assets/search-intersects.png" alt="Intersects" border="0" width="120" height="120"></a> <a href="#searching"><img src="/.github/assets/search-intersects.png" alt="Intersects" border="0" width="120" height="120"></a>
<a href="https://tile38.com/topics/geofencing"><img src="/internal/assets/geofence.gif" alt="Geofencing" border="0" width="120" height="120"></a> <a href="https://tile38.com/topics/geofencing"><img src="/.github/assets/geofence.gif" alt="Geofencing" border="0" width="120" height="120"></a>
<a href="https://tile38.com/topics/roaming-geofences"><img src="/internal/assets/roaming.gif" alt="Roaming Geofences" border="0" width="120" height="120"></a> <a href="https://tile38.com/topics/roaming-geofences"><img src="/.github/assets/roaming.gif" alt="Roaming Geofences" border="0" width="120" height="120"></a>
</p> </p>
## Features ## Features
@ -134,19 +134,19 @@ To set a field when an object already exists:
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. 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.
<img src="/internal/assets/search-within.png" width="200" height="200" border="0" alt="Search Within" align="left"> <img src="/.github/assets/search-within.png" width="200" height="200" border="0" alt="Search Within" align="left">
#### Within #### Within
WITHIN searches a collection for objects that are fully contained inside a specified bounding area. WITHIN searches a collection for objects that are fully contained inside a specified bounding area.
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<img src="/internal/assets/search-intersects.png" width="200" height="200" border="0" alt="Search Intersects" align="left"> <img src="/.github/assets/search-intersects.png" width="200" height="200" border="0" alt="Search Intersects" align="left">
#### Intersects #### Intersects
INTERSECTS searches a collection for objects that intersect a specified bounding area. INTERSECTS searches a collection for objects that intersect a specified bounding area.
<BR CLEAR="ALL"> <BR CLEAR="ALL">
<img src="/internal/assets/search-nearby.png" width="200" height="200" border="0" alt="Search Nearby" align="left"> <img src="/.github/assets/search-nearby.png" width="200" height="200" border="0" alt="Search Nearby" align="left">
#### Nearby #### Nearby
NEARBY searches a collection for objects that intersect a specified radius. NEARBY searches a collection for objects that intersect a specified radius.
@ -157,12 +157,12 @@ NEARBY searches a collection for objects that intersect a specified radius.
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.<br><br> 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.<br><br>
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.*<br><br> 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.*<br><br>
<table> <table>
<td>No Sparsing<img src="/internal/assets/sparse-none.png" width="100" height="100" border="0" alt="Search Within"></td> <td>No Sparsing<img src="/.github/assets/sparse-none.png" width="100" height="100" border="0" alt="Search Within"></td>
<td>Sparse 1<img src="/internal/assets/sparse-1.png" width="100" height="100" border="0" alt="Search Within"></td> <td>Sparse 1<img src="/.github/assets/sparse-1.png" width="100" height="100" border="0" alt="Search Within"></td>
<td>Sparse 2<img src="/internal/assets/sparse-2.png" width="100" height="100" border="0" alt="Search Within"></td> <td>Sparse 2<img src="/.github/assets/sparse-2.png" width="100" height="100" border="0" alt="Search Within"></td>
<td>Sparse 3<img src="/internal/assets/sparse-3.png" width="100" height="100" border="0" alt="Search Within"></td> <td>Sparse 3<img src="/.github/assets/sparse-3.png" width="100" height="100" border="0" alt="Search Within"></td>
<td>Sparse 4<img src="/internal/assets/sparse-4.png" width="100" height="100" border="0" alt="Search Within"></td> <td>Sparse 4<img src="/.github/assets/sparse-4.png" width="100" height="100" border="0" alt="Search Within"></td>
<td>Sparse 5<img src="/internal/assets/sparse-5.png" width="100" height="100" border="0" alt="Search Within"></td> <td>Sparse 5<img src="/.github/assets/sparse-5.png" width="100" height="100" border="0" alt="Search Within"></td>
</table> </table>
*Please note that the higher the sparse value, the slower the performance. Also, LIMIT and CURSOR are not available when using SPARSE.* *Please note that the higher the sparse value, the slower the performance. Also, LIMIT and CURSOR are not available when using SPARSE.*
@ -180,7 +180,7 @@ You can choose a value between 1 and 8. The value 1 will result in no more than
## Geofencing ## Geofencing
<img src="/internal/assets/geofence.gif" width="200" height="200" border="0" alt="Geofence animation" align="left"> <img src="/.github/assets/geofence.gif" width="200" height="200" border="0" alt="Geofence animation" align="left">
A <a href="https://en.wikipedia.org/wiki/Geo-fence">geofence</a> 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. A <a href="https://en.wikipedia.org/wiki/Geo-fence">geofence</a> 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](https://tile38.com/commands/sethook) to be assigned to Geofences.* *Tile38 also allows for [Webhooks](https://tile38.com/commands/sethook) to be assigned to Geofences.*