@@ -131,26 +131,59 @@ echo $londonEye->location->longitude; // -0.1195537
131131echo $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
151184composer phpunit
152185# or with coverage
153- composer phpunit-cover
186+ composer phpunit-coverage
154187```
155188
156189## Changelog
0 commit comments