"Unit" objesi bir projedeki birim sistemi tanımlamak için kullanılır. Bir proje bir ya da daha fazla birim sistemi içerebilir. Eğer ki tanımlanan bir "Unit" objesi yoksa, bütün projenin değişmeyen standart birim sistemine sahip olduğu varsayılır.
Eğer ki "Unit" objesi tanımlanmışsa, ilk "Unit" objesinin adının 'Internal' olması zorunludur. Bu "unitUnit" objesi sistemin tüm hesapları o birimlerden yaptığı bir birim sistemi tanımlamak için kullanılır. Tek standartlaşmış bir internal Internal birim sistemi kullanmak, parametrik ifadelerin yazımında kolaylık sağlar.
Bir internal Internal birim sistemi tanımlandıktan sonra, son kullanıcı için girişi kolaylaştırmak amacıyla daha fazla birim sistemi tanımlamak mümkündür.
Projenin yazarı çoklu birim sistemleri tanımlayabilir.Örnek olarak, bu sistemler Kesit, Koordinat, Deplasman vb. Olarak adlandırılabilir.Herhangi bir parametrenin birim kategorisinin adı Birim Objelerinin herhangi birinin adıyla eşleşirse, son kullanıcının girdiği parametre değerleri için o birim sistemi kullanılacaktır.
Projede 'Default' adında bir Unit objesi varsa, birim kategorisi tanımlanmayan tüm parametrelerin birim sisteminin 'Default' birim kategorisinde olduğu varsayılır.
...
Karayolları Bilgi Yönetim Sistemi (KBYS)'de birim kategorisi olarak yukarıdaki birim sistemleri kullanılmaktadır. Bu birim sistemlerine ekleme, çıkarma ve değiştirme yapılabilir. Biri hariç: 'internalInternal' çünkü kod çalışırken tüm birim sistemlerini tek bir birim sistemine çevirerek (internal unit) işlem yapar. Diğer tüm birim sistemleri(Display Units) son kullanıcının gördüğü parametrelerin birimleridir. Tüm bu kullanıcının gördüğü birim sistemleri kod çalıştırılırken İnternalInternal'a çevrilir.
Örnek:
Code Block | ||||
---|---|---|---|---|
| ||||
<P N="A" V="20000" Role="Input" UT="Length" UC="M_TON" /> <P N="B" V="50000" Role="Input" UT="Length" UC="KM_N" /> <P N="C" V="A+B" UT="Length" UC="KM_N" /> |
...
Yani tüm işlem aslında Internal birim kategorisinde yapılır. Bu örnekte birim tipi Length olan internal Internal birim sistemi milimetre ile çalıştığı için A=20000mm ve B=50000mm olarak işlemi yapıp kullanıcının görmek isteyeceği birime çevrilmiştir.
...
Sınıfı | Zorunluluk | Adı ve Tipi | Varsayılan değeri ve açıklaması | Öznitelikler | |
1 | Length | Zorunlu | N="Length" | D="[INCH/FEET/YARD/MILLIMETER/ | Role="Input" |
2 | Force | Zorunlu | N="Force" | D="[POUND/KIPS/NEWTON/KILONEWTON/ | Role="Input" |
3 | Angle | Zorunlu | N="Angle" | D="[DEGREES/RADIANS]" | Role="Input" |
4 | Temperature | Zorunlu | N="Temperature" | D="[FAHRENHEIT/CELSIUS]" | Role="Input" |
...