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

Элементы геоинформационных систем и технология создания цифровых мар

..pdf
Скачиваний:
16
Добавлен:
15.11.2022
Размер:
6.33 Mб
Скачать

Ill

ник, в который войдут скважины в пределах 3 км от границы заданного рай­ она.

Чтобы проводить поиск в многоугольнике, должны быть доступными два слоя: слой, из объектов которого будет строиться выборка, и слой, содер­ жащий область, в которой будет проводиться поиск.

Функции

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

AREA (obj, str),

где obj -выражение типа объект, например KAMER2.obj;

str - единицы измерения площади. Может принимать значения «sqmi» (квадратные мили) или «sq km» (квадратные километры).

Выражение для запроса примет вид

AREA (KAMER2.obj sqkm)>0.001. Здесь площадь 1000 м2 переведена в квадратные километры.

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

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

БРАТЬ выглядит так:

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

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

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

Этот диалог содержит следующие окна и кнопки:

«Выбрать колонки» - список колонок, которые будет содержать таб­ лица запроса. Укажите на список «Колонки», чтобы получить на экране список доступных колонок. Если вы хотите выбрать все колонки, то оставь­ те звездочку в окошке или поместите ее туда.

«Из таблиц» - выберите список таблиц, данные из которых будут ис­ пользоваться. Укажите на окошко для получения списка таблиц. Нельзя ис­

пользовать таблицы запроса в сложном SQL - запросе При многошаговом объединении должны быть указаны базовые таблицы.

□ «С условием» - укажите, какие записи из базовых таблиц должны быть включены в таблицу запроса. Условия используют переменные (ко­ лонки) и отношения между ними (операторы). Если Вы используете не­ сколько таблиц, необходимо следить за порядком задания названий колонок, они должны быть заданы в том же порядке, что и таблица,яз которой они выбраны. Вы не можете использовать функции обобщения в окошке «с ус­

ловием».

«Сгруппировать по колонкам» - строки таблицы группируются таким образом, чтобы объединить строки с одинаковым значением в разных ко­ лонках. В дальнейшем они рассматриваются как группа.

«Порядок определить по колонке» - определить порядок, в котором MAPINFO расположит записи в таблице запроса. Стандартно, MAPINFO располагает записи по возрастанию в алфавитном порядке.

«И поместить в таблицу» - имя таблицы запроса. Если Вы не введете имя, то MAPINFO присвоит таблице запроса имя «Запрос 1», «Запрос ц

т.д. Полученная таблица является временной. Чтобы создать постоянную; базовую таблицу, выполните команду «Создать копию».

Вболее поздних версиях MAPINFO есть возможность таблицу запроса создать как постоянную. Для этого в диалоге имеется кнопка «Сохранить».

Проще всего разобрать работу с диалогом «SQL-3AIIPOC)> на примере.

Рассмотрим использование SQL-ЗАПРОСА для заполнения колонки «S- площадь» в базе данных.

Откроем таблицу и выполним команду ЗАПРОС > SQL-ЗАПРОС. Появи­ тся диалог «SQL-ЗАПРОС».

Проделаем следующие действия:

-находясь в окошке «Из таблиц», выберем название открытой таблицы из окошка списка «Таблицы»;

-нажав клавишу TAB, переместимся в окошко «Выбрать колонки» и уда­ лим там звездочку (*), которая обозначает все колонки без изменения;

-выберем поочередно все колонки из окошка списка «Колонки», но вме­ сто колонки «S« сформируем следующую запись:

Area(obj, «sq m»)_»S».

Для того чтобы не набирать на клавиатуре стандартные функции, вос­ пользуемся списком «функции», изменив единицы измерения площади на квадратные метры.

По этой записи MAPINFO определит площадь графического объекта и выпишет его и колонку «S» соответствующей строки списка.

Оставим пустыми окошки «с условием», «сгруппировать по». В окошке «порядок по» укажем колонки N. При этом объекты в таблице «Запрос» рас­ положатся в порядке возрастания номеров.

