- globalmapper.SetFeatureClass(GM_LayerHandle_t32 aLayer, GM_FeatureClassType_t8 aFeatureClassType, uint32 aFeatureIndex, FeatureClass_t16 aFeatureClass) GM_Error_t32
-
Sets the feature class for the given area, line, or point feature in the given layer.
- Parameters:
-
aLayer (GM_LayerHandle_t32) – Layer the feature is in
aFeatureClassType (GM_FeatureClassType_t8) – Type of feature class (area, point, line)
aFeatureIndex (uint32) – Index of feature in layer
aFeatureClass (FeatureClass_t16) – New feature class to assign to feature
- Returns:
-
Error Code
- Return type:
-
GM_Error_t32
Example
The following is an example of SetFeatureClass.
import os
import globalmapper as gm
i=0
import_dir = "Z:/GM-20069/vector_layer_editing_sample_data/"
# Close all layers that may be open
layers_are_open = gm.GetLoadedLayerList()
if layers_are_open:
arr_ptr, arr_size = layers_are_open
initial_layers = gm.GM_LayerHandle_array_frompointer(arr_ptr)
for i in range(arr_size):
gm.CloseLayer(initial_layers[i])
err_LoadLayerList, array_pointer, array_size_param = gm.LoadLayerList(
os.path.join(import_dir, "area.shp"),
gm.GM_LoadFlags_HideAllPrompts,
)
# Get handle for the loaded layers
arr_ptr, arr_size = gm.GetLoadedLayerList()
layer_arr = gm.GM_LayerHandle_array_frompointer(arr_ptr)
### START SAMPLE
err_SetFeatureClass = gm.SetFeatureClass(
layer_arr[0], gm.GM_FeatureClass_Area, i, gm.AFC_BUILDING_ROOF
)
### END SAMPLE
assert (
gm.GM_Error_None == err_LoadLayerList
), f"LoadLayerList: Expected {gm.GM_Error_None}, got {err_LoadLayerList}"
assert (
gm.GM_Error_None == err_SetFeatureClass
), f"SetFeatureClass: Expected {gm.GM_Error_None}, got {err_SetFeatureClass}"
assert os.path.isdir(import_dir), f"Import directory doesn't exist: {import_dir}"
assert os.path.exists(
os.path.join(import_dir, "area.shp")
), "Sample data doesn't exist"
For more context refer to the vector layer editing sample scripts.