Элементы геоинформационных систем и технология создания цифровых мар
..pdfIll
ник, в который войдут скважины в пределах 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», «Запрос 2» ц
т.д. Полученная таблица является временной. Чтобы создать постоянную; базовую таблицу, выполните команду «Создать копию».
Вболее поздних версиях 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 |