Автор работы: Пользователь скрыл имя, 02 Июля 2013 в 23:13, шпаргалка
Работа содержит ответы на вопросы по курсу "Геоинформационные системы".
Contains Part (Содержит часть) Объект A содержит часть объекта B, если границы B частично лежат внутри границ A.
Within (Внутри) Объект A лежит внутри объекта B, если его центроид лежит в границах B.
Entirely Within (Полностью внутри) Объект
A лежит полностью внутри
Partly Within (Частично внутри) Объект A лежит частично внутри объекта B, если его границы частично лежат внутри границ объекта B.
Intersects (Пересекает) Объект A пересекается с объектом B, если они имеют хотя бы одну общую точку.
Различие между Contains и Within, с одной стороны, и Contains Entire и Entirely Within, с другой, состоит в том, что Contains и Within основаны на анализе центроида объекта, а Contains Entirely и Entirely Within - на анализе всего объекта. Рисунок объясняет это различие:
объект A Содержит (Contains) объект B объект B Внутри (Within) объекта A
объект A Полностью содержит (Contains Entire) объект B объект B Полностью внутри (Entirely Within) объекта A объект A Пересекает (Intersects) объект B объект B Пересекает (Intersects) объект A
В обоих случаях объект A содержит объект B, так как центроид объекта B лежит внутри границы объекта A. Однако, на рисунке слева часть объекта B лежит вне границ объекта A. А на рисунке справа весь объект B лежит внутри объекта A.
MapInfo выполняет простые операции
Содержит (Contains) и Внутри (Within) гораздо
быстрее, чем Содержит
Пересечение (Intersect) - единственный географический
оператор, рекомендуемый для
And принимает значение "истина" только в том случае, если оба ее аргумента ( логических выражения) истинны.
Or принимает значение "истина",
если хотя бы один из
Not принимает значение "истина", если аргумент имеет значение " ложь", и наоборот.
Функции
Area
Area(obj, единицы_измерения)
Возвращает площадь объекта. Возвращается 0, если объект не имеет площади или данной записи не соответствует графический объект. Площади не имеют дуги, тексты, точки, линии и ломаные.
Допускаются следующие единицы измерения площади:
"sq mi" квадратные мили
"sq km" квадратные километры
"sq in" квадратные дюймы
"sq ft" квадратные футы
"sq survey ft" квадратные топографические футы
"sq yd" квадратные ярды
"sq mm" квадратные миллиметры
"sq cm" квадратные сантиметры
"sq m" квадратные метры
"acre" акры
"hectare" гектары
Примеры: Чтобы выбрать все строки таблицы, соответствующие объектам с площадью более, чем 59 квадратных километров: 63. Area(obj,"sq km")>59
Чтобы выбрать все строки таблицы, соответствующие объектам с плотностью населения менее 250 человек на квадратный километр:
НАСЕЛЕНИЕ/Area(obj,"sq km")<250
Вычисление плотности
НАСЕЛЕНИЕ/Area(obj,"sq km")
Если Вы хотите получить площадь в гектарах:
Area(obj,"hectare")
Если Вы хотите получить площадь в квадратных милях:
Area(obj,"sq mi")
CentroidX
CentroidX(obj)
Возвращает координату X центроида объекта, которая является значением долготы на картах мира. Центроид -это центр минимального прямоугольника, описывающего заданный объект.
Значение возвращается в десятичных градусах, если координаты представляют широту и долготу.
В противном случае значение вычисляется в единицах, заданных для Вашей таблицы.
Примеры: Выбрать все объекты к западу от Нью-Йорка, расположенного на долготе -73.997890 и широте 40.750450:
CentroidX(obj)<-73.997890
Выбрать все объекты к востоку от Нью-Йорка, расположенного на долготе -73.997890 и широте 40.750450:
CentroidX(obj)>-73.997890
Выбрать все объекты к северо-востоку от Нью-Йорка:
CentroidX(obj)>-73.997890 and CentroidY(obj)>40.750450
Выбрать все объекты к северу или востоку от Нью-Йорка:
CentroidX(obj)>-73.997890 or CentroidY(obj)>40.750450
CentroidY
Синтаксис: CentroidY(obj)
Результат: Возвращает координату Y центроида объекта, которая является значением широты на
мировой карте.
Примеры: Выбрать все объекты к северу от Нью-Йорка, расположенного на долготе -73.997890 и
широте 40.750450:
CentroidY(obj)>40.750450
Выбрать все объекты к югу от Нью-Йорка на долготе -73.997890 и широте 40.750450:
CentroidY(obj)<40.750450
Distance
Distance(x1, y1, x2, y2, единицы_измерения)
x1 и y1 - координаты восток-запад (долгота) на карте мира
x2 и y2 - координаты север-юг (широта) на карте мира
единицы_измерения - текущие единицы измерения длины
Функция вычисляет расстояние между двумя точками.
Допускаются следующие единицы измерения длины:
"mi" мили
"km" километры
"in" дюймы
"ft" футы
"survey ft" топографические футы
"yd" ярды
"mm" миллиметры
"cm" сантиметры
"m" метры
"nmi" морские мили (1 морская миля равна 1852 метрам)
Примеры: Вычисление расстояния между некоторым объектом и Нью-Йорком, расположенным
на долготе -73.997890 и широте 40.750450:
Distance(-73.997890, 40.750450, CentroidX(obj), CentroidY(obj),"mi")
Выбрать все объекты удаленные не более, чем на 20 миль к западу от Нью-Йорка:
CentroidX(obj)<-73.997890 and Distance(-73.997890, 40.750450, CentroidX(obj), CentroidY(obj),"mi")<=20
ObjectLen
ObjectLen(obj, единица_измерения)
Возвращает длину линий и ломаных и 0 для остальных объектов.
Примеры: Вычисление длины объекта:
ObjectLen(obj, "mi")
Вычисление длины объекта в километрах:
ObjectLen(obj,"km")
Вычисление длины объекта в морских милях:
ObjectLen(obj, "nmi")
Выбрать все объекты, длина которых превышает 10 километров:
ObjectLen(obj, "km")>10
Perimeter
Perimeter(объект, единица_измерения)
Возвращает периметр таких объектов, как многоугольник, эллипс, прямоугольник и скругленный прямоугольник.
Примеры: Вычисление периметра объекта:
Perimeter(obj, "mi")
Вычисление периметра объекта в километрах:
Perimeter(obj, "km")
Вычисление периметра в метрах:
Perimeter(obj, "m")
Выбрать все объекты, периметр которых превышает 35 миль:
Perimeter(obj, "mi")>35
Abs(num) Возвращает абсолютное значение числа (модуль).
Cos(num) Возвращает косинус числа num в радианах.
Int(num) Возвращает целую часть числа.
Maximum(num,num) Возвращает наибольшее.
Minimum(num,num) Возвращает наименьшее.
Round(num1,num2) Возвращает число (num1), округленное до ближайшего кратного num2.
Sin(num) Возвращает синус числа num в радианах.
Tan(num) Возвращает тангенс числа num в радианах.
Примеры:
1. Выяснить максимальный номер дома для отрезка улицы в файле StreetInfo:
Maximum(ToLeft,ToRight)
2. Выяснить минимальный номер дома для отрезка улицы в файле StreetInfo:
Minimum(FromLeft,FromRight)
3. Выбрать все строки таблицы, для которых средний возраст равен 42:
Round(СРЕД_ВОЗРАСТ, 1) = 42
В зависимости от типа данных, это выражение может дать лучшие результаты, чем прямое сравнение со значением (СРЕД_ВОЗРАСТ=42). При обычном сравнении со значением 42 MapInfo не выберет записи со значениями, скажем, 41.7, 42.1 или 42.4.
Chr$(num) Возвращает символ, заданный кодом.
DeformatNumber$( str ) Обладает обратным действием к функции FormatNumber$; удаляет разделители тысяч из строки.
Format$(num, шаблон) Возвращает строковое представление числа. Шаблон - это строка, задающая формат результата, возвращаемого функцией.
FormatNumber$( num ) Возвращает строку, представляющую форматированную строку. Эта функция проще, чем Format$, но менее гибкая (например, всегда вставляет разделитель тысяч).
InStr(num,str1,str2) Возвращает позицию первого символа подстроки в строке.
LCase$(str) Возвращает строку, написанную в нижнем регистре.
Left$(str,num) Возвращает первые num символов строки str.
Len(str) Возвращает число символов строки.
LTrim$(str) Удаляет все пробелы из начала строки.
Mid$(str,num1,num2)
Возвращает num2 символов из str, начиная с символа, номер которого определен параметром num1.
Proper$(str) Возвращает строку, написанную
в смешанном регистре(первый
Right$(str,num)
Возвращает последние num символов строки str.
RTrim$(str) Удаляет все пробелы из конца строки.
Str$(expr) Возвращает строковое представление выражения.
UCase$(str) Возвращает строку, написанную в верхнем регистре.
Val(str) Возвращает число из строки, например, Val("18") равно 18.
Примеры:
1. В первой строке надписи Вывести название области, а во второй - численность населения.
Proper$(Область)+Chr$(13)+
2. Вы готовитесь нанести на карту города банки. Для этого нужно найти все строки, содержащие подстроку "Банк" в колонке "Название". Слово "Банк" может быть как отдельным словом в названии, так и сливаться с другими словами. Вы также не уверены, что слово "Банк" написано везде большими буквами. Поэтому составляете выражение:
InStr(1,UCase$(Название),"
3. Рассмотрим выражение, где "Телефон" - это колонка, содержащая телефонные номера, начинающиеся с кодов городов:
Left$(Телефон,3)="404"
Это выражение выбирает все строки таблицы, поле номера телефона в которых начинается на "404".
CurDate( ) Возвращает текущую дату.
Day(date) Возвращает день даты (от 1 до 31).
Month(date) Возвращает месяц даты (от 1 до 12).
Weekday(date) Возвращает день недели (от 1 до 7), 1 соответствует воскресенью.
Year(date) Возвращает год-компоненту даты.
CurDate
Примеры:
1. Функция CurDate() может использоваться
в сочетании с командой
2. Выбрать все записи о
Поступило <= CurDate()-30
3. Примеры: Выбрать все записи, относящиеся к первому числу любого месяца:
Day(date)=1
4. Выбрать все записи, относящиеся к пятницам, не попадающим на 13-е число:
Weekday(date)=6 and Day(date)<>13
5. Выбрать все записи, относящиеся к августу:
Month(Доставлено)=8
6. Чтобы выбрать все записи, полученные до августа:
Month(Доставлено)<8
7. Выбрать все записи, относящиеся к августу 1990:
Month(Доставлено)=8 and Year(Доставлено)=1990
8. Выбор всех записей от августа или сентября:
Month(Доставлено)=8 or Month(Доставлено)=9
9. Выбор всех записей от августа или сентября:
Month(Доставлено)=any(8,9)
10. Выбор всех записей от августа или сентября 1990 года:
Month(Доставлено)=any(8,9) and Year(Доставлено)=1990
11. Выбрать все записи о пятницах в июле месяце:
Weekday(date)=6 and Month(date)=7
12. Найти все записи, относящиеся к 1990 году:
Информация о работе Шпаргалка по " Геоинформационные системы"