Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MI6UGRU

.pdf
Скачиваний:
16
Добавлен:
13.02.2015
Размер:
14.71 Mб
Скачать

Глава 9: Выбор

Инструмент Стрелка

Инструмент Стрелка позволяет выбирать объекты по одному или сразу все объекты в одной области. Объект выбирается, когда Вы указываете на него.

Чтобы выбрать объект:

1.Сделайте слой, с которым Вы будете работать, доступным (КÀÐÒÀ > ÓПРАВЛЕНИЕ СЛОЯМИ).

2.Выберите инструмент Стрелка из панели Операции.

3.Укажите на объект в окне Карты. Если слой, на котором лежит данный объект, является доступным, MapInfo выберет объект. Если слой является изменяемым, MapInfo покажет маркеры вокруг объекта. Если же слой не является ни доступным, ни изменяемым, то MapInfo не сделает выбора.

4.Выполните команду ОÊÍÎ > ÍÎÂÛÉ ÑПИСОК, чтобы увидеть список уже выбранных записей. Выберите Selection (Выборка) в окошке списка

таблиц. MapInfo создаст окно Списка для текущей временной таблицы выборки. Чтобы выбирать записи в этом окне, просто указывайте на запись инструментом Стрелка.

Чтобы выбрать по отдельности несколько объектов, укажите на первый из них, затем нажмите клавишу SHIFT и укажите на следующий. MapInfo присоединит второй объект к выборке. Если же второй объект выбирать, не нажав SHIFT, то MapInfo отменит выбор первого объекта и выберет только второй объект.

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

167

Глава 9: Выбор

Инструмент Выбор-в-круге

Инструмент Выбор-в-круге предназначен для выбора всех объектов внутри круга заданного радиуса. Рассмотрим, например, таблицы доноров и станций переливания крови. С помощью инструмента Выбор-в-круге можно создать временный список доноров, проживающих на расстоянии не далее 1 километра от каждой из станций переливания крови.

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

Чтобы выбрать все объекты в заданном круге:

1. Сделайте слой, с которым Вы будете работать, доступным (КÀÐÒÀ > ÓПРАВЛЕНИЕ СЛОЯМИ).

2.Выберите инструмент Стрелка из панели Операции. При движении по окну Карты указатель мыши примет форму указательного пальца.

3.Укажите на точку на Карте, которую следует считать центром круга, в котором будет производится поиск. Например, чтобы выбрать все пожарные краны в радиусе 2 км от пожарной станции, Вы будете использовать саму пожарную станцию в качестве центральной точки круга.

4.Нажмите кнопку мыши и отодвигайте указатель от центра круга. MapInfo будет рисовать окружность вокруг центральной точки и показывать текущее значение ее радиуса в левом нижнем углу окна.

168

Глава 9: Выбор

5. Когда Вы достигли нужного радиуса, отпустите кнопку мыши. MapInfo выделит все объекты, лежащие в заданном круге.

Чтобы увидеть список выбранных в круге записей, выполните команду НÎÂÛÉ ÑПИСОК èç ìåíþ ÎÊÍÎ. Выберите Selection (Выборка) из списка таблиц. MapInfo создаст

окно Списка для текущей временной таблицы выборки.

Инструмент Выбор-в-рамке

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

Чтобы выбрать объекты не с самого верхнего слоя, надо в диалоге “Управление слоями” сбросить флажок Доступный для всех слоев над тем слоем, с которого Вы хотите произвести выбор.

Чтобы выбрать объекты в заданном прямоугольнике:

1.Сделайте слой, с которым Вы будете работать, доступным (КÀÐÒÀ > ÓПРАВЛЕНИЕ СЛОЯМИ).

169

Глава 9: Выбор

2.Выберите инструмент Выбор-в-рамке из панели Операции. При движении по окну Карты указатель примет форму пальца.

3.Укажите на точку на карте, которую следует считать углом прямоугольника, в котором будет производиться поиск.

4.Нажмите кнопку мыши и обведите пунктирной линией все объекты, которые Вы хотите выбрать.

5.Когда Вы достигните нужного охвата, отпустите кнопку мыши. MapInfo выделит все объекты, лежащие в заданном прямоугольнике.

