Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.раб.№6 Построение запросов.doc
Скачиваний:
91
Добавлен:
04.06.2015
Размер:
606.72 Кб
Скачать

Лабораторная работа №6

Построение запросов.

Для построения запросов по табличной (атрибутивной) информации в ArcMap используется язык запросов SQL.

SQL — это обычный компьютерный язык доступа и управления базами данных. Он используется в АгсМар для выбора объектов через функцию Выбор по атрибуту или через диалоговое окно Конструктор запросов, используемое для построения запросов при определении слоя.

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

SQL-запросы также могут использоваться в качестве параметров, при выборе объектов программным способом.

SQL используется в АгсМар только как язык запросов к базам данных. Этот язык нельзя использовать для вставки, редактирования или удаления данных. Диалоговое окно Выбор но атрибуту позволяет задать только выражение выборки (SELECT) с параметром Где (WHERE).

Версии sql

Синтаксис выражения SQL, которое вы строите, зависит от формата ваших данных. Это происходит потому, что, хотя SQL является стандартным, программное обеспечение баз данных может поддерживать разные версии SQL.

ANSI SQL используется для запросов к базам геоданных ArcSDE. a Jet SQL используется для персональных баз геоданных. Для запросов к покрытиям, шейп-файлам, таблицам INFO и (DBASE используется ограниченная версия SQL, не поддерживающая многие объекты и функции ANSI и Jet SQL.

Например, если вы делаете запрос к покрытиям ArcInfo, шейп-файлам, таблицам INFO или dBASE, названия полей в SQL-запросах должны быть заключены в двойные кавычки: "AREA"

Если запрос осуществляется к данным персональной базы геоданных, названия полей должны быть заключены в квадратные скобки: [AREA]

Если запрос осуществляется к данным базы геоданных ArcSDE, данным класса объектов ArcIMS или подслоя ArcIMS linage Service, поля остаются открытыми: AREA

Некоторые операторы и ключевые слова также могут варьировать.

Диалоговые окна, в которых создаются SQL-запросы, сами выдают список доступных для запросов полей, ключевых слов и операторов.

Поиск строковых значений

Запросы составляются с помощью команд меню Выборка.

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

  1. Например, чтобы выбрать на карте реку Вах нужно:

  • Выборка → Выбрать по атрибуту

  • Слой Гидрография_P

  • Метод: Создать новую выборку

  • Названия рек хранятся в поле “ObjName”, поэтому нужно дважды щелкнуть на этом поле в списке, чтобы оно добавилось в окно запроса

  • Нажать знак = (на клавиатуре или на предложенной кнопке в конструкторе запросов)

  • После знака написать в одинарных кавычках ‘Вах’

  • Нажать Применить

  • Река Вах может содержать не только площадные, но и линейные участки. Чтобы выбрать все участки, нужно добавить к уже выбранным объектам объекты из линейной гидрографии. Для этого в открытом окне выборки установить:

    • Слой – Гидрография_L

    • Метод: Добавить к текущей выборке

    • Выбрать поле ObjName

    • Знак =

    • Значения можно не писать, а получить все возможные значения из таблицы – нажать кнопку Получить значения и выбрать из списка нужное название (щелкнуть на нем дважды, чтобы оно добавилось в окно запроса)

    • Нажать Применить.

  • Чтобы увидеть результаты запроса на карте нажать Выборка → Приблизить к выбранным объектам. Сделать снимок экрана.

  • Аналогично выбрать реки Аган, Обь (состоит только из полигональных объектов), Тым. Сделать снимки экранов с выбранными объектами.

  • Чтобы построить запросы по какой-либо части строки, нужно использовать оператор LIKE (вместо оператора =) в сочетании с групповыми символами. Знак "%" используется для представления любого символа или группы символов. Знак "_" представляет любой одиночный символ. (Если вы используете знак группового символа в строке вместе с оператором =. знак воспринимается как часть строки, а не как групповой символ.) Задача: Выбрать все гидрографические объекты (площадные и линейные), в названиях которых содержится ‘сабун’ (учитывать возможность написания в разных регистрах). Объекты найти на карте, сделать снимок экрана.