Witam serdecznie,
Jak w temacie, chcę dodać do tabeli pliku wektorowego shapefile, unikalną wartość GUID/UUID.
Na ten moment udało mi się dodać kolumny do pliku shp (w tym kolumna GUID).
Do utworzonej kolumny chcę wstawić dla każdego rekordu wartość UUID (najlepiej randomowa uuid4).
Przyznaję, że nie wiem za bardzo, jak się za to zabrać. Raczkuję w Pythonie, a tym bardziej, jeśli chodzi o operowanie na danych geometrycznych.
Dotychczas udało mi się napisać kod, dodający do każdej z warstw .shp kolumny do tabeli atrybutów: guid, add_date i mod_date. Chciałabym z automatu wygenerować dla każdego rekordu wartość uuid i wstawić do kolumny guid.
source = ogr.Open(path, update=True)
layer = source.GetLayer()
layer_defn = layer.GetLayerDefn()
field_names = [layer_defn.GetFieldDefn(i).GetName() for i in range(layer_defn.GetFieldCount())]
guid_field = ogr.FieldDefn('guid', ogr.OFTString)
layer.CreateField(guid_field)
addDate_field = ogr.FieldDefn('add_date', ogr.OFTString)
layer.CreateField(addDate_field)
modDate_field = ogr.FieldDefn('mod_date', ogr.OFTString)
layer.CreateField(modDate_field)
source = None
zmienna path, została zdefiniowana wcześniej w kodzie. Zawiera po prostu stringa/lokalizację do katalogu z danymi shp.
Korzystam z bibliotek osgeo i uuid.
Z góry dziękuję za wszelkie wskazówki, jak się do tego zabrać :(.