Skip to content

Commit ff798fc

Browse files
committed
wip docs
1 parent 27f9578 commit ff798fc

File tree

2 files changed

+48
-15
lines changed

2 files changed

+48
-15
lines changed

readme.md

Lines changed: 46 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -131,26 +131,59 @@ echo $londonEye->location->longitude; // -0.1195537
131131
echo $vacationCity->area->toJson(); // {"type":"Polygon","coordinates":[[[41.90746728266806,12.455363273620605],[41.906636872349075,12.450309991836548],[41.90197359839437,12.445632219314575],[41.90027269624499,12.447413206100464],[41.90000118654431,12.457906007766724],[41.90281205461268,12.458517551422117],[41.903107507989986,12.457584142684937],[41.905918239316286,12.457734346389769],[41.90637337450963,12.45572805404663],[41.90746728266806,12.455363273620605]]]}
132132
```
133133

134-
## Geometry classes
134+
## API
135+
136+
### Available spatial classes
137+
138+
* `Point(float $latitude, float $longitude)` - [MySQL Point](https://dev.mysql.com/doc/refman/8.0/en/gis-class-point.html)
139+
* `MultiPoint(Point[] | Collection<Point>)` - [MySQL MultiPoint](https://dev.mysql.com/doc/refman/8.0/en/gis-class-multipoint.html)
140+
* `LineString(Point[] | Collection<Point>)` - [MySQL LineString](https://dev.mysql.com/doc/refman/8.0/en/gis-class-linestring.html)
141+
* `MultiLineString(LineString[] | Collection<LineString>)` - [MySQL MultiLineString](https://dev.mysql.com/doc/refman/8.0/en/gis-class-multilinestring.html)
142+
* `Polygon(LineString[] | Collection<LineString>)` - [MySQL Polygon](https://dev.mysql.com/doc/refman/8.0/en/gis-class-polygon.html)
143+
* `MultiPolygon(Polygon[] | Collection<Polygon>)` - [MySQL MultiPolygon](https://dev.mysql.com/doc/refman/8.0/en/gis-class-multipolygon.html)
144+
* `GeometryCollection(Geometry[] | Collection<Geometry>)` - [MySQL GeometryCollection](https://dev.mysql.com/doc/refman/8.0/en/gis-class-geometrycollection.html)
145+
146+
### Available spatial functions
147+
148+
* `toWkt` - Mostly used internally
149+
* `toArray`
150+
* `toJson`
151+
* `fromWkb` - Mostly used internally
152+
* `fromJson`
153+
* `toFeatureCollectionJson`
154+
* `getCoordinates`
155+
156+
Geometry collection functions:
157+
158+
* `toCollectionWkt` - Mostly used internally
159+
* `getGeometries` - (explanation...) Can be used with `ArrayAccess` as well
160+
161+
### Available spatial scopes
162+
163+
* `withDistance(string $column, Geometry | string $geometryOrColumn, string $alias = 'distance')`
164+
* `whereDistance(string $column, Geometry | string $geometryOrColumn, string $operator, int | float $distance)`
165+
* `orderByDistance(string $column, Geometry | string $geometryOrColumn, string $direction = 'asc')`
166+
* `withDistanceSphere(string $column, Geometry | string $geometryOrColumn, string $alias = 'distance')`
167+
* `whereDistanceSphere(string $column, Geometry | string $geometryOrColumn, string $operator, int | float $distance)`
168+
* `orderByDistanceSphere(string $column, Geometry | string $geometryOrColumn, string $direction = 'asc')`
169+
* `whereWithin(string $column, Geometry | string $geometryOrColumn)`
170+
* `whereContains(string $column, Geometry | string $geometryOrColumn)`
171+
* `whereTouches(string $column, Geometry | string $geometryOrColumn)`
172+
* `whereIntersects(string $column, Geometry | string $geometryOrColumn)`
173+
* `whereCrosses(string $column, Geometry | string $geometryOrColumn)`
174+
* `whereDisjoint(string $column, Geometry | string $geometryOrColumn)`
175+
* `whereOverlaps(string $column, Geometry | string $geometryOrColumn)`
176+
* `whereEquals(string $column, Geometry | string $geometryOrColumn)`
177+
178+
## Tip for better IDE support
135179

136-
| MatanYadaev\LaravelEloquentSpatial\Objects | OpenGIS Class |
137-
| ------------------------------------------------------------ | --------------- |
138-
| `Point(float $latitude, float $longitude)` | [Point](https://dev.mysql.com/doc/refman/8.0/en/gis-class-point.html) |
139-
| `MultiPoint(Point[] \| Collection<Point>)` | [MultiPoint](https://dev.mysql.com/doc/refman/8.0/en/gis-class-multipoint.html) |
140-
| `LineString(Point[] \| Collection<Point>)` | [LineString](https://dev.mysql.com/doc/refman/8.0/en/gis-class-linestring.html) |
141-
| `MultiLineString(LineString[] \| Collection<LineString>)` | [MultiLineString](https://dev.mysql.com/doc/refman/8.0/en/gis-class-multilinestring.html) |
142-
| `Polygon(LineString[] \| Collection<LineString>)` | [Polygon](https://dev.mysql.com/doc/refman/8.0/en/gis-class-polygon.html) |
143-
| `MultiPolygon(Polygon[] \| Collection<Polygon>)` | [MultiPolygon](https://dev.mysql.com/doc/refman/8.0/en/gis-class-multipolygon.html) |
144-
| `GeometryCollection(Geometry[] \| Collection<Geometry>)` | [GeometryCollection](https://dev.mysql.com/doc/refman/8.0/en/gis-class-geometrycollection.html) |
145-
146-
## Available functions
147180

148181
## Tests
149182

150183
``` bash
151184
composer phpunit
152185
# or with coverage
153-
composer phpunit-cover
186+
composer phpunit-coverage
154187
```
155188

156189
## Changelog

src/SpatialBuilder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ public function whereDistanceSphere(
9292
string $column,
9393
Geometry | string $geometryOrColumn,
9494
string $operator,
95-
int | float $distance): self
96-
{
95+
int | float $distance
96+
): self {
9797
$geometryOrColumn = $this->toExpression($geometryOrColumn);
9898

9999
return $this->whereRaw(

0 commit comments

Comments
 (0)