Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Пространственные данные / 10 сообщений из 10, страница 1 из 1
07.07.2014, 09:15:01
    #38689089
mpv15
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
Всем доброго, нелегкого, понедельничного утра!
Таблица A (PID int, LOCATION Point) Таблица B (LID Int, LSTR Geometry). Как получить список точек A входящих в запись B? Функции пересечения и вхождения не дали результата.
...
Рейтинг: 0 / 0
07.07.2014, 09:54:09
    #38689115
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
Как делаешь?
...
Рейтинг: 0 / 0
07.07.2014, 09:58:39
    #38689122
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
mpv15Функции пересечения и вхождения не дали результата.Вы просто не умеете их готовить.
Думаю, Вы неправильно понимаете сущность данных во второй таблице.
...
Рейтинг: 0 / 0
07.07.2014, 10:34:25
    #38689153
mpv15
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
bochkov,
Наверно не правильно, хотелось бы получить пример.

SELECT LSTR FROM B WHERE LID = 2 INTO @LN;
SELECT PID from A WHERE ST_Intersects(@LN, LOCATION) = 1;

Линия (СТРОКА в B) построена по точкам (присутствуют в А)
...
Рейтинг: 0 / 0
07.07.2014, 13:28:29
    #38689373
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
видимо версия сервера не та,
хотя не понятно, что там лежит в таблице
вот для теста
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
DROP TABLE IF EXISTS A;
CREATE TABLE IF NOT EXISTS A (
  PID int PRIMARY KEY AUTO_INCREMENT,
  LOCATION point
  );
DROP TABLE IF EXISTS B;
CREATE TABLE IF NOT EXISTS B (
  LID int PRIMARY KEY AUTO_INCREMENT,
  LSTR geometry
  );

INSERT INTO A (`LOCATION`) VALUES(GEOMFROMTEXT('POINT(0 0)')),
  (GEOMFROMTEXT('POINT(5 5)')),
  (GEOMFROMTEXT('POINT(10 10)')),
  (GEOMFROMTEXT('POINT(20 20)')),
  (GEOMFROMTEXT('POINT(30 30)'));

INSERT INTO B (LSTR) VALUES
  (GEOMFROMTEXT('LINESTRING(0 0, -5 -5, -10 -10)')),
   (GEOMFROMTEXT('LINESTRING(-20 -10, -30 -40)'));

SELECT LSTR FROM B WHERE LID=1 INTO @LN;
SELECT PID FROM A WHERE St_Intersects(@LN, `LOCATION`);
...
Рейтинг: 0 / 0
07.07.2014, 22:04:35
    #38689832
mpv15
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
bochkov,
Спасибо, но пусто... Версия 5.6.19
...
Рейтинг: 0 / 0
08.07.2014, 00:33:46
    #38689911
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
поставь MariaDB, все работает
...
Рейтинг: 0 / 0
08.07.2014, 09:36:32
    #38690049
mpv15
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
bochkov,
Спасибо! Пробую.
...
Рейтинг: 0 / 0
08.07.2014, 10:48:19
    #38690123
mpv15
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
bochkov,
Спасибо!!! Все работает!
Версия SQL была кривая.Ставил ODBC драйвер, ловил глюки на автоинкременте. Возвращал Dataset со сдвигом в инкрементируемом поле на +1. Такого глюка я еще не встречал....

Спасибо!!!
...
Рейтинг: 0 / 0
08.07.2014, 11:51:41
    #38690203
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пространственные данные
машка - сила
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Пространственные данные / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]