http://qs1969.pair.com?node_id=11134352


in reply to Re^3: DBI placeholders for spatial data
in thread DBI placeholders for spatial data

To test this I have used this code:

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

Replies are listed 'Best First'.
Re^5: DBI placeholders for spatial data
by LanX (Saint) on Jun 26, 2021 at 22:31 UTC
    > feeding POINT($lng, $lat) to the placeholder works

    with comma???

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

      with comma???

      No! Not with a comma!
      That was a typo and I have edited the previous comment to remove the rogue comma.

      Thanks for noticing my mistake.