gvSIG-Desktop 1.12. Manual de usuario
Description of the 'Field Calculator'
Introduction
The field calculator window has three different sections.
Information
The Information section provides information about the type of field and the commands selected in the “General” tab.
The following information can be found in this section:
- “Operator" = This indicates the command selected and the expression which allows it to be executed.
Example: In this case the command we wish to use is “log”, which allows us to calculate the logarithm of a field with a numerical value.
The “log (Parameter)” operator indicates that, for example, in order to obtain the logarithm of a field which contains the area data of a plot shp, the word “Parameter” must be replaced by the field we wish to obtain the logarithm of. As a result, the expression will be as follows: log([AREA])
- "Parameter" = This can be one of three different field types which must be entered in the expression box in order to perform the calculation.
- Numerical value: a String, Double or integer type field must be entered.
- String value: A String type field must be entered.
- Date value: A date type field must be entered.
NB. If a table field is selected in the “Field” section of the field calculator, the information window indicates what type of data it is.
NB. In order to input parameters into the “Expression” text box, either double click on the name of the field from the list of fields in the General tab or type in the name of the field, in which case the String expressions input must be placed in inverted commas.
- "Return" = This indicates the type of data obtained as a result of the calculations.
Numerical Value = The result must be String, Double or integer type field data.
NB. If a String field type has been selected, it should be noted that this field type uses string values. If we add two String fields to another String field, the final result is a string and not the result of the operation (for example: 2+2 = 22, not 4).
Boolean Value = A Boolean value returns a true/false answer to a question. If the result of the question is in a numerical field, it would therefore be either “1/0” depending on whether the reply was true or false. Let us look at an example:
We wish to know if there are records in a field which are the same as those in another field. The command which allows us to find this out “==”
If we type the following sentence: [integer] == [double] (double and integer being the names of two fields, each with numerical values), the response according to the type of target field (Boolean or String) can be seen in the image below:
- Date Value: The result must be in a Date type field.
NB. If a new layer is created in a gvSIG view (View menu / New layer), the wizard for this action allows you to specify the “Type of field” on which calculations are going to be performed.
If you are working with a layer and wish to know the field type, simply start a layer editing session, go to the “Table” menu and select “Manage fields”.
This opens a window called the “Field manager”, which allows the fields of a table to be created, renamed or deleted. It can also be used to confirm the field type.
General / Advanced Tabs
- General: This provides information about:
- "Fields": The text box shows all the fields of the table being worked on.
- "Type": Access to commands depends on which check box is activated.
- "Commands": These are the operators which allow expressions to be constructed to perform the calculations required.
- Advanced: A search box may be opened to look for an expression saved in a file.
Once the file has been selected, click on the “Evaluate” button to find out whether the expression is correct or not.
NB. The expressions must be written in Python programming language.
'Expression' Section
The name of the field the results of the calculations of the expressions entered in the text box appear in is next to the “Column” text.
NB. The expressions are only calculated on the records selected in the table (if no records have been selected, the calculation is performed on all the records in the selected field).