Лекция 4. Базы данных. Векторизация.pptx
- Количество слайдов: 39
БАЗЫ ДАННЫХ.
Definition Базой данных является представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (Гражданский кодекс РФ, ст. 1260).
Features • База данных хранится и обрабатывается в вычислительной системе. Таким образом, любые внекомпьютерные хранилища информации (архивы, библиотеки, картотеки и т. п. ) базами данных не являются. • Данные в базе данных логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе. • Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции. • База данных включает метаданные, описывающие логическую структуру БД в формальном виде (в соответствии с некоторой метамоделью).
Classification • Иерархические • Сетевые • Реляционные
Иерархические БД • Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй — объекты второго уровня и т. д. Россия субъекты Федерации . . . области . . . города. . .
С етевая БД • Сетевая модель данных — логическая модель данных, являющаяся расширением иерархического подхода, строгая математическая теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в сетевых базах данных.
Реляционная БД • Реляционная база данных — база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение). Для работы с реляционными БД применяют реляционные СУБД. • Реляционная база данных - база данных, построенная на основе реляционной модели. В реляционной базе каждый объект задается записью (строкой) в таблице. • Использование реляционных баз данных было предложено доктором Коддом из компании IBM в 1970 году.
Spatial DB • Пространственная база данных — база данных (БД), оптимизированная для хранения и выполнения запросов к данным о пространственных объектах, представленных некоторыми абстракциями: точка, линия, полигон и др. (лишь отчасти соответствующих базовым математическим понятиям точка, кривая, полигон).
Spatial DB functionality • Пространственные измерения (Spatial Measurements): • Пространственные функции (Spatial Functions): • Пространственные предикаты (Spatial Predicates): • Функции построения (Constructor Functions):
GEODATABASE
SQL • SQL (ˈɛsˈkjuˈɛl; англ. Structured Query Language — «язык структурированных запросов» ) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. • SQL основывается на реляционной алгебре.
SQL. 2 • SQL является, прежде всего, информационно-логическим языком, предназначенным для описания хранимых данных, для извлечения хранимых данных и для модификации данных. • Язык SQL представляет собой совокупность операторов.
Pro SQL • Независимость от конкретной СУБД • Наличие стандартов • Декларативность
SQL in action Есть четыре основных типа запросов данных в SQL, которые относятся к так называемому языку манипулирования данными (Data Manipulation Language или DML): • SELECT – выбрать строки из таблиц; • INSERT – добавить строки в таблицу; • UPDATE – изменить строки в таблице; • DELETE – удалить строки в таблице;
SQL in action Есть четыре основных типа запросов данных в SQL, которые относятся к так называемому языку манипулирования данными (Data Manipulation Language или DML): • SELECT – выбрать строки из таблиц; • INSERT – добавить строки в таблицу; • UPDATE – изменить строки в таблице; • DELETE – удалить строки в таблице;
SQL in action. Select Чтобы получить информацию, хранящуюся в базе данных используется запрос SELECT. Базовое действие этого запроса ограничено одной таблицей, хотя существуют конструкции, обеспечивающие выборку с нескольких таблиц одновременно. Для того, чтобы получить все строки данных для специфических столбцов, используется запрос такого вида: SELECT column 1, column 2 FROM table_name; Это может быть полезно в том случае, когда вы собираетесь выбрать данные с определенным условием WHERE. Следующий запрос возвратит все столбцы со всех строк, где «column 1» содержит значение « 3» : SELECT * FROM table_name WHERE column 1=3;
SQL in action. Select SELECT column 1, column 2 FROM table_name; Column 1 Column 2 1 A 3 B 3 C 4 D SELECT * FROM table_name WHERE column 1=3; Column 1 Column 2 1 A 3 B 3 C 4 D
SQL in action. Insert Запрос INSERT используется для создания новой строки данных. Для обновления уже существующих данных или пустых полей строки нужно использовать запрос UPDATE. Примерный синтаксис запроса INSERT: INSERT INTO table_name (column 1, column 2, column 3) VALUES (‘data 1’, ‘data 2’, ‘data 3’); Изменяется уже существующая информация в базе данных очень похожим образом.
SQL in action. Insert Column 1 Column 2 Column 3 INSERT INTO table_name (column 1, column 2, column 3) VALUES (‘data 1’, ‘data 2’, ‘data 3’); Column 1 Column 2 Column 3 data 1 data 2 data 3
SQL in action. Update UPDATE используется для того, чтобы изменить существующие значения или освободить поле в строке, поэтому новые значения должны соответствовать существующему типу данных и обеспечивать приемлемые значения. Если вы не хотите изменить значения во всех строках, то нужно использовать условие WHERE. UPDATE table_name SET column 1 = ‘data 1’, column 2 = ‘data 2’ WHERE column 3 = ‘data 3’; Вы можете использовать WHERE для любого столбца, включая тот, который хотите изменить. Это используется когда необходимо заменить одно определенное значение на другое. UPDATE table_name SET First. Name = ‘Василий’ WHERE First. Name = ‘Василий’ AND Last. Name = ‘Пупкин’;
SQL in action. Update Column 1 Column 2 Column 3 Alfa А Data 1 Beta Б Data 2 Gama В Data 3 Delta Г Data 3 UPDATE table_name SET column 1 = ‘data 1’, column 2 = ‘data 2’ WHERE column 3 = ‘data 3’; Column 1 Column 2 Column 3 Alfa А Data 1 Beta Б Data 2 Data 1 Data 2 Data 3
SQL in action. Delete Запрос DELETE полность удаляет строку из базы данных. Если вы хотите удалить одно единственное поле, то нужно использовать запрос UPDATE и установить для этого поля значение, которое будет являться аналогом NULL в вашей программе. Будьте внимательны, и ограничивайте ваш запрос DELETE условием WHERE, иначе вы можете потерять все содержимое таблицы. DELETE FROM table_name WHERE column 1 = ‘data 1’; Как только строка была удалена из вашей базы данных, она не подлежит восстановлению, поэтому желательно иметь столбец по имени «Is. Active» , или что-то типа того, который вы можете изменить на ноль, что будет указывать на блокировку представления данных из этой строки.
SQL in action. Delete Column 1 Column 2 Column 3 Alfa А Data 1 Beta Б Data 2 Gama В Data 3 Delta Г Data 3 DELETE FROM table_name WHERE column 3= ‘data 3’; Column 1 Column 2 Column 3 Alfa А Data 1 Beta Б Data 2
ВЕКТОРИЗАЦИЯ
Векторизация. Общие принципы
ЗАДАЧИ ВЕКТОРИЗАЦИИ • Разнесение объектов по слоям • Топологическая связность объектов • Создание производных объектов и характеристик • Удаление посторонних объектов
Процесс векторизации
Шаг 1 • На этом шаге решаются две задачи. Это устранение геометрических искажений растра и его «привязка» к координатной системе. • Результат - скорректированный и привязанный к полю проекта исходный растр.
Шаг 2 • Если театр начинается с вешалки, то собственно векторизация начинается с подготовки тематических растров. Именно так - во множественном числе. • Результат - пакет растровых слоёв: «обложка» плюс несколько чёрнобелых тематических растров.
Шаг 3 • Это самый простой шаг. В зависимости от типа растра выполняется либо Автоматическая трассировка линий, либо Автоматическое оконтуривание. • Результат - векторный скелет растровых линий.
Шаг 4 • Обработка векторного скелета сводится к устранению дефектов векторных цепочек и сшивке разрывов. Причём и то и другое, в основном, выполняется утилитами. Но без ручной работы на этом этапе не обойтись. • Результат - обработанный и сшитый векторный скелет.
Шаг 5 • Извлечение объектов из скелета выделено в отдельный шаг условно. Этот и предыдущий шаги переплетены очень тесно. Извлекая из скелета некоторые объекты, мы «освобождаем» оставшиеся линии для коррекции и сшивки. Например, извлечение водоёмов из скелета «синего» растра освобождает речную сеть. 6 • Результат - разнесённые по слоям, топологически связанные и оптимизированные векторные объекты
Шаг 6 • Создание производных объектов следующий шаг вслед за полным разбором векторного скелета. • Результат - полный набор векторных объектов, присутствующих на растре.
Шаг 7 • Атрибутирование объектов завершает их классификацию. Впрочем, сюда можно отнести как ориентирование полилиний по направлению, так и присвоение высот изолиниям. • Результат - полная классификация объектов по заданному набору признаков.
Шаг 8 • Контроль топологических взаимоотношений, формы линий и полигонального покрытия завершает обработку отдельного листа карты. Ошибки неизбежны. Важно не тратить на их поиск и правку лишнее время. • Результат - топологически корректная модель данных листа карты.
Шаг 9 • Сшивка покрытий или сопряжение соседних листов - типичная операция • Результат - полное, согласованное по границам покрытие заданной области.
Шаг 10 • Оптимизация сопряжённой векторной модели данных - заключительный штрих всего процесса оцифровки. Существует много причин появления лишних вершин на полилиниях. Главная причина редактирование объектов операторами. Особенно ручная оцифровка объектов. • Результат - оптимизированная модель данных крупной ГИС.
Лекция 4. Базы данных. Векторизация.pptx