Как проверить точку, если она находится внутри многоугольника в таблице MySQL? - PullRequest
0 голосов
/ 25 июня 2018

Я реализую веб-приложение, в котором мне нужно проверить, находится ли заданная точка в пределах многоугольника в таблице MySQL?

Я использую ASP.net с MySQL.Я пытаюсь использовать следующую инструкцию SQL

SELECT REGION_USER_ID FROM region WHERE (ST_Within(point(-23, 1), geom));

с моей таблицей и получаю следующую ошибку.(ФУНКЦИЯ ST_БЕЗ НЕ СУЩЕСТВУЕТ)

enter image description here

В чем здесь проблема?Кроме того, является ли geom ключевым словом?(Я получил это с сайта, но не могу вспомнить, где)

Мои координаты многоугольника находятся в таблице, написанной со следующим утверждением: (Это работает, и я могу читать и видеть)

INSERT INTO region (REGION_POLYGON) VALUES (PolygonFromText(@Parameter1))

Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 26 июня 2018

Вот если кто-то ищет решение:

string Query = @"SELECT " +
                                    "A," +
                                    "B,"+
                                    "C,"+
                                    "D,"+
                                    "E,"+
                                    "F"+
                                "FROM user " +
                                "INNER JOIN State ON " +
                                    "A=B AND C=@Parameter1 " +
                                "INNER JOIN Country ON " +
                                    "CONTAINS(REGION_POLYGON, point(@Parameter2, @Parameter3)=1)";

Параметр2: Логический параметр Параметр3: Широта

Спасибо.

...