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

MI6UGRU

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

Глава 22: Работа с таблицами

5.Для отделения последнего имени колонки от полного тройного имени выполните команду ТАБЛИЦА > ÎБНОВИТЬ КОЛОНКУ. Заполните диалог “Обновить колонку” следующим образом:

Обновляемая колонка теперь Last, è Значение: Right$(LAST, Len(LAST)-

Instr(1,LAST,” “)).

6.Для выделения среднего имени из полного слившегося имени колонки, выполните команду ТАБЛИЦА > ÎБНОВИТЬ КОЛОНКУ. Заполните диалог “Обновить колонку” следующим образом:

Обновляемая колонка теперь Middle, à Значение: Left$(LAST, Instr(1,LAST,”

“)).

477

Глава 22: Работа с таблицами

7.Теперь обновим колонку Last, используя команду ТАБЛИЦА > ÎБНОВИТЬ КОЛОНКУ, и заполните диалог следующим образом.

Значение теперь равно: Right$(LAST, Len(LAST)-Instr(1,LAST,” “)).

Размещение информации о графических объектах в видимых колонках

Команда ОБНОВИТЬ КОЛОНКУ также используется для того, чтобы разместить информацию о графических объектах в видимых колонках таблицы. Таблицы, содержащие графические объекты, скрытно хранят информацию о них (она не видна пользователю). С помощью команды ОБНОВИТЬ КОЛОНКУ часть этой информации можно разместить в колонках, которые показываются в окне Списка.

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

Если просмотреть структуру исходной таблицы (ТАБЛИЦА > ÈЗМЕНИТЬ > ÑТРУКТУРА), то в ней нельзя увидеть никаких полей, содержащих явно широту и долготу, поскольку такая информация хранится в таблице особым образом. Прежде чем обновить содержимое таблицы, следует сначала добавить в таблицу две новые колонки (назовем их “Широта" и “Долгота"), куда мы поместим данные о координатах. После внесения указанных изменений таблица будет удалена из всех открытых окон. Однако она по-преж- нему будет открыта.

478

Глава 22: Работа с таблицами

Выполним команду ТАБЛИЦА > ÎБНОВИТЬ КОЛОНКУ, укажем RADIOLOC и в качестве таблицы, которую надо обновить, и в окошке Значение извлечь из. Установим Долгота

в окошке Обновить колонку. В окошке Значение мы должны указать выражение для получения долготы. Нажмите кнопку СОСТАВИТЬ, чтобы открыть диалог "Выражение". В списке Функции выберем "CentroidX". MapInfo покажет выражение "CentroidX(obj)". Нажмите OK, чтобы вернуться в диалог "Обновить колонку". Выражение будет скопировано в окошко Значение. Нажмите OK. MapInfo вычислит значение долготы каждой радиостанции и поместит их в колонку Долгота.

Повторим эту процедуру для того, чтобы получить широты с помощью выражения CentroidY(obj). Выполните команду ФÀÉË > ÑОХРАНИТЬ ТАБЛИЦУ, чтобы сохранить координаты в таблицу RADIOLOC.

479

Глава 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

от того, какая часть графического объекта лежит

 

внутри другого объекта.

Отметим, что среднее значение, число элементов, минимум, максимум, сумма и

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

функции учитывают географические характеристики объектов.

480

Глава 22: Работа с таблицами

Пример использования функций Proportion Sum и Proportion Average

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

Необходимо определить, какая часть населения района проживает в зоне риска затопления (наводнения). Имеется две таблицы: таблица ГОРОДА с границами городов и статистическими данными и таблица НАВОДНЕНИЕ, содержащая границы области имевшего места наводнения (на рисунке – это круг). В зону затопления попадают три города с пригородами. Как показано на рисунке, MapInfo вычисляет, какая часть населения этих трех городов проживает в зоне затопления (пропорциональная сумма) и выдает результат во временной колонке таблицы НАВОДНЕНИЕ. Аналогично, MapInfo вычисляет пропорциональное среднее значение для уровня жизни в этой же зоне.

481

Глава 22: Работа с таблицами

Пропорциональную сумму лучше всего использовать на исходных данных (численность населения, количество жилых домов и т.д.), а пропорциональное среднее – на вычисляемых данных (средний доход, средняя стоимость жилья и т.п.).

Пример использования функции Proportion Weighted Average

Функция Proportion Weighted Average работает аналогично функции пропорционального среднего за исключением того, что слагаемые берутся с коэффициентами (весами). Эти коэффициенты получают также из некоторой колонки таблицы.

Например, Вы хотите найти наилучшее место для размещения нового торгового ряда. Вы считаете, что он будет охватывать клиентов в радиусе 20 км. Имеется пять

482

Глава 22: Работа с таблицами

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

Для этого создайте временную колонку в таблице ОКРУГ с данными из таблицы ГОРОДА, содержащей пропорциональное число жителей, охваченных торговым рядом. В качестве весового коэффициента используйте средний доход жителей каждого города. В данном примере MapInfo автоматически объединяет таблицы, чтобы выяснить, какая часть города попадает в 20–километровую окрестность возможного места расположения торгового ряда.

Наиболее подходящим будет то место, которому будет соответствовать наибольшее значение во временной колонке, как показано в окне Списка.

483

Доступ к удаленным базам

данных

Обзор

MapInfo Professional обеспечивает доступ к удаленным базам данных с помощью либо своего ODBC подключения, либо подключения к объектам Oracle8i Spatial. MapInfo предоставляет необходимые драйверы ODBC для организации подключения ко многим типам баз данных. Вы легко можете установить необходимые драйверы. Теперь, кроме драйверов ODBC, MapInfo обеспечивает подключение пространственным объектам как хранящимся в базе данных Oracle Spatial версии v. 8.1.6, так и в базе данных Oracle 8i версии 8.1.5. Такой подход позволяет хранить единообразно в единственной базе данных как пространственные данные, так и более распространенные типы данных. При этом появляется возможность читать и записывать пространственные данные без использования промежуточного программного обеспечения, такого как MapInfo SpatialWare или SDE. Кроме того, обеспечивается повышение производительность системы за счет использования Oracle Call Interface (OCI). Еще одним преимуществом такого подхода является тот факт, что к этим данным (пространственным и не имеющим пространственной компоненты) обеспечивается доступ приложений Oracle через другие интерфейсы (ODBC, OCI, JDBC, PL/SQL, HTTP, IIOP и т.п.) и появляется возможность использовать для просмотра и редактирования всех данных и другое программное обеспечение (MapInfo Professional, ArcView, Intergraph, Excel, Forte, Formida и т.п.).

Глава

Необходимые условия для доступа к удаленным базам данных

Поддержка Oracle8I

Установка поддержки СУБД (DBMS)

Установка драйверов ODBC

Создание новых источников данных

Необходимые условия хранения и извлечения пространственных данных в базах данных

Присоединение геоинформации для геокодирования таблицы СУБД (DBMS)

Таблицы ODBC и связанные таблицы

Загрузка связанных таблиц

Открытие таблицы ODBC

Создание прямого доступа к удаленным данным с помощью ODBC

Границы объектов в пространственных запросах к SpatialWare

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

Ââîä SQL-запросов вручную

Запросы ктаблицам удаленных баз данных с помощью BUILDSQL.mbx

Сохранение связанной таблицы

Обновление связанной таблицы

Как разорвать связь с удаленной базой данных

Как закрыть подключение к удаленной базе данных

Глава 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 пространственные

486

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