public function withinSQL($sObj)
{
- return sprintf(
- 'ST_DWithin(%S, ST_SetSRID(ST_Point(%F,%F),4326), %F)',
- $sObj,
- $this->fLon,
- $this->fLat,
- $this->fRadius
- );
+ return sprintf('ST_DWithin(%s, %s, %F)', $sObj, $this->sSQL, $this->fRadius);
}
/**
$this->assertEquals(-79.982, $aRes['pt']->lon(), 'degrees decimal ' . $sQuery, 0.01);
}
}
+
+ public function testWithinSQL()
+ {
+ $np = new NearPoint(0.1, 23, 1);
+
+ $this->assertEquals(
+ 'ST_DWithin(foo, ST_SetSRID(ST_Point(23,0.1),4326), 1.000000)',
+ $np->withinSQL('foo')
+ );
+ }
+
+ public function testDistanceSQL()
+ {
+ $np = new NearPoint(0.1, 23, 1);
+
+ $this->assertEquals(
+ 'ST_Distance(ST_SetSRID(ST_Point(23,0.1),4326), foo)',
+ $np->distanceSQL('foo')
+ );
+ }
}