Ich versuche, eine Tabelle einzurichten, die aus Regionen wie POLYGON besteht. Ich möchte in der Lage sein, die Tabelle abzufragen, um zu finden, ob ein gegebenes POINT in irgendwelchen der gespeicherten Regionen liegt oder nicht.MySQL-Punkt in Polygon-Abfragen und DB-Setup
I gelesen, dass MySQL räumliche Erweiterungen zwei Arten von Funktionen mit Geometrien zum Betrieb liefern: auf dem Objekt
ich versuchte folgend, was in this post arbeitete. Hier ist, wie ich meine Tabelle einrichten:
CREATE TABLE `region` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`rpolygon` polygon NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ich ein paar Datensätze in der Tabelle eingefügt, nachdem die Polygondefinitionen von QGIS zu bekommen. Ich habe gelernt, räumliche Datensätze in eine Tabelle von here einfügen. Hier ist, wie ich einen Datensatz in der Tabelle eingefügt
SET @g= ST_GeomFromText('Polygon ((-117.84293016891291472 33.64825334189644224, -117.8428418279120109 33.64599663087331294, -117.84048874488789238 33.64467151585973426, -117.84002294688312418 33.64517746886491523, -117.83983020288114574 33.64549067786812486, -117.83981414088098916 33.64605284787388939, -117.83983823388122403 33.64646242887808825, -117.84012734988419879 33.64708081588442212, -117.84053693088839054 33.64743417988804453, -117.84130790689629009 33.6479401328932326, -117.84199054190328582 33.64815696989545302, -117.84243224690781915 33.64822121789610776, -117.84293016891291472 33.64825334189644224))');
INSERT INTO region
VALUES(1, 'NORTH-EAST', @g);
nur Plausibilitätsprüfung zu tun, habe ich versucht, einen Punkt in Polygon-Abfrage mit verschiedenen Methoden ausgeführt - MBRContains, ST_Contains usw., die alle in ergebnislos oder NULL führen. Im Folgenden finden Sie eine Beispielabfrage, die ich versucht habe:
Ich bin mir nicht sicher, was schief geht. Speichere ich die Werte falsch, richte ich eine Geo-Tabelle auf andere Weise ein oder werde ich falsch abgefragt? Ich konnte keine guten Tutorials online finden oder Beispiele, denen ich folgen könnte, um solch ein Setup zu machen. Alle Hinweise sind hilfreich!