Skip to content

Commit 0d4f2ec

Browse files
added long-lat order to constant in the mariadb/mysql adapter
1 parent 16f96e5 commit 0d4f2ec

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/Database/Adapter/MariaDB.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1417,11 +1417,11 @@ protected function handleSpatialQueries(Query $query, array &$binds, string $att
14171417
switch ($query->getMethod()) {
14181418
case Query::TYPE_CROSSES:
14191419
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1420-
return "ST_Crosses({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1420+
return "ST_Crosses({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14211421

14221422
case Query::TYPE_NOT_CROSSES:
14231423
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1424-
return "NOT ST_Crosses({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1424+
return "NOT ST_Crosses({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14251425

14261426
case Query::TYPE_DISTANCE_EQUAL:
14271427
case Query::TYPE_DISTANCE_NOT_EQUAL:
@@ -1431,43 +1431,43 @@ protected function handleSpatialQueries(Query $query, array &$binds, string $att
14311431

14321432
case Query::TYPE_INTERSECTS:
14331433
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1434-
return "ST_Intersects({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1434+
return "ST_Intersects({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14351435

14361436
case Query::TYPE_NOT_INTERSECTS:
14371437
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1438-
return "NOT ST_Intersects({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1438+
return "NOT ST_Intersects({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14391439

14401440
case Query::TYPE_OVERLAPS:
14411441
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1442-
return "ST_Overlaps({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1442+
return "ST_Overlaps({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14431443

14441444
case Query::TYPE_NOT_OVERLAPS:
14451445
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1446-
return "NOT ST_Overlaps({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1446+
return "NOT ST_Overlaps({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14471447

14481448
case Query::TYPE_TOUCHES:
14491449
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1450-
return "ST_Touches({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1450+
return "ST_Touches({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14511451

14521452
case Query::TYPE_NOT_TOUCHES:
14531453
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1454-
return "NOT ST_Touches({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1454+
return "NOT ST_Touches({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14551455

14561456
case Query::TYPE_EQUAL:
14571457
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1458-
return "ST_Equals({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1458+
return "ST_Equals({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14591459

14601460
case Query::TYPE_NOT_EQUAL:
14611461
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1462-
return "NOT ST_Equals({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1462+
return "NOT ST_Equals({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14631463

14641464
case Query::TYPE_CONTAINS:
14651465
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1466-
return "ST_Contains({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1466+
return "ST_Contains({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14671467

14681468
case Query::TYPE_NOT_CONTAINS:
14691469
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
1470-
return "NOT ST_Contains({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
1470+
return "NOT ST_Contains({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0, 'axis-order=long-lat'))";
14711471

14721472
default:
14731473
throw new DatabaseException('Unknown spatial query method: ' . $query->getMethod());

src/Database/Adapter/MySQL.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ protected function handleDistanceSpatialQueries(Query $query, array &$binds, str
117117

118118
if ($useMeters) {
119119
$attr = "ST_SRID({$alias}.{$attribute}, " . Database::SRID . ")";
120-
$geom = "ST_GeomFromText(:{$placeholder}_0, " . Database::SRID . ")";
120+
$geom = "ST_GeomFromText(:{$placeholder}_0, " . Database::SRID . ",'axis-order=long-lat')";
121121
return "ST_Distance({$attr}, {$geom}, 'metre') {$operator} :{$placeholder}_1";
122122
}
123123

0 commit comments

Comments
 (0)