sql >> Databasteknik >  >> RDS >> Mysql

MySQL - att välja nära en rumslig punkt

Jag har rättat till formeln lite.

Den här fungerar för mig:

CREATE TABLE lastcrawl (id INT NOT NULL PRIMARY KEY, pnt POINT NOT NULL) ENGINE=MyISAM;

INSERT
INTO    lastcrawl
VALUES  (1, POINT(40, -100));

SET @lat = 40;
SET @lon = -100;

SELECT  *
FROM    lastcrawl
WHERE   MBRContains
                (
                LineString
                        (
                        Point
                                 (
                                 @lat + 10 / 111.1,
                                 @lon + 10 / ( 111.1 / COS(RADIANS(@lat)))
                                 ),
                        Point    (
                                 @lat - 10 / 111.1,
                                 @lon - 10 / ( 111.1 / COS(RADIANS(@lat)))
                                 )
                        ),
                pnt
                );



  1. Skapa ett relaterat eller liknande inlägg med PHP &MySQL

  2. Radoffset i SQL Server

  3. Kan jag starta en trigger på select-satsen i mysql?

  4. Hur man exporterar frågeresultat till en CSV-fil i SQLcl (Oracle)