6.Чтобы увидеть список выбранных записей, выполните команду СПИСОК èç ìåíþ ÎÊÍÎ. Выберите Selection (Выборка) из списка таблиц. MapInfo

создаст окно Списка для текущей временной таблицы выборки.

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

Кроме того, можно создавать области для поиска командой БÓÔÅÐ. Команда БÓÔÅÐ

используется для создания областей вокруг точек, линий и других областей. Например, чтобы найти всех клиентов, проживающих в пределах пяти километров от Волоколамского шоссе, можно с помощью команды БÓÔÅÐ создать многоугольник, куда войдут все территории на расстоянии пяти километров от этого шоссе.

Командой БÓÔÅÐ можно создавать даже области вокруг областей. Пусть, например, Вы хотите найти все радиостанции на расстоянии не более 20 км от границ некоторого района. С помощью команды БÓÔÅÐ можно создать многоугольник, в который войдут местности в пределах 20 км от границы заданного района.

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

Инструмент Выбор-в-области

Инструмент Выбор-в-области предназначен для выбора всех объектов,

расположенных в пределах некоторого площадного объекта (области). С

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

стране, области, районе.

Пусть, например, имеется слой магазинов Вашей фирмы, расположенных по всей стране. С помощью инструмента Выбор-в-области можно, просто указав на область, сделать выборку магазинов, расположенных в этой области.

Чтобы выбрать все объекты в заданной области:

170

Глава 9: Выбор

1. Сделайте слой, с которым Вы будете работать, доступным (КÀÐÒÀ > ÓПРАВЛЕНИЕ

СЛОЯМИ).

2.Выберите инструмент Выбор-в-области из панели Операции. При движении по окну Карты указатель примет форму крестика.

3.Укажите на любую область на карте. MapInfo выберет все объекты, лежащие в заданной области.

4.Чтобы увидеть список выбранных записей, выполните команду СПИСОК из меню Окно. Выберите Selection из списка таблиц. MapInfo создаст окно Списка

для текущей временной таблицы выборки.

Другие методы поиска

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

Кроме того, можно создавать области для поиска командой БÓÔÅÐ. Команда БÓÔÅÐ

используется для создания областей вокруг точек, линий и других областей. Например, чтобы найти всех клиентов, проживающих в пределах пяти километров от Волоколамского шоссе, можно с помощью команды БÓÔÅÐ создать многоугольник, куда войдут все территории на расстоянии пяти километров от этого шоссе.

Командой БÓÔÅÐ можно создавать даже области вокруг областей. Пусть, например, Вы хотите найти все радиостанции на расстоянии не более 20 км от границ некоторого района. С помощью команды БÓÔÅÐ можно создать многоугольник, в который войдут местности в пределах 20 км от границы заданного района.

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

объектов которого будет строиться выборка, и слой, содержащий область, в которой

будет проводиться поиск.

171

Запросы

Обзор

В предыдущей главе мы рассмотрели, как делать выборки на Карте, используя инструменты, такие как Выбор-в-круге и Выбор-в- области. В данной главе речь пойдет о создании выборок с помощью двух очень мощных команд MapInfo: Выбрать и SQLзапрос. Каждый раздел главы сопровождается примером.

Глава

Выбор с помощью запросов

Команда Выбрать

Создание новой таблицы из подмножества файлов

Команда SQL-запрос

Обобщение данных

Псевдонимы названий колонок

Группирующее и упорядочивающее предложения

Объединение таблиц командой SQL-запрос

Внешнее объединение

Поиск информации внутри колонки данных

Выбор записей из одной таблицы, которых нет в другой таблице

Выбор четных или нечетных записей из таблицы

Выбор улиц из таблицы StreetInfo

Поиск записей с дублирующимися значениями

Расчет расстояния до фиксированной точки

Глава 10: Запросы

Выбор с помощью запросов

Запрос – это синоним слова "вопрос", употребляемый в базах данных.

В этом примере выбираются больницы Центрального округа, расположенные рядом с метро

Команда ВЫБРАТЬ позволяет создать выборку (подмножество записей) на основании информации из некоторой таблицы MapInfo. Например:

Какие клиенты сделали покупки на 2000000 рублей и более?

Кто из моих клиентов живет в Раменском районе?

Команда SQL-ЗАПРОС позволяет решать следующие задачи в MapInfo:

174