Молено не изменять названия итоговой таблицы «Запрос 1» так как оно будет задано ,при сохранении результата.

В окошке «Результаты в список» должен быть установлен флажок. Нажмем кнопку «Проверить» и кнопку «ОК». MAPINFO создаст табли­

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

Необходимо отметить, что созданная таким образом таблица будет иметь имя, отличное от исходного, и тип заполненного поля в БД будет веществен­ ным. Для того чтобы слой соответствовал принятому названию и имел стан­ дартную структуру, выполним команду ТАБЛИЦЫ > ИЗМЕНИТЬ > ПЕРЕ­ СТРОИТЬ и укажем тип поля «S» десятичный. Затем таблицу переименуем.

Приложение

ФУНКЦИИ ПОСТРОЕНИЯ ВЫРАЖЕНИЙ

Список функций доступен,когда открыт диалог «Выражение» или диалог «SQL-ЗАПРОС».

Использование функций

В выражение могут входить один вызов или несколько вызовов функ­ ций. В нижеследующей таблице num обозначает «любое выражение» (напри­ мер, 5), str - «любое спроковое выражение» (например, км) и obj - «любое вы­ ражение типа объект» (наприиер, State), колонку, в которой регистрируется наличие графического объекта в таблице (State).

 

Фунщии построения выражений

Математические функции

Abc(num)

Возвращает абсолютное значение (модуль) числа

Cos(num)

Возвращает косинус числа, задается в радианах

Int(num)

Возвращает целую часть числа

Maximum (num,

Возвращает большее из двух чисел

num)

 

Minimum (num,

Возвращает меньшее из двух чисел

num)

 

Round (numl,

Возвращает число (numl), округленное до ближайшего

num2)

значения num2 (например, если пшп2 равно десяти, то

 

numl округляется до ближайшего десятка)

Sin(num)

Возвращает синус числа, задается в радианах

Tan(num)

Возвращает тангенс числа, задается в радианах

Функции для работы с датами

CurDate(date)

Возвращает текущую дату

Day(date)

Возвращает для date номер дня в месяце (от 1 до 31)

Month(date)

Возвращает для date номер месяца ( от 1 до 12)

Weekday(date)

Возвращает для date номер дня в неделе

 

( от 1 до 7); 1

означает воскресенье

Строчные функции

 

Ch$(num)

Возвращает символ, соответствующий его коду (напри­

 

мер, Ch$(68),возвращает строку <Ю»

DeformatNumberS

Убирает из строки str все форматирование, выполненное

(str)

функцией FormatNumberS function, возвращая строку, не

 

содержащую разделители тысяч

Format$(str)

Возвращает строку представляющую собой отформати­

 

рованное по

маске str число num. Например,

 

Format$(]2345,678, $, #,##) возвращает строку «S

 

12.345,68»

 

FormatNumberS

Возвращает строку, представляющую собой отформати­

(num)

рованное значение числа. Эту функцию легче использо­

 

вать, чем Format$, но она представляет значительно

 

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

 

всегда содержит разделители тысяч)

Instr (num, strl,

Ищет вхождение строки str2 в строке strl, начиная с по­

str2)

зиции num. Чтобы начать поиск с начала строки,исполь­

 

зуйте для num значение 1

Lcase$(str, num)

Возвращает строку str, все буквы которой преобразова­

 

ны к нижнему регистру

LeftS(str)

Возвращает первые num символов строки

Len(str)

Возвращает число символов в строке (длину строки)

Ltrim$(str)

Удаляет все начальные пробелы строки str и возвращает

 

результат

 

Mid$(str, numl,

Возвращает часть строки str, начинающуюся с позиции

num2)

numl и имеющую длину в пшп2 символов

ProperS(str)

Возвращает строку, в которой первая буква каждого

 

слова преобразована к верхнему регистру

Right$(str, num)

Возвращает последние num символов строки str.

Rtrim$(str)

Эта функция удаляет все конечные пробелы строки str и

 

возвращает конечный результат

Str$(expr)

Возвращает выражение ехрг в виде строки

