You may use "Refactor fields" processing tool as an alternative to achieve your goal. I've made a standalone sample below; The key is part 'expression': '\"pop_est\" - 20000',
You would replace the logic with your '"HOEHEGEB"/3.5'
You can told us if it speed up your processing.
import processing
input_path = '/vsicurl/https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_110m_admin_0_countries.geojson'
parameters = {
'INPUT': input_path,
'FIELDS_MAPPING':[{
'expression': '"scalerank"',
'length': 0,
'name': 'scalerank',
'precision': 0,
'type': 2
},{
'expression': '"labelrank"',
'length': 0,
'name': 'labelrank',
'precision': 0,
'type': 2
},{
'expression': '"sovereignt"',
'length': 0,
'name': 'sovereignt',
'precision': 0,
'type': 10
},{
'expression': '"sov_a3"',
'length': 0,
'name': 'sov_a3',
'precision': 0,
'type': 10
},{
'expression': '"adm0_dif"',
'length': 0,
'name': 'adm0_dif',
'precision': 0,
'type': 2
},{
'expression': '"level"',
'length': 0,
'name': 'level',
'precision': 0,
'type': 2
},{
'expression': '"type"',
'length': 0,
'name': 'type',
'precision': 0,
'type': 10
},{
'expression': '"admin"',
'length': 0,
'name': 'admin',
'precision': 0,
'type': 10
},{
'expression': '"adm0_a3"',
'length': 0,
'name': 'adm0_a3',
'precision': 0,
'type': 10
},{
'expression': '"geou_dif"',
'length': 0,
'name': 'geou_dif',
'precision': 0,
'type': 2
},{
'expression': '"geounit"',
'length': 0,
'name': 'geounit',
'precision': 0,
'type': 10
},{
'expression': '"gu_a3"',
'length': 0,
'name': 'gu_a3',
'precision': 0,
'type': 10
},{
'expression': '"su_dif"',
'length': 0,
'name': 'su_dif',
'precision': 0,
'type': 2
},{
'expression': '"subunit"',
'length': 0,
'name': 'subunit',
'precision': 0,
'type': 10
},{
'expression': '"su_a3"',
'length': 0,
'name': 'su_a3',
'precision': 0,
'type': 10
},{
'expression': '"brk_diff"',
'length': 0,
'name': 'brk_diff',
'precision': 0,
'type': 2
},{
'expression': '"name"',
'length': 0,
'name': 'name',
'precision': 0,
'type': 10
},{
'expression': '"name_long"',
'length': 0,
'name': 'name_long',
'precision': 0,
'type': 10
},{
'expression': '"brk_a3"',
'length': 0,
'name': 'brk_a3',
'precision': 0,
'type': 10
},{
'expression': '"brk_name"',
'length': 0,
'name': 'brk_name',
'precision': 0,
'type': 10
},{
'expression': '"brk_group"',
'length': 0,
'name': 'brk_group',
'precision': 0,
'type': 10
},{
'expression': '"abbrev"',
'length': 0,
'name': 'abbrev',
'precision': 0,
'type': 10
},{
'expression': '"postal"',
'length': 0,
'name': 'postal',
'precision': 0,
'type': 10
},{
'expression': '"formal_en"',
'length': 0,
'name': 'formal_en',
'precision': 0,
'type': 10
},{
'expression': '"formal_fr"',
'length': 0,
'name': 'formal_fr',
'precision': 0,
'type': 10
},{
'expression': '"note_adm0"',
'length': 0,
'name': 'note_adm0',
'precision': 0,
'type': 10
},{
'expression': '"note_brk"',
'length': 0,
'name': 'note_brk',
'precision': 0,
'type': 10
},{
'expression': '"name_sort"',
'length': 0,
'name': 'name_sort',
'precision': 0,
'type': 10
},{
'expression': '"name_alt"',
'length': 0,
'name': 'name_alt',
'precision': 0,
'type': 10
},{
'expression': '"mapcolor7"',
'length': 0,
'name': 'mapcolor7',
'precision': 0,
'type': 2
},{
'expression': '"mapcolor8"',
'length': 0,
'name': 'mapcolor8',
'precision': 0,
'type': 2
},{
'expression': '"mapcolor9"',
'length': 0,
'name': 'mapcolor9',
'precision': 0,
'type': 2
},{
'expression': '"mapcolor13"',
'length': 0,
'name': 'mapcolor13',
'precision': 0,
'type': 2
},{
'expression': '"pop_est"',
'length': 0,
'name': 'pop_est',
'precision': 0,
'type': 2
},{
'expression': '"gdp_md_est"',
'length': 0,
'name': 'gdp_md_est',
'precision': 0,
'type': 6
},{
'expression': '"pop_est" - 20000',
'length': 0,
'name': 'pop_year',
'precision': 0,
'type': 2
},{
'expression': '"lastcensus"',
'length': 0,
'name': 'lastcensus',
'precision': 0,
'type': 2
},{
'expression': '"gdp_year"',
'length': 0,
'name': 'gdp_year',
'precision': 0,
'type': 2
},{
'expression': '"economy"',
'length': 0,
'name': 'economy',
'precision': 0,
'type': 10
},{
'expression': '"income_grp"',
'length': 0,
'name': 'income_grp',
'precision': 0,
'type': 10
},{
'expression': '"wikipedia"',
'length': 0,
'name': 'wikipedia',
'precision': 0,
'type': 2
},{
'expression': '"fips_10"',
'length': 0,
'name': 'fips_10',
'precision': 0,
'type': 10
},{
'expression': '"iso_a2"',
'length': 0,
'name': 'iso_a2',
'precision': 0,
'type': 10
},{
'expression': '"iso_a3"',
'length': 0,
'name': 'iso_a3',
'precision': 0,
'type': 10
},{
'expression': '"iso_n3"',
'length': 0,
'name': 'iso_n3',
'precision': 0,
'type': 10
},{
'expression': '"un_a3"',
'length': 0,
'name': 'un_a3',
'precision': 0,
'type': 10
},{
'expression': '"wb_a2"',
'length': 0,
'name': 'wb_a2',
'precision': 0,
'type': 10
},{
'expression': '"wb_a3"',
'length': 0,
'name': 'wb_a3',
'precision': 0,
'type': 10
},{
'expression': '"woe_id"',
'length': 0,
'name': 'woe_id',
'precision': 0,
'type': 2
},{
'expression': '"adm0_a3_is"',
'length': 0,
'name': 'adm0_a3_is',
'precision': 0,
'type': 10
},{
'expression': '"adm0_a3_us"',
'length': 0,
'name': 'adm0_a3_us',
'precision': 0,
'type': 10
},{
'expression': '"adm0_a3_un"',
'length': 0,
'name': 'adm0_a3_un',
'precision': 0,
'type': 2
},{
'expression': '"adm0_a3_wb"',
'length': 0,
'name': 'adm0_a3_wb',
'precision': 0,
'type': 2
},{
'expression': '"continent"',
'length': 0,
'name': 'continent',
'precision': 0,
'type': 10
},{
'expression': '"region_un"',
'length': 0,
'name': 'region_un',
'precision': 0,
'type': 10
},{
'expression': '"subregion"',
'length': 0,
'name': 'subregion',
'precision': 0,
'type': 10
},{
'expression': '"region_wb"',
'length': 0,
'name': 'region_wb',
'precision': 0,
'type': 10
},{
'expression': '"name_len"',
'length': 0,
'name': 'name_len',
'precision': 0,
'type': 2
},{
'expression': '"long_len"',
'length': 0,
'name': 'long_len',
'precision': 0,
'type': 2
},{
'expression': '"abbrev_len"',
'length': 0,
'name': 'abbrev_len',
'precision': 0,
'type': 2
},{
'expression': '"tiny"',
'length': 0,
'name': 'tiny',
'precision': 0,
'type': 2
},{
'expression': '"homepart"',
'length': 0,
'name': 'homepart',
'precision': 0,
'type': 2
},{
'expression': '"featureclass"',
'length': 0,
'name': 'featureclass',
'precision': 0,
'type': 10}],
'OUTPUT':'/tmp/refactorized.shp'
}
feedback = QgsProcessingFeedback()
out = processing.run("native:refactorfields", parameters)
project = QgsProject.instance()
vl = QgsVectorLayer(out['OUTPUT'], "Refactored", "ogr")
project.addMapLayer(vl)
layer.dataProvider().changeAttributeValues()instead ofeditandlayer.updateFeature(). – Kadir Şahbaz Mar 10 '21 at 11:50