Страница 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 есть, но оно не заполнено было.