Страница 1 из 1

Выбор объектов

Добавлено: 17 сен 2018, 09:34
nikomuro
Прошу помощи в пространственной выборке. Выбираю точки не лежащие в площадном объекте: Select * from poi, глф where poi.obj Intersects глф.obj into Selection работает. а вот Select * from poi, глф where not (poi.obj Intersects глф.obj) into Selection уже не работает. в чем беду искать

Re: Выбор объектов

Добавлено: 17 сен 2018, 10:56
MYS
Сделайте первый запрос и обратите выборку (Invert selection).

Re: Выбор объектов

Добавлено: 17 сен 2018, 11:04
asgs1977
Попробуйте Select * from poi, глф where poi.obj not Intersects глф.obj into Selection

Re: Выбор объектов

Добавлено: 17 сен 2018, 11:06
nikomuro
MYS писал(а):
17 сен 2018, 10:56
Сделайте первый запрос и обратите выборку (Invert selection).
Небходимо результат получить только через mapbasic, без сторонних кнопок

Re: Выбор объектов

Добавлено: 17 сен 2018, 11:07
nikomuro
asgs1977 писал(а):
17 сен 2018, 11:04
Попробуйте Select * from poi, глф where poi.obj not Intersects глф.obj into Selection
Так не работает. уже пробовал

Re: Выбор объектов

Добавлено: 17 сен 2018, 11:11
asgs1977
nikomuro писал(а):
17 сен 2018, 11:06
Небходимо результат получить только через mapbasic, без сторонних кнопок
Можно попробовать так:
Include "Menu.def"
Select * ...
Run Menu Command M_QUERY_INVERTSELECT

Re: Выбор объектов

Добавлено: 17 сен 2018, 11:12
nikomuro
asgs1977 писал(а):
17 сен 2018, 11:04
Попробуйте Select * from poi, глф where poi.obj not Intersects глф.obj into Selection
Более того через does not тоже не работает

Re: Выбор объектов

Добавлено: 17 сен 2018, 12:15
gamm
nikomuro писал(а):
17 сен 2018, 09:34
Select * from poi, глф where not (poi.obj Intersects глф.obj) into Selection уже не работает
выбирать нужно ID

Select * from poi where poi.ID not in (select poi.ID from poi,глф where poi.obj Intersects глф.obj)

Re: Выбор объектов

Добавлено: 17 сен 2018, 12:45
nikomuro
тоже не работает.

Re: Выбор объектов

Добавлено: 17 сен 2018, 13:36
MYS
Через Mapbasic можно сделать следующее:

сделать копию таблицы;
выбрать точки, попадающие в полигоны;
удалить их.

Останутся не попадающие в полигоны точки.

Re: Выбор объектов

Добавлено: 17 сен 2018, 14:09
nikomuro
MYS писал(а):
17 сен 2018, 13:36
Через Mapbasic можно сделать следующее:

сделать копию таблицы;
выбрать точки, попадающие в полигоны;
удалить их.

Останутся не попадающие в полигоны точки.
так это,ж... самый долгий путь. нужно то чтобы базовые таблицы оставались неизменными. в них потом еще будут объекты добавляться

Re: Выбор объектов

Добавлено: 17 сен 2018, 14:25
gamm
nikomuro писал(а):
17 сен 2018, 12:45
тоже не работает.
так не бывает, начиная с 2 версии работало, и вдруг. Посмотрите, что выдает внутренний запрос

select poi.ID from poi,глф where poi.obj Intersects глф.obj

надеюсь, вы не буквально переписывали, и у вас просто нет поля ID ...

Re: Выбор объектов

Добавлено: 17 сен 2018, 20:20
nikomuro
gamm писал(а):
17 сен 2018, 12:15
Select * from poi where poi.ID not in (select poi.ID from poi,глф where poi.obj Intersects глф.obj)
Это заработало. Поле id есть, но оно не заполнено было.