Глава 10: Запросы

Создать вычисляемые колонки – колонки, значения в которых вычисляются на основании значений в уже существующих колонках;

Обобщить данные таким образом, чтобы вместо сумм просматривать суммарные данные по таблице;

Скомбинировать две или более таблицы в одну новую таблицу;

Показывать только те колонки и строки, которые Вас интересуют.

Команда Выбрать

Команда ВЫБРАТЬ позволяет формулировать запросы к таблице. С ее помощью можно выбирать записи и сопоставленные им графические объекты по значениям их атрибутов. Таким образом, можно выделять в окне Карты или Списка объекты, удовлетворяющие некоторому критерию. Результаты запросов можно сохранять в виде таблиц, просматривать в окнах Списков, Карт и Графиков.

В команде ВЫБРАТЬ можно формулировать такие запросы как:

Покажите все районы, где средний доход жителей превышает 6 000 000 рублей. Покажите все районы, где средний возраст населения составляет 42 года. Покажите все районы, где средний доход жителей превышает 6 000 000 рублей, а

средний возраст населения составляет 42 года. Покажите все записи о заказах, сделанных в июле и сентябре.

Покажите все города в Ярославской, Владимирской и Костромской областях, население которых превышает 100 000 жителей.

При работе с окном Списка MapInfo выделяет записи (строки Списка), удовлетворяющие заданному в запросе критерию. При работе с окном Карты выделяются соответствующие этим записям графические объекты. Если же Вы работаете с окнами обоих типов, то выделяются и записи, и графические объекты. Во всех случаях MapInfo автоматически создает рабочую таблицу с названием "Selection" (или "Выборка"), которая содержит результаты обработки запроса. Эту таблицу можно просматривать в окне Списка, Карты или Графика как любую другую таблицу. Кроме того, ее можно сохранить под другим именем командой СОЗДАТЬ КОПИЮ.

Создание выражений

Чтобы выполнить поиск по запросу, необходимо задать логическое выражение, которое мы обычно используем, когда задаем вопросы. Например, имеется таблица о сдаваемом внаем жилье. Если Вы хотите создать временную таблицу жилья, стоимость аренды которого ниже $800 в месяц, следует задать выражение:

175

Глава 10: Запросы

РЕНТА < 800

ãäå РЕНТА – это название колонки, содержащей данные о ежемесячной арендной плате.

Знак “<” означает "меньше чем".

MapInfo ищет в таблице все записи, которые удовлетворяют заданному условию, и

помещает последние во временную таблицу, которую можно просматривать в окне

Карты, Списка, Графика и производить над ней дальнейшие операции.

Можно производить арифметические операции над данными. Пусть надо создать временную таблицу жилья, общая стоимость которого меньше $800. Общая стоимость образуется из арендной платы и ежемесячных коммунальных платежей. Задайте выражение:

РЕНТА + ПЛАТЕЖИ < 800

То есть укажите MapInfo, что надо сложить число из колонки РЕНТА с числом из колонки ПЛАТЕЖИ и сравнить сумму с числом 800.

Имеется два способа создания выражений. Во-первых, можно ввести выражение напрямую. Этот способ обычно быстрее при задании простых выражений. Второй способ состоит в том, что можно нажать кнопку СОСТАВИТЬ в диалоге “Выбрать” и построить выражение с помощью окошек в диалоге "Выражение". Такой способ обычно используется начинающими пользователями или при построении сложных выражений.

Диалог "Выражение" содержит три окошка списка, с помощью которых можно составить выражение: "Колонки", "Операторы" è "Функции".

"Колонки"

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

"Операторы"

В этом окошке содержится перечень математических и логических операторов. Среди операторов – сложение, вычитание, умножение, деление, знаки больше, меньше и равно. С помощью этих символов можно создавать математические формулы.

Например, рассмотрим таблицу торговых агентов, среди которых Вы хотите выбрать тех агентов, полный объем продаж у которых в месяц составляет в среднем $2000. Общий объем вычисляется как сумма продаж и комиссионных.

Пусть в таблице имеются две следующие колонки: ПРОДАЖИ, содержащая данные о годовом объеме продаж каждого агента, и КОМИССИЯ, содержащая годовой размер комиссионных каждого агента. Вы можете составить следующее выражение:

176

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]