Глава 22: Работа с таблицами
5.Для отделения последнего имени колонки от полного тройного имени выполните команду ТАБЛИЦА > ÎБНОВИТЬ КОЛОНКУ. Заполните диалог “Обновить колонку” следующим образом:
Обновляемая колонка теперь Last, è Значение: Right$(LAST, Len(LAST)-
Instr(1,LAST,” “)).
6.Для выделения среднего имени из полного слившегося имени колонки, выполните команду ТАБЛИЦА > ÎБНОВИТЬ КОЛОНКУ. Заполните диалог “Обновить колонку” следующим образом:
Обновляемая колонка теперь Middle, à Значение: Left$(LAST, Instr(1,LAST,”
“)).
Глава 22: Работа с таблицами
7.Теперь обновим колонку Last, используя команду ТАБЛИЦА > ÎБНОВИТЬ КОЛОНКУ, и заполните диалог следующим образом.
Значение теперь равно: Right$(LAST, Len(LAST)-Instr(1,LAST,” “)).
Размещение информации о графических объектах в видимых колонках
Команда ОБНОВИТЬ КОЛОНКУ также используется для того, чтобы разместить информацию о графических объектах в видимых колонках таблицы. Таблицы, содержащие графические объекты, скрытно хранят информацию о них (она не видна пользователю). С помощью команды ОБНОВИТЬ КОЛОНКУ часть этой информации можно разместить в колонках, которые показываются в окне Списка.
Например, необходимо просмотреть широту и долготу мест расположения радиостанций в окне Списка. Пусть мы работаем с единственной таблицей – RADIOLOC. Но мы можем по-прежнему использовать тот же диалог "Обновить колонку", что и в примере с добавлением временной колонки.
Если просмотреть структуру исходной таблицы (ТАБЛИЦА > ÈЗМЕНИТЬ > ÑТРУКТУРА), то в ней нельзя увидеть никаких полей, содержащих явно широту и долготу, поскольку такая информация хранится в таблице особым образом. Прежде чем обновить содержимое таблицы, следует сначала добавить в таблицу две новые колонки (назовем их “Широта" и “Долгота"), куда мы поместим данные о координатах. После внесения указанных изменений таблица будет удалена из всех открытых окон. Однако она по-преж- нему будет открыта.
Глава 22: Работа с таблицами
Выполним команду ТАБЛИЦА > ÎБНОВИТЬ КОЛОНКУ, укажем RADIOLOC и в качестве таблицы, которую надо обновить, и в окошке Значение извлечь из. Установим Долгота
в окошке Обновить колонку. В окошке Значение мы должны указать выражение для получения долготы. Нажмите кнопку СОСТАВИТЬ, чтобы открыть диалог "Выражение". В списке Функции выберем "CentroidX". MapInfo покажет выражение "CentroidX(obj)". Нажмите OK, чтобы вернуться в диалог "Обновить колонку". Выражение будет скопировано в окошко Значение. Нажмите OK. MapInfo вычислит значение долготы каждой радиостанции и поместит их в колонку Долгота.
Повторим эту процедуру для того, чтобы получить широты с помощью выражения CentroidY(obj). Выполните команду ФÀÉË > ÑОХРАНИТЬ ТАБЛИЦУ, чтобы сохранить координаты в таблицу RADIOLOC.
Глава 22: Работа с таблицами
Примечание: При изменении графических объектов (а следовательно, и координат центроидов), Вам следует заново вычислить значения для двух введенных нами колонок. Они не будут обновлены автоматически.
Обобщение данных командой Обновить колонку
В MapInfo имеется несколько функций обобщения, позволяющих вычислять новую ин-
формацию на основе имеющихся сведений. Эти функции можно использовать в диалоге
команды ОБНОВИТЬ КОЛОНКУ, если в диалоге "Обновить колонку" используются две
таблицы. Среди них – Average, Count, Minimum, Maximum, Sum, Weighted Average,
Proportion Sum, Proportion Average и Proportion Weighted Average. Вот описание этих
функций.
Average |
вычисляет среднюю величину на основании всех |
|
значений из указанной группы. |
Count |
подсчитывает число записей в группе. |
Minimum |
находит наименьшее значение в группе. |
Maximum |
находит наибольшее значение в группе. |
Sum |
вычисляет сумму значений для всех записей группы.. |
Weighted Average |
вычисляет среднее значение для записей группы; |
|
различные значения берутся с различными |
|
коэффициентами (весами). |
Proportion Sum |
вычисляет сумму в зависимости от того, какая часть |
|
графического объекта лежит внутри другого объекта. |
Proportion Average |
вычисляет среднее значение в зависимости от того, |
|
какая часть графического объекта лежит внутри |
|
другого объекта. |
Proportion Weighted |
вычисляет взвешенное среднее значение в зависимости |
Average |
от того, какая часть графического объекта лежит |
|
внутри другого объекта. |
Отметим, что среднее значение, число элементов, минимум, максимум, сумма и
взвешенное среднее вычисляются только для числовых данных. Пропорциональные
функции учитывают географические характеристики объектов.
Глава 22: Работа с таблицами
Пример использования функций Proportion Sum и Proportion Average
Чтобы продемонстрировать концепцию использования пропорциональной суммы и пропорционального среднего значения, рассмотрим следующий пример.
Необходимо определить, какая часть населения района проживает в зоне риска затопления (наводнения). Имеется две таблицы: таблица ГОРОДА с границами городов и статистическими данными и таблица НАВОДНЕНИЕ, содержащая границы области имевшего места наводнения (на рисунке – это круг). В зону затопления попадают три города с пригородами. Как показано на рисунке, MapInfo вычисляет, какая часть населения этих трех городов проживает в зоне затопления (пропорциональная сумма) и выдает результат во временной колонке таблицы НАВОДНЕНИЕ. Аналогично, MapInfo вычисляет пропорциональное среднее значение для уровня жизни в этой же зоне.
Глава 22: Работа с таблицами
Пропорциональную сумму лучше всего использовать на исходных данных (численность населения, количество жилых домов и т.д.), а пропорциональное среднее – на вычисляемых данных (средний доход, средняя стоимость жилья и т.п.).
Пример использования функции Proportion Weighted Average
Функция Proportion Weighted Average работает аналогично функции пропорционального среднего за исключением того, что слагаемые берутся с коэффициентами (весами). Эти коэффициенты получают также из некоторой колонки таблицы.
Например, Вы хотите найти наилучшее место для размещения нового торгового ряда. Вы считаете, что он будет охватывать клиентов в радиусе 20 км. Имеется пять
Глава 22: Работа с таблицами
потенциально возможных мест, но Вы хотите выбрать одно из них, имеющее наилучшее сочетание численности населения и размера доходов.
Для этого создайте временную колонку в таблице ОКРУГ с данными из таблицы ГОРОДА, содержащей пропорциональное число жителей, охваченных торговым рядом. В качестве весового коэффициента используйте средний доход жителей каждого города. В данном примере MapInfo автоматически объединяет таблицы, чтобы выяснить, какая часть города попадает в 20–километровую окрестность возможного места расположения торгового ряда.
Наиболее подходящим будет то место, которому будет соответствовать наибольшее значение во временной колонке, как показано в окне Списка.
Глава 23: Доступ к удаленным базам данных
Необходимые условия для доступа к удаленным базам
данных
Для создания работоспособного подключения MapInfo к СУБД (DBMS) необходимо предварительно установить достаточно много необходимых компонент программ.
MapInfo не устанавливает следующего:
∙Выбранную Вами систему управления базами данных (Oracle7, Oracle 8, Oracle 8i, MS Access, Sybase и т.п.) - это необходимо только в случае, если Вы предполагаете установить СУБД на тот же компьютер, где установлено MapInfo.
∙Средства обеспечения сетевого подключения, необходимые для подключения к выбранной Вами СУБД (Oracle7-SQL*NET; Sybase-OpenClient; è .ï.).
При установке MapInfo есть возможность установить следующие программные компоненты:
∙Администратор источников данных ODBC фирмы Microsoft - и при необходимости обновить имеющийся.
∙(Дополнительно) драйверы ODBC фирмы Merant.
∙Программное обеспечение поддержки ODBC фирмы MapInfo.
Если необходимые компоненты отсутствуют, то при установке поддержки ODBC в процессе установки MapInfo будут появляться различные сообщения, предупреждающие Вас об отсутствии необходимых DLL файлов. В этом случае проведите установку MapInfo до конца, а затем установите вышеперечисленные компоненты поддержки. После этого Вы можете адаптировать Ваши источники данных в Администраторе ODBC, не возвращаясь к процедуре установки MapInfo.
Поддержка Oracle8i
Oracle8i Spatial — это новая реализация пространственной базы данных, выпущенная корпорацией Oracle. Е¸ можно установить в дополнение к соединению MapInfo с базами данных через ODBC. Хотя она и имеет общие черты с более ранними реализациями Oracle SDO, имеются и существенные отличия. Oracle8i Spatial обслуживает хранимую в Oracle SDO информацию средствами, общими для любых реляционных схем. Следует учитывать, что MapInfo не может поддерживать связь с реляционной схемой Oracle SDO через Oracle Call Interface (OCI). MapInfo может поддерживать несколько одновременных соединений к Oracle8i через OCI и к другим базам данных через ODBC. С помощью MapInfo нельзя загрузить из базы данных Oracle8i пространственные