![]() |
Gambar 1 – SHP Administrasi Provinsi Bali di QGIS |
Kemudian di dalam atribut tabel layer tersebut tambahkan 2 field/kolom dengan nama ‘color_hex’ dan ‘color_rgb’. Buat dengan type Text (string) dengan panjang karakter 15.
![]() |
Gambar 2 – Tabel Layer Administrasi Provinsi Bali |
![]() |
Gambar 3 – Layer Administrasi Bali dalam tampilan warna yang di kategorikan |
Caranya dengan aktifkan tool QGIS Python Console. Kemudian masukan Script Python berikut :
prefix = "'" layer = iface.activeLayer() attr = layer.rendererV2().classAttribute() attrColor = 'color_hex' # Nama field yang akan di isi kode warna fieldIndex = layer.dataProvider().fieldNameIndex(attrColor) attrFeatMap = {} for cat in layer.rendererV2().categories(): expr = """+attr+""="+prefix+unicode(cat.value())+prefix for f in layer.getFeatures(QgsFeatureRequest(QgsExpression(expr))): attrMap = { fieldIndex : cat.symbol().color().name()} attrFeatMap[ f.id() ] = attrMap layer.dataProvider().changeAttributeValues( attrFeatMap )
Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif.
![]() |
Gambar 4 – Proses Menjalankan Scipt dengan Python Console |
Sebelum menjalankan script di atas, pastikan warna objek polygon sudah di kategorikan, dan layer SHP sudah dalam keadaan editing.
![]() |
Gambar 5 – Tabel Layer Administrasi Provinsi Bali dengan file color_hex sudah terisi dengan kode warna |
prefix = "'" layer = iface.activeLayer() attr = layer.rendererV2().classAttribute() attrColor = 'color_rgb' # Nama field yang akan di isi kode warna fieldIndex = layer.dataProvider().fieldNameIndex(attrColor) attrFeatMap = {} for cat in layer.rendererV2().categories(): expr = """+attr+""="+prefix+unicode(cat.value())+prefix for f in layer.getFeatures(QgsFeatureRequest(QgsExpression(expr))): attrMap = { fieldIndex : str(cat.symbol().color().red()) +','+ str(cat.symbol().color().green()) +','+ str(cat.symbol().color().blue())} attrFeatMap[ f.id() ] = attrMap layer.dataProvider().changeAttributeValues( attrFeatMap )
Jika scipt di atas di jalankan, maka di dalam kolom ‘color_rgb’ akan di dapat hasil seperti berikut :
![]() |
Gambar 6 – Tabel Layer Administrasi Provinsi Bali dengan file color_rgb sudah terisi dengan kode warna |
Tahapan di atas bisa di lihat pada video berikut :
Artikel terkait :
- MEMBUAT WEBGIS DENGAN LEAFLET JAVASCRIPT PART 4
- MEMBUAT WEBGIS DENGAN LEAFLET JAVASCRIPT PART 3
- MEMBUAT WEBGIS DENGAN LEAFLET JAVASCRIPT PART 2
- MEMBUAT WEBGIS DENGAN LEAFLET JAVASCRIPT PART 1