Mysql
 sql >> Database >  >> RDS >> Mysql

Cerca in una tabella Point in Polygon usando MySQL

Dopo una notte di sonno ho trovato la seguente soluzione.

set @p = GeomFromText('POINT(23.923739342824817 38.224714465253733)');
select municipalID FROM ecovis.municipal_border
where ST_Contains(municipal_border.boundary, @p);

Funziona per MySQL 5.6.1 dove Prefisso ST_ la funzione è stata implementata. Anche se non ho misurazioni da un approccio classico (algoritmo a raggi X), credo che sia abbastanza veloce. Occorrono 0,17 secondi per individuare un punto in 2700 poligoni con alcuni poligoni che hanno ben più di 1.500 punti.