#ქუდის ნაწილის გამოტოვება შესაძლებელია, თუ QGIS კონსოლს ვიყენებთ.
# from qgis.core import (
# QgsProject,
# QgsVectorLayer,
# QgsField
# )
# from PyQt5.QtCore import QVariant
# ფუნქცია ქართულიდან ლათინურ ასოებზე კონვერტაციისთვის
def georgian_to_latin(text):
transliteration_map = {
'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z',
'თ': 'T', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o',
'პ': 'p', 'ჟ': 'J', 'რ': 'r', 'ს': 's', 'ტ': "t", 'უ': 'u',
'ფ': "f", 'ქ': "q", 'ღ': 'R', 'ყ': "y", 'შ': 'S', 'ჩ': 'C',
'ც': 'c', 'ძ': 'Z', 'წ': "w", 'ჭ': "W", 'ხ': 'x', 'ჯ': 'j',
'ჰ': 'h'
}
return ''.join(transliteration_map.get(char, char) for char in text)
# პარამეტრები
# მიუთითე მონაცემთა ბაზა
layer_path = "D:/GIS/werili/Geodatabase/bagdati.gdb"
# მიუთითე ბაზის შრის სახელწოდება
layer_name = "Layer_name"
# სვეტის სახელწოდება სადაც ქართული ასოებით წერია მნიშვნელობები
input_field = "Layer_name"
# ახალი სვეტი სადაც გადაიწერება ინფორმაცია
output_field = "Layer_name"
# ვექტორული შრის ჩატვირთვა
layer = QgsVectorLayer(f"{layer_path}|layername={layer_name}", layer_name, "ogr")
if not layer.isValid():
print("Layer failed to load!")
else:
print("Layer loaded successfully!")
# შემოწმება ახალი სვეტის არსებობაზე, დამატება, განახლება
if output_field not in [field.name() for field in layer.fields()]:
layer.dataProvider().addAttributes([QgsField(output_field, QVariant.String)])
layer.updateFields()
# სვეტის შევსება ახალი მნიშვნელობებით
with edit(layer):
for feature in layer.getFeatures():
georgian_text = feature[input_field]
if georgian_text:
feature[output_field] = georgian_to_latin(georgian_text)
layer.updateFeature(feature)
print("Transliteration complete.")