my $test = 'POINT( 20 10 )';
$dbh->do("INSERT INTO Test SET start = ST_GeomFromText(?, 4326), end =
+ ST_GeomFromText(?, 4326)", undef, $test, $test);
if ($dbh->err) {
print "ERROR: " . $dbh->errstr;
} else {
print "SUCCESS!";
}
print "\n";
And from the test it I get this result:
SELECT ST_AsText(start) FROM Test
------------
POINT(20 10)
I think we can conclude that feeding POINT($lng $lat) to the placeholder works :)
A quick note for anyone finding this in future...
POINT takes longitude first then latitude. Several sources online say that it doesn't matter which way around they are. However, if you want ST_Distance_Sphere to give a correct result, they need to be longitude followed by latitude. This is the reason I created a module to handles points, so I don't need to worry about the order except within the module.
Edited to remove rogue comma pointed out by LanX |