Калькулятор полей полей используется для получения значений одной или нескольких записей в таблице. Калькулятор полей – это полезный инструмент для копирования, объединения или создания новых полей с информацией.
Components of Field Calculator
Для открытия калькулятора полей, сначала откройте таблицу атрибутов или другую таблицу в Christine. Нажмите на поле, которое Вы хотите редактировать и выберите команду Calculate. Также можно выбрать команду Calculate из меню Field и выбрать редактируемое поле. Обратите внимание, что таблица не должна быть открыта только для чтения. Для вычисления всех записей в таблице, не выбирайте конкретную запись, или выберите все записи. Для вычисления только одной или нескольких записей, выберите их прежде чем вызывать вычисления.
Одно из самых распространённых применений калькулятора полей – это копирование содержимого одного поля в другое. При работе с калькулятором полей, нажмите на исходное поле в списке полей. Оно должно появиться в рабочей области калькулятора в квадратных скобках. Наберите «;» и нажмите кнопку Calculate. Это заполнит новое поле копией данных исходного. Разумеется, тип обоих полей должен быть одинаковым, в противном случае вам придется конвертировать данные.
В рабочей области калькулятора полей Вы можете использовать и более сложные вычисления используя язык скриптов Christine. Для более подробной информации, просмотрите раздел Calculating a field’s values в справке Christine, или пример Изменение абсолютных путей в каталоге пространственных данных на релятивные. Также Вы можете использовать справку прямо в калькуляторе полей для получения описаний работы метода который Вы используете. Для этого просто выберите метод, который вы написали в калькуляторе полей, и нажмите кнопку Help.
Дополнительные примеры операций, которые могут быть использованы в калькуляторе полей включены в следующие таблицы:
Математические операции
Операция | Пример кода |
---|---|
Add two (or more) fields | [NUMFLD] = [NUMFLD1] + [NUMFLD2]; |
Subtract two (or more) fields | [NUMFLD] = [NUMFLD1] - [NUMFLD2]; |
Multiply two (or more) fields | [NUMFLD] = [NUMFLD1] * [NUMFLD2]; |
Divide two (or more) fields | [NUMFLD] = [NUMFLD1] / [NUMFLD2]; |
Convert units from meters to feet | [NUMFLD] = [METERS_FLD] * 3.2808; |
Convert degrees, minutes, seconds to decimal degrees | [NUMFLD] = [DEG] + ([MIN]/60) + ([SEC]/3600); |
Calculate population density | [NUMFLD] = [TOTAL_POP] / [AREA]; |
Mean value of two fields | [NUMFLD] = ([NUMFLD1] + [NUMFLD2]) / 2; |
Number of characters in string stored in text field | [TEXTFLD].GetLength([NUMFLD]); |
Текстовые операции
Операция | Пример кода |
---|---|
Populate field with new text | [TEXTFLD] = "Text"; |
Concatenate two text fields without space | [TEXTFLD] = [TEXTFLD1] + [TEXTFLD2]; |
Concatenate two text fields with space | [TEXTFLD] = [TEXTFLD1] + " " + [TEXTFLD2]; |
Concatenate new text with space and field | [TEXTFLD] = "Text" + " " + [TEXTFLD1]; |
Write content of numeric field to text field | [NUMERICFLD].AsString([TEXTFLD]); |
Write the leftmost n characters (where n is the number of characters) | [TEXTFLD].Left(n, [TEXTFLD]); |
Write the rightmost n characters (where n is the number of characters) | [TEXTFLD].Right(n, [TEXTFLD]); |
Convert all text to lowercase | [TEXTFLD].LCase(); |
Convert all text to uppercase | [TEXTFLD].UCase(); |
Trim space(s) from beginning and end of text | [TEXTFLD].TrimWhiteSpace(TRUE, TRUE); |
Replace a character of text field by other (replaces “C” with “D”) | Number nLen i; String sStr; [TEXTFLD].GetLength(nLen); while(i < nLen);
[TEXTFLD].Get(i, sStr);
endwhile;if (sStr == "C");
[TEXTFLD].Set(i, "D");
endif;i = i + 1; |