Function Description
Used to calculate geometric attributes of vector datasets and model datasets, such as geodesic perimeter, ellipsoidal area, node count, and center point coordinates. The calculation results are directly updated to the source dataset and can be stored in existing or new fields. This function modifies the source data. To avoid modifying the source data, back up your data before the operation.
Function Entry
- Attribute Table tab -> Edit group -> Calculate Geometry Attributes button.
- Data tab -> Data Processing -> Vector -> Calculate Geometry Attributes.
- Toolbox -> Data Processing -> Vector -> Calculate Geometry Attributes.
Parameter Description
- Filter Expression: You can directly enter an expression, or click the ... button after the input box to pop up the SQL dialog box. Only objects that meet the filtering criteria participate in the calculation after the filtering expression is set.
- Calculate Only Selected Objects: Used to set whether to calculate only the selected objects. If checked, only selected objects are calculated, and unselected objects do not participate in the calculation. If unchecked, all objects in the dataset are calculated.
- Geometric Properties: Supports calculating the geometric properties of multiple fields at once. Specify fields to store the calculation results, and you can specify existing fields or new fields. If you fill in an existing field name, the current field value will be overwritten by the calculation result. If you fill in a new field name, a new field will be added to save the calculation result. The fields must correspond one-to-one with the geometric properties. The available geometric properties vary slightly depending on the selected vector dataset type.
For example, if the selected dataset is a point dataset, the only available geometric properties are the X/Y coordinates; if the selected dataset is a region dataset, the available geometric properties also include ellipsoidal area, geodesic perimeter, etc.- Center Coordinates (X/Y): Divided into two properties: CenterPointCoordinate_X and CenterPointCoordinate_Y.
- Centroid Coordinates (X/Y): Divided into two properties: CentroidCoordinate_X and CentroidCoordinate_Y.
- Ellipsoidal Area: Adds the ellipsoidal area of the area object, which uses the shortest line between two points on the earth ellipsoid as the boundary to compute the area.
- When the dataset is in ageographic coordinate system, starting from SuperMap 11i (2024) the original algorithm has been optimized. After the optimization, the impact of the Earth's curvature on the calculation results is effectively reduced, thereby improving the accuracy of the area calculation;
- When the dataset is in the Gauss_Kruger (Xian 1980) and Gauss_Kruger (GCS2000) coordinate systems, the precise spherical area is calculated according to the Gaussian coordinate inverse calculation formula provided in the "Technical Regulations for the Third National Land Survey";
- When the dataset is in other projected coordinate systems and planar coordinate systems, the planar area is calculated directly.
- Geodesic Perimeter: Adds the geodesic perimeter of the area object or the geodesic length of the line object.
A geodesic is a curve that follows the curvature of the Earth's surface. The geodesic perimeter is the perimeter of the curved surface. When the dataset is in a geographic coordinate system, it is already in the ellipsoidal space, so the geodesic perimeter is the same as the default SmPerimeter of the surface. When the dataset is in a projected coordinate system or a planar coordinate system, it is in planar space. In this case, the geodesic perimeter is the same as the default SmPerimeter of the object. It is necessary to specify the geographic coordinate system for the calculation; only then does calculating the geodesic perimeter in that geographic coordinate system make sense.
- Subobject Count: Adds the number of subobjects contained in the object.
- Node Count: Adds the number of nodes for line objects/area objects.
- Bound Coordinates: Divided into four properties: maximum and minimum X/Y coordinates.
- Line Start Point: Divided into two properties: LineStartPoint_X and LineStartPoint_Y.
- Line Midpoint: Divided into two properties: LineCenterPoint_X and LineCenterPoint_Y.
- Line End Point: Divided into two properties: LineEndPoint_X and LineEndPoint_Y.
- Line Azimuth: Adds the azimuth of the line object.
- Hole Counts: Adds the number of holes in the area object.
- Numerical Precision: Used to set the number of decimal places to keep for the calculation results. The default value is -1, which means precision is not considered, and the calculation results are not processed.
- Unit of Length: Used to specify the unit of length for calculating the geodesic perimeter. Provides 9 common units of length, including centimeters, decimeters, meters, kilometers, inches, feet, miles, etc.
- Unit of Area: Used to specify the unit of area for calculating the ellipsoidal area. Provides 14 common units of area, including cm\u00b2, dm\u00b2, square meters, km\u00b2, hectares, ares, etc.
- Coordinate System: The coordinate system used for calculating coordinates, lengths, and areas. The coordinate system of the current dataset is used by default.
Application Example
The following figure shows the attribute table of the Beijing municipal district boundary dataset. The three geometric properties, Center Coordinates, Ellipsoidal Area, and Node Count, are calculated respectively, and the results are shown in the right figure below.

After setting parameters such as geometric properties, result fields, units, and coordinate system, click "OK" to execute the calculation. After the calculation is complete, the results will be written to the specified fields. If the attribute table of the dataset or the corresponding layer is already open, the attribute table and the map will refresh automatically without needing to be reopened.
Related Topics
Attribute Table Copy and Paste