Sitemap
ozan uzun

ozan uzun

Harita Mühendisi & CBS Uzmanı Linkedln : linkedin.com/in/uzunozan41

Arcgispro’da Python ile Label (Etiket düzenleme)

3 min readAug 10, 2026

Herkese merhaba,

Arcgis veya benzeri bir cbs yazılımında çalışırken etiketler fieldlardaki bilgileri almamızı sağlar ama bazen birden fazla bilgisiyi etiket ile almak isteyebiliriz. Bu işlemi Arcgisproda python kullanarak yapacağız.

Bu yazıdaki Waikato District Council tarafından sağlanan WDC — Water Supply Line (İçme suyu hattı )verisini kullanacağız.

Press enter or click to view image in full size

Veri içerisinde en çok kullanacağımız Diameter(Çap) ve Material (malzeme) fieldları olacak.

İlk olarak işlemi yapacağımız fc’ye sağ tıklayıp Labeling porperties diyoruz ve ardından label class pencerisi açılıyor.

Pencereyi incelediğimizde. Class kısmında kodları yazacağımız kısım bulunacak. Symbol kısmında yazı rengi ve kalınlığı . Position kısmında ise yazının hat üstündeki konumunu belirliyoruz. Bu yazıda tüm işlemlerimizi Class içerisimde yapacağız.

Get ozan uzun’s stories in your inbox

Join Medium for free to get updates from this writer.

Class kısmını incelediğimizde Language kısmı işlem yapacağımız programa dilini seçiyoruz bizim için bu Python. Fields kısmında kullanabileceğimiz filedlar, Functions kısmında hazır fonksiyonlar ,Expression kısmında ise kod yazacağımız alan bulunur. Burada Advanced tikini işaretlediğimizde otomatik fonksiyon oluşur. Biz tüm işlemlerimizi fonksiyon içerisinde tamamlayacağız. Aşağıdaki basit fonksiyon hatların üstünde çapların yazmasını sağlar.

def FindLabel ( [Diameter] ):
return [Diameter]
Press enter or click to view image in full size

Şimdi kademe kademe bu fonksiyonu geliştirelim. İlk olarak çapların yanına Ø sembolünü ekleyelim.

def FindLabel ( [Diameter] ):
output="Ø"+" "+[Diameter]
return output
Press enter or click to view image in full size

Şimdi yanına malzemeleri de ekleyelim. Bunun için fonksiyonun içerisinde 2. bir değişken koymalıyız.

def FindLabel ( [Diameter] ,[Material] ):
output="Ø"+" "+[Diameter]+[Material]
return output
Press enter or click to view image in full size

Şimdi ise bilgi olarak mesafeleri ekleyelim.

def FindLabel ( [Diameter] ,[Material] ,[Length]):
output="Ø"+" "+[Diameter]+[Material]+" "+[Length]
return output
Press enter or click to view image in full size

Evet metrajlar yazdık ama çok okunaklı değil. Bu yüzde metrajı alt tarafa indirelim.

def FindLabel ( [Diameter] ,[Material] ,[Length]):
output="Ø"+" "+[Diameter]+[Material]+"\n"+"L= "+[Length]+" m"
return output
Press enter or click to view image in full size

Böylece daha okunabilir oldu birden fazla field’daki bilgileri almış olduk. Şimdi fieldlardan bilgi alalım ama verinin kendinde olmayan bir çıktı verelim. Örnek olarak düşük çaptaki borular abone yüksek çaptaki borulara ise ana hat diyelim. Bunu if,else yapısı ile yapacağız sınır olarak 50mm kullanacağız.

def FindLabel ( [Diameter]):
if int([Diameter])<=50:
output="Abone"
else:
output="Ana Hat"

return output
Press enter or click to view image in full size

Son olarak bir önceki fonksiyona geri dönelim ve çaplara göre yazıların renk ve boyutlarını ayarlayalım.

def FindLabel ( [Diameter] ,[Material] ,[Length]):

if int([Diameter])<=50:
output="<CLR red='255' green='255'><FNT size = '10'>"+ "Ø"+" "+[Diameter]+[Material]+"\n"+"L= "+[Length]+" m"+ "</FNT></CLR>"

else:
output="<CLR red='255'><FNT size = '16'>"+ "Ø"+" "+[Diameter]+[Material]+"\n"+"L= "+[Length]+" m"+ "</FNT></CLR>"


return output
Press enter or click to view image in full size

Ve böylece basit python kodları çalışma alanımızı özelleştirmede ciddi kolaylık sağladığını görmüş olduk.

--

--