Лекция 1 Теоретические основы географические и земельные информационные системы — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Лекция 1 Теоретические основы географические и земельные информационные системы

2018-01-07 275
Лекция 1 Теоретические основы географические и земельные информационные системы 0.00 из 5.00 0 оценок
Заказать работу

Лекция 3. Базовые структуры данных в ГИС

План:

1. Особенности организации данных в ГИС

2. Подходы организации связи между данными

3. Формы представления объектов в ГИС

4. Модели организации пространственных данных в ГИС

 

Особенности организации данных в ГИС

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

Для того чтобы полностью отобразить геообъекты реального мира и все их свойства, понадобилась бы бесконечно большая база данных. Поэтому, используя приемы генерализации и абстракции, необходимо свести множество данных к конечному объему, легко поддающемуся анализу и управлению. Это достигается применением моделей, сохраняющих основные свойства объектов исследования и не содержащих второстепенных свойств. Поэтому первым этапом разработки ГИС или технологии ее применения является обоснование выбора моделей данных для создания информационной основы ГИС.

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


Рис. 1. Уровни организации данных

 

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

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

Рис.2 Схематическое представление процессов сбора, обработки, анализа и вывода данных в ГИС

 

На первом этапе производится “коллекционирование” как географической (цифровые карты, изображения), так и атрибутивной информации. Собранные данные являются наполнением двух баз данных. Первая БД хранит картографические данные, вторая же наполнена информацией описательного характера.

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

Ввод данных в ГИС

Ввод данных – процедура кодирования данных компьютерно-

читаемую форму и их запись в базу данных GIS.

Ввод данных включает три главных шага:

1) сбор данных;

2) их редактирование и очистка;

3) геокодирование данных.

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

Информация о качестве данных включает в себя:

1) дату получения;

2) точность позиционирования;

3) точность классификации;

4) полноту;

5) метод, использованный для получения и кодирования данных.

Типы систем ввода данных включают в себя:

1. Вход с помощью клавиатуры:

- главным образом, для атрибутивных данных;

- редко используется для пространственных данных;

- может быть совмещен с ручным цифрованием;

- обычно более эффективно используется как отдельная операция.

2. Координатная геометрия:

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

делам;

- очень высокий уровень точности, полученной, за счет полевых гео-

дезических измерений;

- очень дорогой;

- используемый для земельного кадастра.

3. Ручное цифрование:

- наиболее широко используемый метод ввода пространственных

данных с карт;

- эффективность зависит от качества программного обеспечения

цифрования и умение оператора;

- требует много времени и допускает наличие ошибок.

4. Сканирование:

- цифровое изображение карты полученное сканером;

- размер ячейки, который можно отсканировать (минимальный

фрагмент карты составляет около 20 микрон (0.02 мм);

- снимок нуждается в обработке и редактировании для улучшения

качества;

- изображение должно преобразоваться в векторный формат:

> маркировка E7оu1076 äля обеспечения взаимосвязи с атрибутами;

> сканированные изображения могут непосредственно использовать-

ся для производства карты;

> данные дистанционного зондирования.

5. Ввод существующих цифровых файлов:

 наборы данных различных ведомств и организаций должны быть

доступны.

 приобретение и использование существующих цифровых наборов

данных является наиболее эффективным способом заполнения ГИС.

Проблемы цифрования карт:

 уровень ошибок в базе данных ГИС непосредственно связан с

уровнем ошибок исходных карт;

 карты не всегда адекватно отображают информацию и не всегда

точно передают данные о местоположении.

Накопление ошибок представлено на рисунке 2.11.

Рис.2.11. Накопление ошибок


Лекция 4. Выборка.

Наряду с тем, что MapInfo позволяет отображать данные на географических картах, мощный аппарат анализа составляет способность MapInfo группировать и организовывать эти данные. Разбив данные на логические группы, можно проводить анализ на основании одной или нескольких переменных величин.

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

Например, рассмотрим таблицу записей о клиентах. Можно создать подмножество клиентов:

- проживающих не далее 50 км от Новгорода;

- сделавших покупки более чем на 1.000.000 рублей;

- чьи фамилии начинаются на букву "B".

Приведенные тут предложения, на основании которых формируются подмножества данных, называют запросами.

Существует множество способов группировки данных. Некоторые записи попадают более, чем в одну категорию. Также можно группировать данные по нескольким переменным. Кто из клиентов живет в радиусе 50 км от Новгорода, и сделал покупки на сумму более 1.000.000?

Характеристики Выборки

Выборки представляют собой временные таблицы. Когда проводится выбор, MapInfo создает временную таблицу и сохраняет в ней выбранные записи.

Над таблицей выборки можно проводить многие из тех операций, которые разрешены для постоянных (базовых) таблиц, например:

Ее можно просматривать в окнах Списка, Карты (если в ней имеются графические объекты), Графика и Отчета.

Ее можно вырезать и копировать в буфер обмена, а также вставлять в другие таблицы или даже использовать в других программах.

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

Из выборки в свою очередь можно выбирать записи.

Чтобы сохранить таблицу выборки в виде постоянной таблицы, нужно выполнить команду ФАЙЛ >СОЗДАТЬ КОПИЮ. Сохранив выборку в постоянную таблицу, можно работать с ней дальше, как со всеми другими таблицами.

Таблицы выборок полностью зависят от тех таблиц, на основании которых они были созданы. Так, при закрывании базовой таблицы все связанные с ней таблицы выборок будут закрыты.

Как делать Выборки

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

1. Выбор на экране: инструменты Стрелка, Выбор-в-круге, Выбор-в-области, Выбор-в-рамке, команда ВЫБРАТЬ ПОЛНОСТЬЮ. Чтобы выбрать записи инструментом, следует указать на соответствующий графический объект (объекты) или обвести их окружностью. Чтобы выбрать все записи некоторого слоя, выполните команду ЗАПРОС > ВЫБРАТЬ ПОЛНОСТЬЮ.

2. Выбор с помощью запросов: ВЫБРАТЬ, SQL-ЗАПРОС. В обоих случаях задается логическое выражение, на основании которого MapInfo выбирает записи. Например, выражение ПРОДАЖИ > 20000000 означает, что MapInfo выберет только записи о продажах на сумму более 20 млн.

Выбор на экране

Чтобы выбрать объект на карте, этот объект должен лежать на доступном слое. Чтобы сделать слой доступным, нужно выполнить команду УПРАВЛЕНИЕ СЛОЯМИ из меню КАРТА и установите режим "Доступный" для данного слоя.

Когда выбирается объект на доступном слое карты, MapInfo выделяет этот объект методом, заданным в разделе "Выделение выборки" диалога "Режимы" (меню НАСТРОЙКА). При выборе же объекта на изменяемом слое MapInfo показывает вокруг такого объекта маркеры (черные квадраты).

При наличии нескольких доступных слоев в окне Карты MapInfo выбирает объекты с самого верхнего из них. Например, в окне Карты доступными являются слои районов и областей. Если слой районов является верхним, то MapInfo выбирает объекты с него. И, наоборот, если выше лежит слой областей, MapInfo производит выбор со слоя областей. Когда Вы используете инструмент Стрелка, MapInfo отображает всплывающие подсказки для самого верхнего доступного слоя. По мере продвижения курсора к другим объектам, информация во всплывающих подсказках изменяется. Вы можете отключить всплываящие подсказки с помощью команды НАСТРОЙКИ>РЕЖИМЫ>ОКНО КАРТЫ.

Аналогично, чтобы проводить поиск по областям, они должны лежать на самом верхнем из доступных слоев. Пусть имеется слой почтовых индексов и слой границ областей. Чтобы выбрать все объекты, имеющие заданный почтовый индекс, слой почтовых индексов должен быть верхним среди перечисленных слоев. Чтобы выбирать объекты в заданной области, слой областей должен лежать выше слоя почтовых индексов. Изменить порядок слоев на карте можно с помощью команды КАРТА > УПРАВЛЕНИЕ СЛОЯМИ.

Чтобы выбрать объект из таблицы, соответствующей не самому верхнему слою, следует нажимать клавишу CTRL при выборе. Допустим, например, что есть три доступных слоя: слой областей, слой районов и слой городов. Вы хотите выбрать объекты на слое областей, но он является самым нижним слоем карты. Не отпуская клавишу CTRL, укажите еще раз на карту инструментом Стрелка. Теперь Вы работаете со вторым слоем. Не отпуская CTRL, еще раз укажите снова на карту инструментом Стрелка. Теперь Вы работаете с третьим слоем (самым нижним) - слоемобластей.

Отмена выбора объектов или записей

Вы можете:

Убрать отдельный объект или запись из группы выбранных объектов или записей

Отменить выбор группы объектов или записей

Отменить выбор всех выбранных объектов

Чтобы убрать один объект из группы выбранных объектов или записей, нажмите клавишу SHIFT и укажите на этот объект или запись инструментом Стрелка. Когда Вы укажете на него, выбор будет отменен.

Чтобы отменить выбор всех выбранных объектов, следует либо указать в любое место на карте, где нет ни одного объекта, либо выполнить команду ОТМЕНИТЬ ВЫБОР из меню Запрос.

Инструменты, используемые для выбора

Панель Операции MapInfo содержит несколько инструментов, которые позволяют выбирать записи для дальнейшего просмотра и анализа:

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

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

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

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

Каждый из этих инструментов более подробно описан ниже.

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

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

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

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

СЛОЯМИ).

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

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

4. Выполните команду ОКНО > НОВЫЙ СПИСОК, чтобы увидеть список уже выбранных записей. Выберите "Selection" ("Выборка") в окошке списка таблиц. MapInfo создаст окно Списка для текущей временной таблицы выборки. Чтобы выбирать записи в этом окне, просто указывайте на запись инструментом Стрелка.

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

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

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

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

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

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

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

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

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

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

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

Чтобы увидеть список выбранных в круге записей, выполните команду НОВЫЙ СПИСОК из меню ОКНО. Выберите "Selection" ("Выборка") из списка таблиц. MapInfo создаст окно Списка для текущей временной таблицы выборки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кроме того, можно создавать области для поиска командой БУФЕР. Команда БУФЕР используется для создания областей вокруг точек, линий и других областей. Например, чтобы найти всех клиентов, проживающих в пределах пяти километров от Волоколамского шоссе, можно с помощью команды БУФЕР создать многоугольник, куда войдут все территории на расстоянии пяти километров от этого шоссе.

Командой БУФЕР можно создавать даже области вокруг областей. Пусть, например, Вы хотите найти все радиостанции на расстоянии не более 20 км от границ некоторого района. С помощью команды БУФЕР можно создать многоугольник, в который войдут местности в пределах 20 км от границы заданного района. Чтобы проводить поиск в многоугольнике, должны быть доступными два слоя: слой, из объектов которого будет строиться выборка, и слой, содержащий область, в которой будет проводиться поиск.

 

Запросы

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

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

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

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

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

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

Обобщить данные;

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

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

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

Select bolnicy.name, bolnicy.addres, bolnicy.tel, UNDEGR.R_NAME, distance(CentroidX(bolnicy.obj), CentroidY(bolnicy.obj), CentroidX(undegr.obj), CentroidY(undegr.obj),"m")
From bolnicy, undegr, bolnicy,distr
Where BOLNICY.Obj Within DISTR.Obj AND UNDEGR.Obj Within DISTR.Obj and
distr.r_name="Центральный" and distance(CentroidX(bolnicy.obj), CentroidY(bolnicy.obj),
CentroidX(undegr.obj), CentroidY(undegr.obj),"m")<200

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

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

Результаты запросов можно сохранять в виде таблиц, просматривать в окнах Списков, Карт и Графиков.

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

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

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

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

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

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

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

Кроме того, ее можно сохранить под другим именем командой СОЗДАТЬ КОПИЮ.

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

Чтобы выполнить поиск по запросу, необходимо задать логическое выражение.

Например, имеется таблица о сдаваемом внаем жилье. Если Вы хотите создать временную таблицу жилья, стоимость аренды которого ниже $800 в месяц, следует задать выражение: РЕНТА < 800 (где РЕНТА - это название колонки, содержащей данные о ежемесячной арендной плате.)

Можно производить арифметические операции над данными.

Пусть надо создать временную таблицу жилья, общая стоимость которого меньше $800. Общая стоимость образуется из арендной платы и ежемесячных коммунальных платежей. Задайте выражение: РЕНТА + ПЛАТЕЖИ < 800

Имеется два способа создания выражений.

1. можно ввести выражение напрямую.

2. можно нажать кнопку "Составить" в диалоге "Выбрать" и построить выражение с помощью окошек в диалоге "Выражение". Такой способ обычно используется при построении сложных выражений.

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

"Колонки"

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

"Операторы"

В этом окошке содержится перечень математических и логических операторов. Среди операторов - сложение, вычитание, умножение, деление, знаки больше, меньше и равно. С помощью этих символов можно создавать математические формулы. В списке "Операторы" содержатся также логические операции, например, AND, NOT, OR и LIKE.

"Функции"

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

Окошко "Функции" содержит много других функций, в том числе функции площади, периметра, синуса, косинуса и дат.

Этапы выполнения команды Выбрать

В общих чертах процесс выбора объектов с помощью команды ВЫБРАТЬ выглядит так:

1. Выполните команду ВЫБРАТЬ из меню Запрос.

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

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

4. Выберите колонку, по которой следует сортировать результаты обработки запроса (это не обязательно). Стандартный режим - без сортировки.

5. Чтобы увидеть выбранные записи в окне Списка, установите флажок "Результат в Список".

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

MapInfo называет временные таблицы выборок "Запрос1", "Запрос2" и так далее. При выборе записей с помощью команд ВЫБРАТЬ и SQL-ЗАПРОС можно задать свое название таблицы выборки вместо стандартного. Введите это название в окошко "поместить в таблицу".

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

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

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

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

Команда SQL-ЗАПРОС позволяет формулировать еще более сложные запросы, чем команда ВЫБРАТЬ.

Записи в таблице запросов, созданной командой ВЫБРАТЬ, не содержат никакой дополнительной информации по сравнению с исходной таблицей. Это, по существу, те же записи.

С помощью команды SQL-ЗАПРОС можно создавать таблицы запросов, содержащие данные, которые не присутствуют явно в исходных таблицах.

Сохранение запросов

Любой запрос, созданный в диалогах "Выбрать" и "SQL-Запрос" может быть сохранен как таблица запроса MapInfo. Таблицы запросов включают два файла:.TAB и.QRY. После того, как Вы выполнили команды в диалогах "Выбрать" и "SQL-запрос", выполните команду ФАЙЛ>СОХРАНИТЬ ЗАПРОС и, таким образом, запрос сохранится в виде таблицы. Когда Вы открываете эту таблицу, автоматически открываются таблицы, на основе которых выполняется запрос и далее этот запрос выполняется.

Запросы, сделанные на основе других запросов, не могут быть сохранены в виде таблицы или Рабочего набора.

Вычисляемые колонки

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

Стандартный текст в окошке "Выбрать колонки" Њ звездочка (*), которая показывает, что все колонки базовых таблиц следует включить в таблицу запроса. В остальных случаях надо удалить звездочку и перечислить только необходимые колонки.

В выражениях для вычисляемых колонок можно использовать функции обобщения count, sum, avg, wtavg, max и min. Например:

- sum(НАСЕЛЕНИЕ) - численность населения всего мира.

- sum(Area(obj), "sq km") - суммарная площадь всех стран мира.

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

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

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

Под обобщением данных понимаем выполнение математической операции над значениями всех записей из некоторой колонки таблицы. В отличие от команды ВЫБРАТЬ, которая позволяет выполнять математические операции над отдельными записями, язык SQL дает возможность обобщать данные из всех записей в заданной колонке.

При обобщении данных надо указать:

Как группировать записи.

Как суммировать (обобщать) данные.

Например, имеется таблица торговых агентов и объемов продаж за три месяца:

ТОРГ_ПРЕД МЕСЯЦ ПРОДАЖИ
Иванов Май  
Петросян Май  
Гольдштейн Май  
Иванов Июнь  
Петросян Июнь  
Гольдштейн Июнь  
Иванов Июль  
Петросян Июль  
Гольдштейн Июль  

Вычислим общий объем продаж, сделанных каждым из агентов, если в

диалоге "SQL-запрос" указать:

- В окошке "Выбрать колонки": ТОРГ_ПРЕД, sum(ПРОДАЖИ)

- "Сгруппировать по колонке": ТОРГ_ПРЕД

ТОРГ_ПРЕД sum(ПРОДАЖИ)
Иванов  
Петросян  
Гольдштейн  

или вычислить среднемесячный объем продаж каждого агента:

В MapInfo имеется шесть функций обобщения:

Count(*): подсчитывает число записей в группе. В качестве ее аргумента указывается *, так как она применима только ко всей записи, а не к какому-то отдельному полю записи.

Sum (выражение): вычисляет сумму значений в <выражении> для всех записей группы.

Average (выражение): вычисляет среднее значение в <выражении> для всех записей группы.

WtAvg (выражение): вычисляет взвешенное среднее значение <выражения> для всех записей группы.

Max (выражение): находит наибольшее значение в <выражении> среди всех записей группы.

Min (выражение): находит наименьшее значение в <выражении> среди всех записей группы.

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

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

Кроме того, можно указать MapInfo порядок сортировки результатов запроса. Стандартный порядок - по возрастанию (для строковых полей - по алфавиту).

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

При выполнении SQL-запросов к нескольким таблицам MapInfo должна объединить данные из разных таблиц. Допустим, имеется таблица, содержащая только графические объекты и их названия, и таблица статистических данных для некоторого региона. Надо показать эти статистические данные на карте. Можно объединить статистические и географические данные в одну таблицу с помощью команды SQL-ЗАПРОС.

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

Например, рассмотрим таблицу WORLD и таблицу экономической статистики (ECO_STATS) по всем странам мира. Надо создать временную таблицу запроса, которая объединила бы оба набора данных:

- "Выбрать колонки": *

- "Из таблиц": WORLD, ECO_STATS

- "С условием": WORLD.Страна = ECO_STATS.Страна

Пример. Создадим таблицу, содержащую следующую информацию:

- Число государств на континенте

- Общую численность населения континента

- Общую площадь континента

Откройте таблицу WORLD.TAB и увеличьте его на все окно. Выполните команду Запрос > SQL-запрос. Заполните его следующим образом:

Поле "Выбрать колонки": континент, count(*) "страны", sum(население) "общее население", sum(area(obj,"sq km")) "общая площадь"

Поле "Из таблиц" - world

Поле "Сгруппировать по колонкам" - Континент

Условие Where

Выражение Where в окошке "с условием" позволяет объединять таблицы MapInfo более логично и более просто.

Порядок полей

Порядок полей, используемых в объединении таблиц не имеет значения. Любой из вариантов синтаксиса приемлем:

Select * from A,B where A.field1 = B.field1

Select * from A,B where B.field1 = A.field1

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

Select * from states, cities where states.obj contains cities.obj

Select * from states, cities where cities.obj within states.obj

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

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

Например, Вам надо выбрать все улицы в таблице ДОРОГИ, содержащие слово "Большая" в колонке УЛИЦЫ.

Условие в запросе будет выглядеть так: InStr(1, "Улицы","Большая");

Если функция InStr встретит любое появление "Большая" она вернет позицию на следующее за этим место.

Синтаксис функции INSTR определяется следующим образом:

INSTR (position, string, substring), где: position - это стартовая позиция поиска, string - это строковый символ или поле, содержащее строковый символ, который надо найти, substring - это строковый символ, который следует найти

Если строковый символ, который Вы ищете, не существует, то будет возвращено значение 0.

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

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

NOT имя_колонки IN(SELECT имя_колонки FROM второй_таблицы)

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

Каждая запись в таблице имеет порядковый номер в колонке RowID.

Для выбора четных записей условие выглядит так: RowID Mod 2=0

Для выбора нечетных записей условие выглядит так: RowID Mod 2>0

 

Отсутствие растеризации (зернистости) графических объектов при масштабировании зоны просмотра. [5]


 

Рис.1 Растровая и векторная модели пространственных данных

Лекция 1 Теоретические основы географические и земельные информационные системы

1.Геоинформатика - наука, технология, производство

Геоинформатика - это современная научная дисциплина, которая изучает природные и социально-экономические геосис­темы различных иерархических уровней посредством компью­терного моделирования на основе баз данных и баз знаний.

Подобно экологии, которая вбирает в себя основы не­скольких наук, геоинформатика формируется на стыке географии, информатики, теории информационных систем, картогра­фии и других дисциплин с привлечением системного подхода и новейших достижений в области вычислительной техники

Связь ГИС с научными дисциплинами и технологиями:

1. География

2. Картография

3. Дистанционное зондирование

4. Топография и фотограмметрия

5. Информатика

6. Математика и статистика

Геоинформатика изучает принципы, технику и технологию получения, накопления, передачи, обработки и представления данных и как средство получения на их основе новой информа­ции и знаний о пространственно-временных явлениях.

Сегодня геоинформатика предстает в виде системы, охва­тывающей науку, технику и производство. Геоинформатика -это не только научная дисциплина, но и технология (ГИС-технология) сбора, хранения, преобразования, отображения и распространения пространственно-координированной информа­ции, целью которой является решение задач инвентаризации, оптимизации и управления геосистемами. Как производство геоинформатика включает в себя изготовление программных и аппаратных средств, создание баз данных, систем управления, стандартных и коммерческих ГИС различного целевого назна­чения и проблемной ориентации.

Сфера деятельности геоинформатики связана с дистанци­онным зондированием и картографией, а также затрагивает фо­тограмметрию и топографию.

Взаимосвязи картографии и геоинформатики проявляются в следующих аспектах:

1 тематические и картографические карты - главный ис­точник пространственно - временной информации;

2 системы географических и прямоугольных координат служат основой для координатной привязки всей информации, поступающей и хранящейся в ГИС;

3 карты - основное средство географической интерпретации и организации данных дистанционного зондирования и другой используемой в ГИС информации (статистической, аналитической и т.п.);

4 картографический анализ - один из наиболее эффективных


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.978 с.