Ucase$(str)

Возвращает строку str, все буквы которой преобразова­

 

ны к верхнему регистру

Val(str)

Возвращает численное значение строки: например,

 

Val(18) возвращает число 18. Передаваемая в качестве

 

параметра строка не должна иметь форматирующих

 

символов (типа разделителя тысяч); чтобы получить не­

 

форматированную строку, вызовите DeformatNumberS

Функции, возвращающие географические величины

Area (obj, str)

CentroidX (obj) CentroidY (obj) Distance (num_x, num_y, num_x2, num_y2, str)

Perimeter (obj, str)

Возвращает площадь объекта. Параметр задает единицы измерения площади, например «sq mi» или «sq km» Возвращает координату ATцентроида объекта Возвращает координату Y центроида объекта Возвращает расстояние между двумя точками. Первые два параметра задают координаты X и Y начальной точ­ ки, а следующие два - конечной точки; параметр задает название единицы измерения, например «mi» или ккт» Возвращает периметр объекта. Параметр задает единицу измерения расстояния, например «mi» или <<кт». Отлич­ ный от нуля периметр имеют только объекты типа об­ ласть, эллипс или прямоугольник

Функции, возвращающие объекты

Bufer (obj, num_res,

Возвращает объект типа «область;?, представляющий

numjwidth, str)

буферную область. Параметр num_res определяет, из

 

скольких узлов будут состоять окружности, входящие в

 

состав буферной зоны; параметр num_width задает ра­

 

диусы таких окружностей; параметр str задает имя еди­

 

ницы измерения (например, «mi» или «кш»), в которых

 

измеряется

Centroid (obj)

Возвращает объект типа «точка», расположенный в

 

месте центроида объекта obj

CreateCircle

Возвращает объект типа «окружность»; параметр

(num_x, num_y,

mm_radius задает радиус в милях

num_radius)

 

CreateLine (num_x,

Возвращает объект типа «линия»

num_y, num_x2,

 

num_y2,)

 

CreatePoint (num_x,

Возвращает объект типа «точка»

num_y)

 

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

Update tablename Set Obj = CreateLine (xl, yl, x2 , y2).

ВНИМАНИЕ. Команда Update предопределяет все графические объекты в Вашей таблице. Лучше сначала сделать копию таблицы и потренироваться на ней.

 

Оглавление

 

Введение...................................................................................................................

3

1. ГЕОИНФОРМАЦИОННЪШ СИСТЕМЫ........................................................

4

1.1.

Общие сведения............ ...........................................................................

4

1.2.

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

7

1.3.

Представление пространственных данных...........................................

12

1.4.

Организация картографической информации......................................

18

1.5.

Атрибутивная информация.....................................................................

21

1.6.

Картографические проекции и преобразования...................................

23

1.7. Технологии векторизации картографических материалов.................

25

1.8.

Программные средства геоинформационных систем.........................

26

1.9.Технологическая схема создания электронного планшета средствами

MAPINFO

27

2. СКАНИРОВАНИЕ И ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА РАСТРОВО­

ГО ИЗОБРАЖЕНИЯ ...........................................................................................

30

2.1. Основные понятия и термины.................................................................

30

2.2.Влияние разрешения на рабочий процесс. Связь между разрешением

и размером файла.................................................................................................

32

2.3.Краткий обзор форматов растровых файлов. Форматы, поддерживае­

мые MAPINFO......................................................................................................

34

2.4.

Растровые изображения в MAPINFO.....................................................

36

2.5.

Понятие регистрации изображений........................................................

37

2.6.

Регистрация растровых изображений в MAPINFO.............................

39

3. ВЕКТОРИЗАЦИЯ ИЗОБРАЖЕНИЯ................................................................

47

3.1.

Общие сведения........................................................................................

47

3.2.

Открытие существующей таблицы, рабочего набора.........................

47

3.3.

Закрытие таблиц........................................................................................

50

3.4.

Сохранение таблиц, рабочих наборов....................................................

*50

3.5.

Создание новой таблицы...........................................................................

51