Векторные и растровые данные
Векторные и растровые данные
Векторные данные лучше подходят для регистрации расположения дискретных пространственных объектов, местоположение которых точно известно, таких, например, как улицы, границы участков, реки, телефонные станции и т.д. Покрытия ARC/INFO являются векторными данными.
Векторные данные могут точно описать истинное расположение объектов на земной поверхности. Однако, точность векторных данных в значительной степени зависит от числа х, у координат, выбранных для представления объектов, особенно для описания таких природных объектов как реки и береговая линия.
Растровые данные обычно, но не исключительно, используются для хранения информации о географических объектах (свойствах местности), непрерывно распределенных на поверхности, таких как высота, отражательная способность, глубина залегания грунтовых вод и т.д. Гриды ARC/INFO являются растровыми данными. Данные изображения являются одной из форм растровых данных, где в каждой ячейке или пикселе хранится значение, записанное оптическим или электронным устройством.
Растровые данные сильно зависят от шага (разрешения) регулярной сетки, в которой они записываются. Размер ячеек грида (сетки) фиксирован, так что по мере увеличения изображения растровых данных в виде, в конце концов, вы увидите форму ячеек.
Географические и атрибутивные данные
Атрибутивные данные - это качественные или количественные характеристики пространственных объектов, выражающиеся, как правило, в алфавитно-цифровом виде.
Графические данные – описывают то, как пространственные данные будут выглядеть на устройстве вывода (мониторе, плоттере и т.д.).
Явления и объекты могут использоваться в ГИС в двух формах:
· непрерывное представление -> матричные и неограниченные в пространстве
объекты
· дискретное представление -> определенные площадные и линейные объекты
Графическое представление объектов и атрибутов
В растровых системах есть два способа включения атрибутивной информации об объектах. Простейшим является присваивание значения атрибута (например, класса растительного покрытия) каждой ячейке растра. Распределяя эти значения, мы в конечном итоге позволяем позициям значений атрибутов играть роль местоположений объектов. Например, если числом 10 мы представляем водную поверхность, и записываем его в левую верхнюю ячейку растра, то по умолчанию эта ячейка является участком земной поверхности, представляющем воду. Таким образом мы можем каждой ячейке на данной карте присвоить только одно значение атрибута. Альтернативный подход, а на самом деле, - расширение только что описанного, состоит в связывании каждой ячейки растра с базой данных, так что любое число атрибутов может быть присвоено каждой ячейке растра. Этот подход становится все более преобладающим, так как он уменьшает объем хранимых данных и может обеспечивать связь с другими структурами данных, которые также используют СУБД для хранения и поиска данных.
Хотя абсолютное местоположение не является явной частью растровой структуры данных, оно подразумевается относительным положением ячеек. Таким образом, линия представляется ячейками в определенных положениях относительно друг друга; области представляются смежными ячейками. Как вы могли догадаться, чем больше размер ячейки, тем большую площадь земли она покрывает, то есть, тем ниже (грубее)разрешение (resolution) растра, и тем меньше точность положений точек, линий и областей, представленных данной структурой.
Векторная структура данных показывает только геометрию картографических объектов. Чтобы придать ей полезность карты, мы связываем геометрические данные с соответствующими атрибутивными данными, хранящимися в отдельном файле или в базе данных. Благодаря этому контурное изображение объектов становится больше похожим на карту. В растровой структуре мы записывали значение атрибута в каждую ячейку, в векторном же представлении мы используем совсем другой подход, храня в явном виде собственно графические примитивы без атрибутов и полагаясь на связь с отдельной атрибутивной базой данных.
В векторных структурах данных линия состоит двух или более пар координат. Для одного отрезка достаточно двух пар координат, дающих положение и ориентацию в пространстве. Более сложные линии состоят из некоторого числа отрезков, каждый из которых начинается и заканчивается парой координат. Для кривых линий может использоваться приближенное изображение с помощью большого числа коротких прямых отрезков. Чем короче отрезки, тем более точно они представляют сложную линию. Таким образом, мы видим, что хотя векторные структуры данных лучше представляют положения объектов в пространстве, они не абсолютно точны. Они все же являются приближенным изображением географического пространства.
Хотя некоторые линии существуют самостоятельно и имеют определенную атрибутивную информацию, другие, более сложные наборы линий, называемые сетями, содержат также дополнительную информацию о пространственных отношениях этих линий. Например, дорожная сеть содержит не только информацию о типе дороги и ей подобную, она показывает также возможное направление движения. Эта информация должна быть присвоена каждому отрезку, чтобы сообщить пользователю, что движение может продолжаться вдоль каждого отрезка до изменения атрибутов, возможно, до того момента, когда двухсторонняя улица станет односторонней. Другие коды, связывающие эти отрезки, могут включать информацию об узлах, которые их соединяют.
Импорт изображений
В Google Планета Земля можно открывать изображения ГИС и проецировать их по заданным координатам в окне 3D-просмотра. Сервис не поддерживает файлы с данными в формате NAD83.
· TIFF (.tif), включая файлы GeoTiff и сжатые файлы TIFF
· National Imagery Transmission Format (.ntf)
· Erdas Imagine Images (.img)
Геокоди́рование — процесс назначения географических идентификаторов (таких как географические координаты, выраженные в виде широты и долготы) объектам карты и записям данных.
Например, геокодированием является назначение координат записям, описывающим адрес (улица/дом) или фотографиям (где было сделано фото) или IP-адресам, или любой другой информации, имеющей географический компонент. Геокодированные объекты могут быть использованы в геоинформационных системах.
В диалоге Геокодирование Вы можете также выбрать режим геокодирования: Автоматический или Вручную. При автоматическом геокодировании MapInfo Professional производит кодирование только при полном совпадении данных, остальные записи игнорируются. Этот метод работает быстрее, так как MapInfo Professional не обращается к пользователю до окончания процесса геокодирования. Когда Вы геокодируете таблицу вручную, MapInfo Professional останавливает процесс каждый раз, когда не находит точного аналога, и дает пользователю возможность выбрать значение из списка возможных вариантов.
Общие сведения о SQL
SQL (Structured Query Language - язык структурированных запросов) является языком четвертого уровня, предназначенным для работы с реляционными базами данных.
В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД System R (англ.), для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language - структурированный английский язык запросов. Позже по юридическим соображениям язык SEQUEL был переименован в SQL и официальным произношением стало [,es kju:' el] - эс-кью-эл.
Первыми СУБД, поддерживающими новый язык, стали в 1979 году OracleV2 для машин VAX от компании Relational Software Inc. и System/38 от IBM, основанная на System/R.
Первый официальный стандарт языка SQL был принят ANSI в 1986 году и ISO в 1987 году (так называемый SQL-86) и несколько уточнён в 1989 году. Дальнейшее развитие языка поставщиками СУБД потребовало принятия в 1992 году нового расширенного стандарта (ANSI SQL-92 или просто SQL2). Следующим стандартом стал SQL:1999 (SQL3). В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже.
История версий стандарта представлена в таблице:
Таблица
Год | Название | Иное название | Изменения |
SQL-86 | SQL-87 | Первый вариант стандарта, принятый институтом ANSI и одобренный ISO в 1987-ом году | |
SQL-89 | FIPS 127-1 | Немного доработанный вариант предыдущего стандарта. | |
SQL-92 | SQL2, FIPS 127-2 | Значительные изменения (ISO 9075); уровень Entry Level стандарта SQL-92 был принят как стандарт FIPS 127-2 | |
SQL:1999 | SQL3 | Добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности | |
SQL:2003 | Введены расширения для работы с XML-данными, оконные функции (применяемые для работы с OLAP-базами данных, генераторы последовательностей и основанные на них типы данных | ||
SQL:2006 | Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery | ||
SQL:2008 | Улучшены возможности оконных функций, устранены некоторые неоднозначности стандарта SQL:2003 |
Основные преимущества использования SQL:
1. Независимость от конкретной СУБД. Несмотря на наличие диалектов, и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML операторы, могут быть достаточно легко перенесены из одной СУБД в другую. Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться очень трудно.
2. Наличие стандартов. Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту способствует «стабилизации» языка. Однако стандарт местами чересчур формализован и раздут в размерах, например, Core-часть стандарта SQL:2003 представляет собой более 1300 страниц текста.
3. Декларативность. С помощью SQL программист описывает, какие данные нужно извлечь или модифицировать. То, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса, но при этом полезно представлять, как СУБД будет разбирать текст его запроса. Особенно критичными такие моменты становятся при работе с большими базами данных и со сложными запросами, - чем сложнее сконструирован запрос, тем больше он допускает вариантов написания, различных по скорости выполнения, но одинаковых по итоговому набору данных.
Кроме этого, можно отметить и ряд недостатков:
1. Несоответствие реляционной модели данных. Создатель реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности они указывают на следующие проблемы SQL:
- повторяющиеся строки;
- неопределённые значения (NULL);
- явное указание порядка колонок слева направо;
- колонки без имени и дублирующиеся имена колонок;
- использование указателей и т.д.
2. Сложность. Хотя SQL и задумывался, как средство работы конечного пользователя, в конце концов, он стал настолько сложным, что превратился в инструмент программиста.
3. Отступления от стандартов. Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft
, MySQL), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL. Существует четыре уровня соответствия реализации SQL стандарту:- entry (базовый);
- transitional (переходный);
- intermediate (промежуточный);
- full (полный).
4. Сложность работы с иерархическими структурами. Ранее SQL не предлагал стандартного способа манипуляции древовидными структурами. Некоторые поставщики СУБД предлагали свои решения. Например, Oracle использует выражение CONNECT BY. В настоящее время в качестве стандарта принята рекурсивная конструкция WITH.
Поскольку SQL не является языком программирования (то есть не предоставляет средств для автоматизации операций с данными), вводимые разными производителями расширения касались в первую очередь процедурных расширений. Это хранимые процедуры и процедурные языки. Практически в каждой СУБД применяется свой процедурный язык.
Понятие о ГИС
Географическая информационная система — информационная система, предназначенная для сбора, хранения, анализа и графической визуализации пространственных данных и связанной с ними информации о представленных в ГИС объектах.
Термин также используется в более узком смысле — ГИС как инструмент (программный продукт), позволяющий пользователям искать, анализировать и редактировать цифровые карты, а также дополнительную информацию об объектах, например высоту здания, адрес, количество жильцов.
ГИС включают в себя возможности cистем управления базами данных (СУБД), редакторов растровой и векторной графики и аналитических средств и применяются в картографии, геологии, метеорологии, землеустройстве, экологии, муниципальном управлении, транспорте, экономике, обороне и многих других областях.
Проприетарные ГИС
Проприета́рное ( частное или собственническое программное обеспечение) -программное обеспечение, являющееся частной собственностьюавторов или правообладателей и не удовлетворяющее критериям свободы ПО (речь именно о свободе, а непросто открытости ПО) и, с позиции Фонда свободного ПО, при этом не являющееся полусвободным ПО. Правообладатель сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Часто проприетарным называют любое несвободное ПО, включаяполусвободное.
Пространственные объекты
Все реальные объекты отображаются на картах какими либо условными знаками, точками, линиями, полигонами или поверхностями. Кроме того, применяется цветовая градация объектов, например изображение ландшафта или распределение плотности населения.
Большинство объектов реального мира (в том числе природного и социального характера) в ГИС могут быть представлены тремя типами объектов. Точки, линии и области могут представляться соответствующими символами, поверхности представляются высотами точек и спец иальными обозначениями.
Рассмотрим пространственные объекты более подробно.
Точечные объекты - это такие объекты, каждый из которых расположентолько в одной точке пространства. Пример: деревья, дома, перекрестки дорог. О таких объектах говорят, что они дискретные, в том смысле, что каждый из них может занимать в любой момент времени только определенную точку пространства. В целях моделирования считают, что у таких объектов нет пространственной протяженности, длины или ширины, но каждый из них может быть обозначен координатами своего местоположения. В действительности, все точечные объекты имеют некоторую пространственную протяженность, пусть самую малую, иначе мы просто не смогли бы их увидеть. Масштаб, при котором мы наблюдаем эти объекты, задает рамки, определяющие представление этих объектов как точек.
Например, если вы смотреть на дом с расстояния нескольких метров, то сооружение выглядит внушительным и имеет существенные длину и ширину. Но это представление меняется, когда мы начинаем отдаляться: чем дальше, - тем меньше дом выглядит как площадной объект, тем больше - как точечный.
Линейные объекты представляются как одномерные в нашем координатном пространстве. Такими "одномерными" объектами могут быть дороги, реки, границы, изгороди, любые другие объекты, у которых один из геометрических параметров существенно больше другого.
Масштаб, при котором мы наблюдаем эти объекты, обусловливает порог, при пересечении которого мы можем считать эти объекты не имеющими ширины.
Например, реки, дороги, изгороди имеют два измерения при близком рассмотрении. Но чем дальше мы от них, тем более тонкими они становятся. Постепенно они становятся такими тонкими, что оказывается возможным представить их себе как линейные объекты. Другие линии, такие как политические границы, вообще не имеют ширины. В действительности, эти линии даже не являются материальными сущностями, а возникают как следствие политических соглашений. Для линейных объектов, в отличие от точечных, мы можем указать пространственный размер простым определением их длины. Кроме того, поскольку они не занимают единственное местоположение в пространстве, мы должны знать, по меньшей мере, две точки - начальную и конечную - для описания местоположения линейного объекта в пространстве. Чем сложнее линия, тем больше точек нам потребуется для указания точного ее расположения. Опираясь не геометрию, мы можем также определять формы и ориентации линейных объектов. Объекты, рассматриваемые с достаточно близкого расстояния, чтобы иметь и длину и ширину, называются областями или площадными объектами.
При определении местоположения области в пространстве мы обнаруживаем, что ее граница является линией, которая начинается и кончается в одной и той же точке. Помимо указания местоположения областей через использование линий, мы можем себе представить теперь три характеристики: как и для линий, мы можем указывать их форму и ориентацию, а теперь еще и величину площади, которую область занимает.
Добавление нового измерения, высоты, к площадным объектам позволяет нам наблюдать и фиксировать поверхности.
Хотя мы можем рассматривать дом с близкого расстояния и описывать его в терминах его общей длины и ширины, нам часто нужно знать, сколько в нем этажей. В таком случае нам нужно рассматривать дом не как плоскую область, а как трехмерный объект, имеющий длину, ширину и высоту.
Поверхности состоят из бесконечного числа точек со значениями высот, поэтому они непрерывны, т.к. эти точки распределены без разрывов по всей поверхности, (рисунок 2). В действительности, поскольку высота трехмерного объекта меняется от точки к точке, мы можем также измерять величину изменения высоты с перемещением от одного края до другого. Имея такую информацию, мы можем определить объем материала в выбранном образовании.
Возможность таких вычислений весьма полезна, когда нам нужно узнать, сколько воды содержится в водоёме или сколько материала (пустой породы) лежит поверх угольного пласта.
Свободные ГИС.
Quantum GIS — свободная кроссплатформенная геоинформационная система. Работа над QGIS была начата в мае 2002 года, а в июне того же года — создан проект на площадке SourceForge. Целью создания QGIS было сделать использование геоинформационных систем легким и понятным для пользователя, чего создатели QGIS отчасти добились: интерфейс Quantum GIS намного понятнее для неискушенного пользователя, а в некоторых аспектах даже превосходит широко распространенные ГИС.
Возможности Quantum GIS:
---- Просмотр данных;
Можно просматривать и накладывать друг на друга векторные и растровые данные в различных форматах и проекциях без преобразования во внутренний или общий формат. Поддерживаются следующие основные форматы:
- пространственные таблицы PostgreSQL с использованием PostGIS, векторные форматы, поддерживаемые установленной библиотекой OGR, включая shape-файлы ESRI, MapInfo, SDTS (Spatial Data Transfer Standard) и GML (Geography Markup Language) и др.
- Форматы растров и графики, поддерживаемые библиотекой GDAL (Geospatial Data Abstraction Library), такие, как GeoTIFF, Erdas IMG, ArcInfo ASCII Grid, JPEG, PNG и др. - - базы данных SpatiaLite;
- растровый и векторный форматы GRASS (область/набор данных).
---- Исследование данных и компоновка карт;
С помощью удобного графического интерфейса можно создавать карты и исследовать пространственные данные. Графический интерфейс включает в себя множество полезных инструментов,например:
- перепроецирование «на лету»;
- компоновщик карт;
- панель обзора;
- пространственные закладки;
- определение/выборка объектов;
- редактирование/просмотр/поиск атрибутов;
- подписывание объектов;
- изменение символики векторных и растровых слоев;
- добавление слоя координатной сетки - теперь средствами расширения fTools;
- добавление к макету карты стрелки на север, линейки масштаба и знака авторского права;
- сохранение и загрузка проектов.
---- Управление данными: создание, редактирование и экспорт ;
В QGIS можно создавать и редактировать векторные данные, а также экспортировать их в разные форматы. Чтоб иметь возможность редактировать и экспортировать в другие форматы растровые данные, необходимо сначала импортировать их в GRASS.
QGIS предоставляет следующие возможности работы с данными, в частности:
- инструменты оцифровки для форматов, поддерживаемых библиотекой OGR, и векторных слоев GRASS;
- создание и редактирование shape-файлов и векторных слоев GRASS;
- геокодирование изображений с помощью модуля пространственной привязки;
- инструменты GPS для импорта и экспорта данных в формате GPX, преобразования прочих форматов GPS в формат GPX или скачивание/загрузка непосредственно в прибор GPS (в Linux usb: был добавлен в список устройств GPS);
- визуализация и редактирование данных OpenStreetMap;
- создание слоёв PostGIS из shape-файлов с помощью плагина SPIT;
- обработка слоёв PostGIS;
- управление атрибутами векторных данных с помощью новой таблицы атрибутов или модуля Table Manager;
- сохранение снимков экрана как изображений с пространственной привязкой.
Анализ данных
Имеется возможность анализировать векторные пространственные данные в PostgreSQL/PostGIS и других форматах, поддерживаемых OGR, используя модуль fTools, написанный на языке программирования Python. В настоящее время QGIS предоставляет возможность использовать инструменты анализа, выборки, геопроцессинга, управления геометрией и базами данных. Также можно использовать интегрированные инструменты GRASS, которые включают в себя функциональность более чем 300 модулей GRASS.
--- Публикация карт в сети Интернет ;
QGIS может использоваться для экспорта данных в map-файл и публикации его в сети Интернет, используя установленный веб-сервер Mapserver. QGIS может использоваться как клиент WMS/WFS и как сервер WMS.
---- Расширение функциональности QGIS с помощью модулей расширения .
QGIS может быть адаптирован к особым потребностям с помощью расширяемой архитектуры модулей. QGIS предоставляет библиотеки, которые могут использоваться для создания модулей. Можно создавать отдельные приложения, используя языки программирования C++ или Python.
Генерализация в ГИС — это набор процедур классификации и обобщения, предназначенных для отбора и отображения картографических объектов соответственно масштабу, содержанию и тематической направленности создаваемой цифровой карты.
Относительно информационного моделирования генерализация может быть рассмотрена как группа методов, позволяющих сохранить объем информации даже при уменьшении объема данных, Например, при сокращении числа точек на линии остающиеся должны быть выбраны так, чтобы внешний вид линии не изменился. При генерализации происходит геометрическое манипулирование с цепочками координатных пар {х, у).
Рассмотрим методику генерализации линий. Более общая задача включает, например, генерализацию ареалов до уровня точки.
Генерализация как группа методов включает в себя следующие процедуры:
упрощение — набор алгоритмов, которые позволяют убрать лишние или ненужные координатные пары, исходя из определенного геометрического критерия (например, расстояние между точками, смещение от центральной линии);
сглаживание — комплекс методов и алгоритмов, которые позволяют переместить или сдвинуть координатные пары с целью устранить мелкие нарушения и выделить только наиболее значимые тенденции изменения линии;
перемещение объектов — процедуры сдвига двух объектов, проводимые во избежание их слияния или наложения при уменьшении масштаба. Большинство алгоритмов перемещения объектов в векторном формате ориентировано на интеллектуальный интерактивный режим, когда векторы начального перемещения задаются специалистом-картографом. В иных случаях для регулирования процесса перемещения используется уменьшенная копия объекта;
слияние — объединение двух параллельных объектов при уменьшении масштаба. Например, берега реки или обочины дороги в мелком масштабе сливаются, остров превращается в точку;
корректировка (текстурирование) — набор эвристических процедур, которые позволяет в уже упрощенный набор данных снова ввести некоторые детали. Например, сглаженная линия может потерять сходство с оригиналом, тогда для улучшения ее вида будет проведено текстурирование в случайных точках.
Состав языка SQL
Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде.
Поэтому, в язык SQL в качестве составных частей входят:
- язык манипулирования данными (Data Manipulation Language, DML)
- язык определения данных (Data Definition Language, DDL)
- язык управления данными (Data Control Language, DCL).
Структура ГИС
Геоинформационные системы включают в себя пять ключевых составляющих: аппаратные средства, программное обеспечение, данные, исполнители и методы.
Аппаратные средства. Это компьютер, на котором запущена ГИС. В настоящее время ГИС работают на различных типах компьютерных платформ, от централизованных серверов до отдельных или связанных сетью настольных компьютеров.
Программное обеспечение ГИС содержит функции и инструменты,необходимые для хранения, анализа и визуализации географической (пространственной) информации. Ключевыми компонентами программных продуктов являются:
- инструменты для ввода и оперирования географической информацией система управления базой данных (DBMS или СУБД);
- инструменты поддержки пространственных запросов, анализа и визуализации (отображения);
- графический пользовательский интерфейс (GUI или ГИП) для легкого доступа к инструментам и функциям.
Данные – это, наиболее важный компонент. Данные о пространственном положении (географические данные) и связанные с ними табличные данные могут собираться и подготавливаться самим пользователем либо приобретаться у поставщиков. В процессе управления пространственными данными географическая информационная система объединяет (а лучше сказать – совмещает) географическую информацию с данными других типов. Например, с конкретным кусочком электронной карты могут быть связаны уже накопленные данные о населении, характере почв, близости опасных объектов и т. д. (в зависимости от задачи, которую придется решать при помощи ГИС). Причем в сложных, распределенных системах сбора и обработки информации часто с объектом на карте связывают не существующие данные, а их источник, что позволяет в реальном времени отслеживать состояние этих объектов. Такой подход применяется, например, для борьбы с чрезвычайными ситуациями вроде лесных пожаров или эпидемий.
Исполнителями именуют людей, которые работают с программными продуктами и разрабатывают планы их использования при решении реальных задач. Может показаться странным, что люди, работающие с программным обеспечением, рассматриваются как составная часть ГИС, однако в этом есть свой смысл. Дело в том, что для эффективной работы географической информационной системы необходимо соблюдение методов, предусмотренных разработчиками, поэтому без подготовленных исполнителей даже самая удачная разработка может утратить всякий смысл.
Пользователями ГИС могут быть как технические специалисты, разрабатывающие и поддерживающие систему, так и обычные сотрудники (конечные пользователи), которым ГИС помогает решать текущие каждодневные дела и проблемы.
Методы. Успешность и эффективность (в том числе экономическая) применения ГИС во многом зависит от правильно составленного плана и правил работы, которые составляются в соответствии со спецификой задач и работы каждой организации.
Структура ГИС, как правило, включает четыре обязательные подсистемы:
1) Ввода данных, обеспечивающую ввод и/или обработку пространственных данных, полученных с карт, материалов дистанционного зондирования и т.д.;
2) Хранения и поиска, позволяющую оперативно получать данные для соответствующего анализа, актуализировать и корректировать их;
3) Обработки и анализа, которая дает возможность оценивать параметры, решать расчетно-аналитические задачи;
4) Представления (выдачи) данных в различном виде (карты, таблицы, изображения, блок-диаграммы, цифровые модели местности и т.д.)
Таким образом, создание карт в круге «обязанностей» ГИС занимает далеко
не первое место, ведь чтобы получить твердую копию карты совершенно не нужна большая часть функций ГИС, или они применяются опосредованно. Тем не менее, как в мировой, так и в отечественной практике, ГИС широко используются именно для подготовки карт к изданию и, в меньшей степени, для аналитической обработки пространственных данных или управления потоками товаров и услуг.
25. Типичные объекты СУБД на примере Microsoft SQL Server
Главными объектами всякой СУБД являются базы данных (databases). В старых СУБД (например, FoxPro ранних версий под MS-DOS) класс объектов "база данных" не был введен явно. Теперь практически в любой СУБД имеется такой класс объектов. База данных является контейнером и пространством имён для всех использующихся в ней объектов.
Помимо базы данных в SQL Server существует ещё ряд классов объектов, к базам не относящихся, но эти классы являются специфическими и далеко не везде имеются аналогичные им. Пожалуй, наиболее важным из таких кдассов объектов, который обязательно следует упомянуть, является учётная запись пользователя (login), по которой производится доступ к серверу.
Внутри всякой базы данных имеются следующие классы объектов: таблица (table), представление (view), хранимая процедура (stored procedure), индекс (index), связь (relationship), триггер (trigger), умолчание (default). Также в ряде коммерческих СУБД есть такой полезный класс объектов, как диаграмма (diagram).
Таблицы предназначены для хранения данных и являются реализацией сущностей, создаваемых в ходе проектирования базы данных. Таблица является основным объектом при обработке данных.
Представления по сути своей являются результатами запросов к базе данных. Работать с представлением в большинстве случаев можно как с таблицей. Механизм работы таков: пользователь обращается к представлению, как к таблице, СУБД, принимая это обращение, исполняет запрос, записанный в представлении, и возвращает пользователю сформированную по результатам запроса таблицу. Для SQL Server 2000 и некоторых других СУБД в ряде случаев можно изменять данные прямо в таблице запроса, и эти изменения будут отражены в исходных таблицах, по которым был построен запрос. Подробнее мы к этому вопросу ещё вернёмся, когда будем изучать язык манипулирования данными.
Хранимая процедура является набором инструкций (часто в скомпилированном виде), хранящимся на стороне СУБД. Набор инструкций обычно пишется как последовательность SQL-команд. В SQL Server под компиляцией понимается подготовка плана исполнения процедуры в момент её создания или обновления. Подробнее о планах исполнения мы поговорим, когда будем изучать язык манипулирования данными. В хранимых процедурах можно реализовывать сложные алгоритмы обработки данных внутри базы. Использование хранимых процедур часто значительно сокращает объём кода клиентского приложения и во многих случаях позволяет чётко отделять алгоритмы логики программы от алгоритмов обработки данных. О многоуровневых приложениях скажем несколько слов где-нибудь в следующих статьях.
Индексом называется специальный объект, хранящий упорядоченный справочник значений некоторого атрибута (или группы атрибутов) таблицы. Благодаря индексам можно значительно (иногда на порядки) ускорить операции поиска данных. Без индекса поиск осуществляется последовательным перебором кортежей. Наличие индекса позволяет СУБД использовать более быстрые алгоритмы поиска, нежели последовательный перебор.
Триггером называется особый подкласс хранимых процедур, исполняемый СУБД автоматически при проведении операций изменения данных. Можно сказать, что триггер является обработчиком на событие изменения данных в базе.
Связью (или отношением) называется особый объект, позволяющий установить зависимость между таблицами и сопоставить этой зависимости ряд проверяющих триггеров. В подавляющем большинстве СУБД реализовано лишь один из возможных видов связи: "один ко многим" ("one to many"). В такой связи участвуют две таблицы, в одной из которых определяется первичный ключ (primary key), а в другой внешний ключ (foreign key). Всегда первичный ключ - это "один", внешний ключ - "много". Соответственно, таблица, содержащая первичный ключ, называется главной (master table), а таблица с внешним ключом - подчинённой (detail table). Разумеется, имеется возможность связать таблицу с самой собой.
Умолчанием по сути является константа, содержащая значение поля таблицы по умолчанию. Подробнее об умолчаниях мы поговорим, когда будем изучать таблицы.
Диаграммой является объект, наглядно отображающий таблицы базы и связи между ними. Довольно часто в мощных коммерческих СУБД имеются инструменты, позволяющие работать с базой данных через диаграммы (средства визуального проектирования базы). В частности, можно добавлять и удалять атрибуты, таблицы, устанавливать и убирать связи, открывать и изменять свойства тех или иных объектов базы.
Шкалы измерений
Картографические объекты содержат информацию не только о том, как они занимают пространство, но и о том, чем они являются и насколько они важны для нашего рассмотрения. Например, дерево, обозначенное как точечный объект, может быть отнесено к определенному классу это может быть дуб, сосна и т.п.
Мы можем узнать также возраст дерева, пробурив его и подсчитав годовые кольца. Дополнительная непространственная информация, помогающая нам описывать объекты, наблюдаемые в пространстве, образует набор атрибутов объектов. Атрибуты объектов можно распределять по категориям и классифицировать.
Перед тем как присвоить эти атрибуты объектам, мы должны знать как их измерять. Иначе мы не сможем сравнивать объекты в одном месте с объектами в другом месте.
Существует устоявшаяся основа для измерения практически всех видов данных, в том числе и географических. Эти так называемые шкалы измерения данных могут включать как простое именование объектов, так и до высокоточные измерения, позволяющие сравнивать качества различных объектов.
Используемая шкала измерений определяется типом классификации, необходимой информацией, и возможностями производить измерения при заданном масштабе наблюдения.
Существует большое количество шкал.
Номинальная шкала, из названия которой следует, что объекты различаются по именам. Эта система позволяет говорить о том, как называется объект, но не позволяет делать прямого сравнения объектов. Если необходимо провести более тонкое сравнение объектов, то следует выбрать более высокую шкалу измерений. Таковой является порядковая шкала, позволяющая проводить качественное сравнение от лучшего к худшему для данного конкретного вопроса. Если необходима более высокая точность в измерениях, то можно воспользоваться интерва<