Запросы в MapInfo

MapInfo, MapBasic
Ответить
Washer
Новоприбывший
Сообщения: 4
Зарегистрирован: 08 июн 2010, 10:10
Репутация: 0

Запросы в MapInfo

Сообщение Washer » 10 июн 2010, 13:43

Доброго времени суток! Поискал по ветке, вроде бы подобной темы не нашел. Извиняюсь, если не досмотрел до конца. Очень уж большой объем )

Интересует информация по построению запросов в MapInfo в окне MapBasic.

Предлагаю здесь делиться опытом и создать ветку конкретно по написанию различных запросов.

Лично мне нужно составить sql-запрос, чтобы происходила выборка всех площадных объектов в одном слое, попадающих в границы площадных объектов в другом слое. Конкретно: нужно сделать выборку земельных участков в слое aktive_zu (участки, внесенные в кадастр недвижимости), попадающих в границы проектирования по разным участкам (слой объекты). Раньше не так часто работал в MapInfo. Почитал, нужно использовать оператор consist или intersection. Пока на это познания закончились )). Как прописать в окне? :?:

И еще один запрос интересует. Как прописать, чтобы окно карты сразу фокусировалось на выборке? Сейчас, например, я делаю запрос на объект с нужными мне характеристиками из поля (например, площадь) таблицы aktive_zu, потом выбираю "Найти выборку". Когда эту операцию нужно выполнять постоянно, она становится утомительной. Думаю, в окне MapBasic сразу можно одной строкой прописать.

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Запросы в MapInfo

Сообщение Boris » 10 июн 2010, 18:19

Washer писал(а): Интересует информация по построению запросов в MapInfo в окне MapBasic.

Предлагаю здесь делиться опытом и создать ветку конкретно по написанию различных запросов.
Предлагаю этого здесь не делать. Запросов много, а жизнь - одна, перебор может занять ее целиком. К тому же есть два универсальных правила:
1. описание в документации. Особенно в хелпе к MapBasic' у. Благо а) MB теперь входит в стандартную поставку; б) докумнтация по MB входит в комплект стандартной документации на инсталяционном диске.
2. все запросы отображаются в окне MapBasic'а после их создания в окнах "Select" / "SQl Select"
Кроме того все запросы сохраняются в рабочем наборе, а это текстовый файл из команд MB, а так же любой запрос можно сохранить как текст в виде шаблона или "Save Query", и потом изучать и копировать.
Washer писал(а): Лично мне нужно составить sql-запрос, чтобы происходила выборка всех площадных объектов в одном слое, попадающих в границы площадных объектов в другом слое. Конкретно: нужно сделать выборку земельных участков в слое aktive_zu (участки, внесенные в кадастр недвижимости), попадающих в границы проектирования по разным участкам (слой объекты). Раньше не так часто работал в MapInfo. Почитал, нужно использовать оператор consist или intersection. Пока на это познания закончились )). Как прописать в окне? :?:
Абсолютно не понятно в чем состоит проблема? Вам удалось получить искомый результат через "Select SQL"?
Washer писал(а): И еще один запрос интересует. Как прописать, чтобы окно карты сразу фокусировалось на выборке? Сейчас, например, я делаю запрос на объект с нужными мне характеристиками из поля (например, площадь) таблицы aktive_zu, потом выбираю "Найти выборку". Когда эту операцию нужно выполнять постоянно, она становится утомительной. Думаю, в окне MapBasic сразу можно одной строкой прописать.
А комбинации Ctrl+A/Ctrl+G не пробовали использовать? По моему это даже быстрее, чем вставлять команды и вызывать их на исполнение. Но если обязательно использовать команды, то посмотрите команду Run Menu Command в хелпе к MB.
В вашем случае - это
Run Menu Command 306
или
Run Menu Command 312
Еще подробней - в файле MAPINFOW.MNU

Washer
Новоприбывший
Сообщения: 4
Зарегистрирован: 08 июн 2010, 10:10
Репутация: 0

Re: Запросы в MapInfo

Сообщение Washer » 10 июн 2010, 18:53

Проблема в том, что, повторюсь, в MapInfo раньше работал от случая к случаю, только просматривая графику. Поэтому саму технологию создания запросов не знаю совершенно. В первую очередь, это касается синтаксиса. Скачал инструкцию по MapBasic, начал изучать. Голова крУгом )

То есть, где правильно поставить разделитель, где скобки, где кавычки... В этом плане я дилетант )

reasonat
Завсегдатай
Сообщения: 257
Зарегистрирован: 10 июн 2009, 12:21
Репутация: 0
Откуда: Екатеринбург
Контактная информация:

Re: Запросы в MapInfo

Сообщение reasonat » 17 июн 2010, 11:48

синтаксис такой:
Select * from Объекты, Участки where Объекты.Obj Contains Участки.Obj into Selection
а чтобы сфокусировать окно на выборке, есть разные возможности:
1) если через меню Запрос/SQL-запрос выбирать, то в окне запроса есть возможность поставить галку "показать результат в текущем окне карты", или уже после выборки ткнуть в горячие клавиши Ctrl+A или Ctrl+G, как уже подсказал Boris
2) с версии 9 (ну в 9.5 точно есть) можно настроить автомасштабирование по выборке, чтобы всякий раз выборки показывались во все окно. Это меню Настройки/Режимы/Окно карты - закладка "Редактирование" - опция "Масштабировать по выборке"
3) программировать в MapBasic (я писала утилитку для центрирования окна карты по выбранному в окне списка объекту, с опцией масштабировать/не масштабировать во все окно)

Washer
Новоприбывший
Сообщения: 4
Зарегистрирован: 08 июн 2010, 10:10
Репутация: 0

Re: Запросы в MapInfo

Сообщение Washer » 17 июн 2010, 13:45

Спасибо огромное). Утилитку скачаю дома. Здесь сайты на бесплатном хостинге заблокированы сисадминами.

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость