sql >> Database >  >> RDS >> Mysql

MySQL - selecteren in de buurt van een ruimtelijk punt

Ik heb de formule een beetje gecorrigeerd.

Deze werkt voor mij:

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. SQL-query om de primaire sleutel van een tabel te vinden?

  2. Hoe TIMEDIFF() werkt in MariaDB

  3. docker postgres met initiële gegevens wordt niet bewaard tijdens commits

  4. Beste gegevenstype om geldwaarden op te slaan in MySQL