www.map-info.ru :: Просмотр темы - Как создать такой SQL запрос?
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - ГИС 'MapInfo' Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Odissey



Зарегистрирован: 15.06.2007
Сообщения: 1

СообщениеДобавлено: Пт Июн 15, 2007 1:14 pm    Заголовок сообщения: Как создать такой SQL запрос? Добавить ответ со ссылкой на данный текст

Товарищи...
Подскажите пожалуйста как создать запрос....
Имеется:
- слой с точечными объектами (памятники)
- слой города

Требуется:
Чтобы запрос выдал какие памятники расположены в пределах 100 км от определенного города...

Подскажите кто может... или подскажите где можно по-подробнее прочесть о составлении запросов с примерами...

Спасибо :)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Нестеров Валерий



Зарегистрирован: 21.03.2006
Сообщения: 492

СообщениеДобавлено: Ср Июн 27, 2007 6:16 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

При использовании в запросе пространственных условий (у вас условие 100 км) проще сделать так:
Построить буферную зону (меню "Объекты\Буферные зоны...") с радиусом 100 км. вокруг объектов (в вашем случае вокруг точечных объектов - "памятники" или вокруг "города").

И выполнить пространственный запрос отбирающий объекты одного слоя, пересекающиеся с объектами другого:

"SELECT * from памятники, буфер_города WHERE памятники.obj Intersects буфер_города.obj into Selection"

или

"SELECT * from города, буфер_памятники WHERE города.obj Intersects буфер_памятники.obj into Selection"
_________________
Жизнь прекрасна!i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Ср Июн 27, 2007 9:35 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Валер, ты уверен что такой запрос будет работать?
SELECT * from памятники, буфер_города WHERE памятники.obj Intersects буфер_города.obj into Selection

У где-то отложилось стойкое впечатление что MapInfo не умеет соединять таблицы по условию над графическими объектами. Обход тут такой:

SELECT * from памятники WHERE памятники.obj Intersects (SELECT буфер_города.obj FROM буфер_города) into Selection
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Нестеров Валерий



Зарегистрирован: 21.03.2006
Сообщения: 492

СообщениеДобавлено: Пт Июн 29, 2007 6:29 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

:)
Да, там бывают заморочки, и часто приходится пробовать несколько вариантов, пока что-то получится. Но я за день до ответа использовал как раз такой запрос и он прокатил... (даже сам удивился)))).
_________________
Жизнь прекрасна!i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - ГИС 'MapInfo' Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru