Sözlük düzenleme, Proje düzenleme katman seçim ekranlarından hazır harita çizim sitili seçilip kullanılabilmektedir.

GEODI haritası çizim stilleri css ile ayarlanmaktadır. AppData/Dece/App/GEODI/SystemStyles veya uygulama yanına SystemStyles klasörüne atılacak css dosyası ile yeni stil tanımı yapılabilir. Katmana özel stil zorlamaları yapılabilir.

Yapılacak CSS tanımları basamaklı mimariyi destekler. Bir etiket bir tanımdan kırmızı renk alıp başka bir tanımdan mavi arka plan alabilir.

Stil tanımları

Etiket, nokta, çizgi, alan, GDI ayarları için ayrı tanımlamalar yapılmasını sağlayacak özellikler kullanılabilir.

Etiket düzenlemeleri için label-... , Nokta düzenlemeleri için point-.... , Alan düzenlemeleri için polygon-..., Çizgi düzenlemeleri için line-...., GDI ayarları için map-... tanımları kullanılabilir.

Tanımlar doğrudan kullanılamaz. Bir blok içerisinde etkiyeceği hedef  veya sınıf adı ile kullanılabilir.

Güncel tüm css özellikleri için buraya tıklayınız. Dokümanda açıklama alanlarında kullanılabilecek değerler ve değer tipi belirtilmiştir.

Stil bloğu tanımlama

Bloklar .[SınıfAdı] { .. } , #[Hedef] {..}, #[TypeName] {..} veya  layer{...} şeklinde tanımlanabilir.  "layer" isimli bloktaki tanım tüm geometrileri etkiler.

Bir katmanı etkileyen bloklar için devralma sırası "layer" → [TypeName] → #[LayerId] → #[LayerDisplayName] → .[KatmandaTanımlıSınıfAdı] → .[GeometrideTanımlıSınıfAdı] şeklindedir.

Bir geometri çizim sırasında listedeki birden fazla tanımdan etkileniyorsa sıralamada son tanımda bulunan özellik geçerli olur. Daha üst bir tanımın her zaman geçerli olabilmesi için tanım içeriğinde !important ifadesi kullanılabilir.


Devralma Örneği

/* 
Bu örnekte MyClass sınıfı seçilmiş MyLayer isimli bir katman için etkietler .
- Kırmızı renkte çizilir. "." ile tanımlı sınıf adı devralma sırasında sondadır.
- Siyah zemin kullanılır. Zemini Gri yapmaya çalışan "." ile tanımlı sınıf adı devralma sırasında sonda olsa da devralma sırasında daha önce gelen "#" katman tanımında !important kullanılmıştır.
- Yazı kenarları beyazdır. "#" katman tanımından Halo tanımı devralınmıştır.

*/
.MyCLass {
	label-Color:Red;
	label-BackgroundColor:Gray;
}
layer {
	label-Color:Blue;
}
#MyLayer {
	label-Halo:White;
	label-BackgroundColor:Black !important;
}

Makro kullanımı

Devralma Örneği
.MyCLass_A {
	point-Color:=context.GetColor(context.ID);
}
.MyClass_B {
    point-Color:=Color.FromArgb(200,(int)Math.Abs((context.Geometry.Centroid.Y/10000)%255),(int)Math.Abs((context.Geometry.Centroid.X/10000)%255),(int)Math.Abs((context.Geometry.Centroid.X/10000)%255));
}
.MyClass_C {
    label-Enable:=c.MapScale>1000;
}

Label(Etiket) stilleri örnekleri

	label-Transform:ToUpper;		// Etiketteki bütün harfleri büyük-küçük yapmak için kullanılabilir.
	label-TrimLength:20;			// Maksimum 20 karakter. Sonrasını göstermez.
	label-TrimAddString:"Kemal";	// Etiketin sonuna "Kemal" Ekler.
	label-MaxWidth:100;				// Etiketin maksimum genişliği. Aynısını Maxheight(yükseklik) veya Min height-width için de kullanabilirsiniz.
	label-AutoHeight:true;			// Maksimum genişlik belirtildiği zaman yüksekliği otomatik ayarlar. (Autowidth de yükseklik belirtildiği zaman kullanılabilir.)
	label-TextUpdater:=c.DisplayName.Split('_')[0];		//Etiketi _ karakterinden bölüp ilk parçayı kullan makrosu. TextUpdater ile etiket üzerinde makro yazılabilir.

Bing Harita Etiketlerine Benzer Etiket Stili;

	label-color:black;
	label-halo:transparent;
	label-HaloWidth:2;
	label-font:Arial, 12pt;
	label-OffsetY:-15;
	label-MaxVisible:210000;        // Ülke, il, ilçe bazlı kayıt isimlerinin görüntüleme düzeyini sağlar.
	label-MaxWidth:100;
	label-AutoHeight:true; 

Sözlük Elemanına (Keyword) Özel Stil Tanımlama

line-Color:=System.Drawing.ColorTranslator.FromHtml(c["db"].GetValueFromCache(@"C:\GEODI_DATA\Ulaşım\Ordu Güzergahlar.xlsx","Güzergahlar$","Renk","hat_adi",c.DisplayName) as string);

Sözlükteki Her bir kayıt İçin Farklı İkon Kullanma

#GeodiDictionary_68a832e0-f5a7-4e41-b33f-b15bbf85ba6e {
	point-SymbolFile:="%App%/GUI/TrafficPro/" + c.DisplayName + ".png";
}

Sembol Kullanma

point-SymbolFile:%App%/GUI/mapimage/restoran.png;
point-SymbolScale:1;

Sadece İstenen Tanıyıcı için Stil Tanımlama

#Default_GeometryRecognizer {
	label-MaxVisible:0;
}

GEODI 360 GPS Geometrileri için Stil Tanımlama

.GPS {
line-Color:Red;
line-Width:1;
}
----------
.Note {
label-Enable:False;
}

Coğrafi Koordinat Tanıyıcı ve Coğrafi Sınır Tanıyıcı için Stil Tanımlama 

- Coğrafi Koordinat Tanıyıcı nın tanıdığı ve 7fa0e39f-6a8b-7dab-a7bb-b447fbc9accc id li kaynağa özel stil tanımlama. Bunlar özel tanımlar olduğu için Hide:true; ile bunların stil arayüzüne gelmemesi sağlanabilir.
GeometryRecognizer.enm_7fa0e39f-6a8b-7dab-a7bb-b447fbc9accc {
point-Color:Blue !important;
Hide:true;
}
- Coğrafi Koordinat Tanıycı nın pdf içeriklerden tanıdığı noktalara özel stil tanımlama. Bu örnek diğer içerik türleri için de yapılabilir. Sınır tanıyıcı için BnC_pdf şeklinde kullanılmalıdır.
BnC_OfficeDocs , BnC_Web_Social şeklinde içerik gruplarına uygulanabilir.
GeometryRecognizer.Geo_pdf {
point-Color:Black !important;
}
  • Coğrafi Koordinat Tanıyıcı için

    • enm_<EnumereatorId> : Örnek enm__FolderContentReaderEnumarator_1bb24a19-eec6-4145-8464-edd8252c35c4

    • GeoC_<ContentCategory> : Örnek : GeoC_CAD, GeoC_OfficeDocs , GeoC_Web_Social, GeoC_Mail, GeoC_Image ...

    • Geo_<ContentExtension> : Örnek Geo_jpeg, Geo_xls

  • Coğrafi Tablo Tanıyıcı için

    • enm_<EnumereatorId> : Örnek enm__FolderContentReaderEnumarator_1bb24a19-eec6-4145-8464-edd8252c35c4

    • BnC_<ContentCategory> : (Zaten vardı) Örnek : BnC_CAD, BnC_OfficeDocs , BnC_Web_Social, BnC_Mail, BnC_Image ...

    • Bn_<ContentExtension> : (Zaten vardı) Örnek Bn_jpeg, Bn_ncz

Örnek : Coğrafi koordinat tanıyıcı uzantısı tweet olan içerikler için özel stil.

.Geo_tweet {
	point-SymbolFile:%App%/GUI/icons/Layer/twitter24.png;

}

MultiPoint geometrilerin ikonunu belirlemek için aşağıdaki ayar true yapılmalıdır

.stilim {
point-SymbolDrawForMultiPoint:true;
point-SymbolFile:="%App%/GUI/TrafficPro/" + c.DisplayName + ".png";
}

Geometrilerin Harita Ölçeğine Göre Görüntülenmesi

GEODI\SystemStyles\Scale_Geom.css ve GEODI\SystemStyles\Scale_Label.css dosyaları kullanabilirsiniz. Bunlar stil seçme arayüzüne gelecektir. İlgili katman/tanıyıcı stillerine uygulayarak ölçeğe göre görünmesini sağlayabilirsiniz.