HARİTA (MAP) Hakkında

HARİTA (MAP), SCADA ekran tasarımına doğrudan bir harita alanı eklemek için kullanılan görsel bir kullanıcı kontrolüdür. Kaynak kodundaki yapı incelendiğinde harita isteğinin; kontrolün boyutu, merkez koordinatları, harita türü, belirli harita öğelerinin görünümü, görünürlük durumları, yakınlaştırma, ayrıntı, parlaklık ve doygunluk bilgileri birleştirilerek oluşturulduğu görülmektedir.


Bu nedenle MAP kontrolü, klasik bir veri göstergesinden farklıdır. Bir ibre, LED, çubuk veya sayısal değer üretmek yerine coğrafi bir görüntüyü SCADA sayfasının görsel bileşeni olarak sunar. Haritanın merkezinin değiştirilmesi ve görsel ayrıntıların yeniden yapılandırılması özellikler üzerinden yapılabilir.

Temel yaklaşım: Kullanıcı haritanın hangi konumu merkez alacağını ve haritanın nasıl görüneceğini özelliklerle tanımlar. Kontrol daha sonra bu parametrelerden bir harita isteği oluşturur ve harita görüntüsünü yükler.

Haritanın Oluşturulma Mantığı

Verilen ProcessEkstraParamVals kodu, MAP kontrolünün özellikleri ile harita isteği arasındaki ilişkiyi açık biçimde göstermektedir. Kontrol boyutu, merkez koordinatları, harita türü ve stil/görünürlük parametreleri sırayla MAPCOMMANDCALLSTR içerisine eklenir.

1. Kontrol boyutu alınır
2. Enlem + Boylam merkezlenir
3. Harita türü belirlenir
4. Öğe ve görünürlük stilleri eklenir
5. Yakınlaştırma ve görüntü ayarları uygulanır

Son aşamada kaynak kodu GETBINGMAP() metodunu çağırmaktadır. Bu metodun gövdesi paylaşılmış kod parçasında bulunmadığından, görüntünün indirilmesi veya görüntülenmesi sırasında kullanılan alt mekanizmanın ayrıntıları bu sayfada varsayılmamıştır.

Kaynak kodundaki temel zincir

Kontrol Boyutu → Merkez → Harita Türü → Öğeler → Görünürlük → Zoom → Scale → Parlaklık → Doygunluk → GETBINGMAP()

Harita İstek Adresinin Oluşturulması

Kaynak kodunda harita adresinin sorgu bölümü MAPCOMMANDCALLSTR değişkeni içerisinde adım adım oluşturulur. Başlangıçta kontrolün gerçek genişlik ve yüksekliği kullanılarak görüntü boyutu belirlenir. Daha sonra merkez, harita türü, öğe stilleri, görünürlük ayarları ve görüntü parametreleri eklenir.

String mapstr = "http://maps.BINGapis.com/maps/api/staticmap?"
             + MAPCOMMANDCALLSTR
             + "&sensor=false";

Bu yapıdan görülebileceği üzere MAP kontrolü, harita görüntüsünü statik bir harita isteği üzerinden alacak şekilde tasarlanmıştır. URL'nin sorgu parametreleri kontrol özelliklerinden üretildiği için aynı MAP kontrolü farklı koordinat ve görünüm ayarlarıyla yeniden kullanılabilir.

Servis bağımlılığı: Harita görüntüsünün alınabilmesi, kaynak kodunda tanımlanan harita servis adresinin erişilebilir olmasına bağlıdır. Harita servislerinin API adresleri, kimlik doğrulama yöntemleri ve kullanım koşulları zaman içerisinde değişebileceği için uygulama ortamındaki servis adresinin ayrıca doğrulanması gerekir.

Merkez Konum Ayarları

Haritanın hangi coğrafi noktayı merkez alacağını Enlem ve Boylam özellikleri belirler. Kaynak kodunda bu iki değer doğrudan center parametresine dönüştürülmektedir.

Özellik EOS Türkçe Karşılığı Varsayılan Açıklama
Latitude Enlem 39 Haritanın merkez enlem değerini belirler.
Longitude Boylam 35 Haritanın merkez boylam değerini belirler.

Konum örneği

Latitude = 39 ve Longitude = 35 olduğunda kaynak kodu, harita isteğinin merkezini 39,35 olarak oluşturur. Başka bir tesis, saha, istasyon veya coğrafi bölge için aynı iki özellik değiştirilerek farklı bir merkez görüntülenebilir.

Harita Türü

MapType, haritanın temel görsel türünü belirleyen özelliktir. Kaynak kodundaki varsayılan değer Roadmap olarak tanımlanmıştır. Kaynakta GNHaritaTuru türünün tüm seçenekleri paylaşılmadığı için burada yalnızca doğrulanabilen varsayılan değer açıklanmaktadır.

Özellik EOS Türkçe Karşılığı Varsayılan Açıklama
MapType Harita Türü Roadmap Harita görüntüsünün temel türünü belirler.

Harita türü, diğer görsel özelliklerle birlikte değerlendirilmelidir. Yol ağırlıklı bir görünüm ile daha görsel/uydu tabanlı bir görünümün operatör ekranındaki bilgi yoğunluğu farklı olabilir.

Harita Öğeleri ve Görünürlük

MAP kontrolünün dikkat çekici özelliklerinden biri, haritanın farklı öğelerini ayrı ayrı ele alabilmesidir. Kaynak kodunda yol, peyzaj, yönetim, POI, transit ve su olmak üzere altı öğe için hem öğe stili hem de görünürlük parametresi oluşturulmaktadır.

Özellik EOS Türkçe Karşılığı Varsayılan Kaynak koddaki işlev
MapItemRoad Harita Öğesi: Yol Geometry Yol öğesinin hangi harita bileşeni üzerinde stil uygulanacağını belirler.
MapItemPeysaj Harita Öğesi: Peysaj Geometry Peysaj öğesinin stil bileşenini belirler.
MapItemAdministrative Harita Öğesi: Yönetim Geometry Yönetim öğesinin stil bileşenini belirler.
MapItemPOI Harita Öğesi: POI Geometry İlgi noktalarının stil bileşenini belirler.
MapItemTransit Harita Öğesi: Transit Geometry Transit öğelerinin stil bileşenini belirler.
MapItemWater Harita Öğesi: Su Geometry Su öğesinin stil bileşenini belirler.

Bu özellikler, kaynak kodunda style=feature:... biçimindeki sorgu parçalarına dönüştürülmektedir. Böylece harita görüntüsünün farklı bileşenlerinin hangi görsel öğe üzerinde etkili olacağı belirlenebilir.

Görünürlük Ayarları

Harita öğelerinin görünür olup olmaması, MAP kontrolünde ayrı özelliklerle yönetilir. Kaynak koddaki varsayılanlar incelendiğinde yol, peyzaj, yönetim, POI ve transit için Off; su için ise On değeri kullanılmıştır.

Özellik EOS Türkçe Karşılığı Varsayılan Açıklama
DisplayRoad Görüntü Yolu Off Yol öğelerinin görünürlük durumunu belirler.
DisplayPeysaj Peysajı Görüntüle Off Peysaj öğelerinin görünürlük durumunu belirler.
DisplayAdministrative Görüntü Yönetim Off Yönetim öğelerinin görünürlük durumunu belirler.
DisplayPOI Görüntü POI Off POI öğelerinin görünürlük durumunu belirler.
DisplayTransit Görüntü Geçişi Off Transit öğelerinin görünürlük durumunu belirler.
DisplayWater Suyu Görüntüle On Su öğelerinin görünürlük durumunu belirler.

Görsel sadeleştirme: Harita üzerinde yalnızca ekranın amacı için gerekli öğeleri görünür bırakmak, yoğun SCADA ekranlarında haritanın okunabilirliğini artırabilir.

Yakınlaştırma, Ayrıntı, Parlaklık ve Doygunluk

Haritanın temel konum ve öğe ayarlarının yanında dört önemli görüntüleme parametresi daha vardır: Harita Yakınlaştırma Faktörü, Harita Ayrıntı Faktörü, Harita Parlaklığı ve Harita Doygunluğu. Kaynak kodunda bu değerlerin tamamı doğrudan harita isteğine eklenmektedir.

Özellik EOS Türkçe Karşılığı Varsayılan Rolü
MapZoomFactor Harita Yakınlaştırma Faktörü 4 Harita yakınlaştırma seviyesini belirler.
MapDetailFactor Harita Ayrıntı Faktörü 1 Harita görüntüsünün ayrıntı/ölçek parametresini belirler.
MapBrightness Harita Parlaklığı 100 Haritanın genel aydınlık değerini sorguya ekler.
MapSaturation Harita Doygunluğu 100 Haritanın renk doygunluğu değerini sorguya ekler.

SCADA ekranı için görsel uyarlama

Harita ana ekranın arka planıyla birlikte kullanılacaksa parlaklık ve doygunluk değerleri görsel bütünlük amacıyla ayarlanabilir. Harita bir bakım, saha veya tesis konumu ekranında ana bilgi kaynağı olacaksa uygun yakınlaştırma ve ayrıntı tercih edilebilir.

Kontrol Boyutu ve Güncelleme Aralığı

Kaynak kodunda harita görüntüsünün boyutu sabit bir değer olarak verilmek yerine MyWebBrowser.Width ve MyWebBrowser.Height üzerinden oluşturulmaktadır. Böylece harita isteğinin size parametresi kontrolün ekrandaki gerçek boyutuna göre hazırlanır.

UpdateInterval ise kontrolün güncelleme zamanlamasında kullanılmaktadır. Kod, değeri tam sayıya dönüştürmeye çalışmakta; geçersiz durumda 1000 değerine dönmekte ve ayrıca sistemin izin verdiği minimum güncelleme aralığının altına inilmesini engellemektedir. Sonrasında zamanlayıcının aralığı bu değerle ayarlanmaktadır.

Özellik EOS Türkçe Karşılığı Varsayılan Açıklama
UCType Kontrol Tipi MAP Kullanıcı kontrolünün tipini tanımlar.
UpdateInterval Güncelleme Aralığı 1000 ms Kontrolün güncelleme zamanlamasında kullanılan aralıktır.
DecimalPoint Ondalık Hane 0 Genel kullanıcı kontrolü parametreleri içinde tutulan sayısal gösterim ayarıdır.
UCBackColor Kontrol Arka Renk Transparent Kontrolün arka plan rengini belirler.
UCForeColor Kontrol Yazı Rengi Black Kontrolün ön plan/yazı rengini belirler.
UCFont Kontrol Yazı Tipi Arial Narrow, 8.25 pt Kontrolün temel yazı tipini belirler.

Kaynak Kodundan Çıkan Teknik Davranışlar

Verilen ProcessEkstraParamVals metodu yalnızca görsel özellikleri okumakla kalmaz; aynı zamanda MAP kontrolünün çalışma akışını da ortaya koymaktadır.

  1. Eski sürüm parametreleri kontrol edilir ve gerekiyorsa güncellenir.
  2. DecimalPoint eksikse varsayılan değer olarak 0 eklenir.
  3. Parametre metni sözlüğe dönüştürülür ve kullanıcı kontrolü adı güncellenir.
  4. Action Event bilgisi alınır.
  5. Arka plan, ön plan ve yazı tipi özellikleri uygulanır.
  6. Harita boyutu kontrolün genişlik ve yüksekliğinden alınır.
  7. Merkez Latitude + Longitude ile belirlenir.
  8. MapType eklenir.
  9. Altı harita öğesi için stil bileşenleri eklenir.
  10. Altı harita öğesi için görünürlük ayarları eklenir.
  11. Yakınlaştırma, ayrıntı, parlaklık ve doygunluk parametreleri eklenir.
  12. Güncelleme aralığı doğrulanır ve zamanlayıcıya uygulanır.
  13. Yetki düzeyi ve grup bilgisi okunur.
  14. GETBINGMAP() çağrılarak harita alınır.
  15. Bağlı veri güncelleme ve parametre saklama işlemleri gerçekleştirilir.

Kaynak kapsamı: Paylaşılan kod parçası GETBINGMAP(), UPDATEBAGLIDATA() ve SAKLAPARAMS() metodlarının içeriğini göstermemektedir. Bu nedenle bu metodların iç algoritmaları hakkında kaynakta bulunmayan ek bir davranış varsayılmamıştır.

SCADA Ekranlarında Kullanım Alanları

MAP kontrolü, haritanın proses ekranının bir parçası olarak kullanılmasının anlamlı olduğu uygulamalarda değerlendirilebilir. Özellikle saha, tesis, istasyon, dağıtım noktası veya coğrafi konum bilgisinin operatör ekranında görsel olarak sunulması gereken tasarımlarda harita alanı oluşturmak için kullanılabilir.

Tesis ve Saha Konumu

Bir tesisin veya saha merkezinin coğrafi konumunu SCADA ekranında göstermek.

İstasyon ve Dağıtım Noktaları

Coğrafi olarak farklı noktalara yayılmış tesis veya istasyonların bulunduğu ekranlara harita alanı eklemek.

Saha Erişimi

Yol ve çevre bilgisinin tesis konumuyla birlikte izlenmesinin yararlı olduğu ekranlarda harita sunmak.

Konum Odaklı Ekranlar

Belirli bir koordinatı merkeze alan operasyon, bakım veya saha bilgi ekranları oluşturmak.

Örnek Ekran Kurguları

MAP kontrolünün gücü, aynı temel kontrolün farklı ekran amaçlarına göre yeniden yapılandırılabilmesidir. Aşağıdaki örnekler kaynak koddaki özelliklerin nasıl birlikte düşünülebileceğini gösterir.

Ekran amacı Merkez Görsel yaklaşım Öne çıkan ayarlar
Tesis Konumu Tesis Enlem/Boylam Sade yol haritası MapType, MapZoomFactor, DisplayRoad
Saha Görünümü Saha Enlem/Boylam Daha yüksek ayrıntı MapZoomFactor, MapDetailFactor
Coğrafi Genel Bakış Bölge merkezi Daha geniş alan MapZoomFactor, MapBrightness
Operasyon Ekranı Operasyon merkezi Sade ve düşük görsel yoğunluk DisplayRoad, DisplayPOI, DisplayTransit, MapSaturation

Seçenekler Kümesi

Kaynak kodunda kullanılan GNHaritaTuru, GNHaritaBilesen ve GNGorunurlukTuru tiplerinin tam seçenek listeleri bu paylaşımda yer almamaktadır. Bu nedenle kaynakta açıkça görülen değerler aşağıdaki gibi belgelenmiştir.

Seçenekler Kümesi Kaynakta görülen değerler Kullanıldığı yer
GNHaritaTuru Roadmap MapType
GNHaritaBilesen Geometry Altı MapItem... özelliği
GNGorunurlukTuru Off, On Altı Display... özelliği

Genel Özellikler

MAP kontrolünün kaynak kodunda tanımlanan temel özellikleri aşağıda birlikte görülmektedir. Varsayılan değerler doğrudan verilen C# tanımlarından alınmıştır; Türkçe karşılıklar güncel terminoloji sözlüğündeki eşleştirmeler esas alınarak verilmiştir.

Özellik EOS Türkçe Karşılığı Varsayılan Ne işe yarar?
UCType Kontrol Tipi MAP Kullanıcı kontrolünün tipini tanımlar.
UpdateInterval Güncelleme Aralığı 1000 Kontrol güncelleme zamanlamasında kullanılır.
DecimalPoint Ondalık Hane 0 Genel sayısal gösterim parametresidir.
UCBackColor Kontrol Arka Renk Transparent Kontrol arka plan rengini belirler.
UCForeColor Kontrol Yazı Rengi Black Kontrol ön plan/yazı rengini belirler.
UCFont Kontrol Yazı Tipi Arial Narrow, 8.25 pt Kontrolün temel yazı tipini belirler.
Latitude Enlem 39 Harita merkezinin enlem değerini belirler.
Longitude Boylam 35 Harita merkezinin boylam değerini belirler.
MapType Harita Türü Roadmap Temel harita türünü belirler.
MapZoomFactor Harita Yakınlaştırma Faktörü 4 Yakınlaştırma seviyesini belirler.
MapDetailFactor Harita Ayrıntı Faktörü 1 Ayrıntı/ölçek parametresini belirler.
MapBrightness Harita Parlaklığı 100 Harita parlaklık parametresini belirler.
MapSaturation Harita Doygunluğu 100 Harita doygunluk parametresini belirler.

Teknik Sınırlar ve Dikkat Edilecek Noktalar

1. Harita servisinin erişilebilirliği: Kontrolün görüntü üretebilmesi, kaynak kodunda kullanılan harita servisinin erişilebilir olmasına bağlıdır.

2. Güncel servis koşulları: Harita servislerinin API adresleri, kimlik doğrulama, kullanım ve lisans koşulları zaman içinde değişebilir.

3. Kaynak kodu kapsamı: Paylaşılan kod parçası harita alma metodunun içeriğini göstermediği için GETBINGMAP() içindeki davranışlar ayrıca değerlendirilmelidir.

4. Koordinat hassasiyeti: Haritanın merkezini belirleyen Enlem ve Boylam değerleri doğru coğrafi koordinatlarla yapılandırılmalıdır.

Teknik Araştırma ve Servis Uyumluluğu

Harita servisleri için güncel teknik dokümantasyon incelendiğinde statik harita yaklaşımının; merkez konumu, yakınlaştırma, görüntü türü, görüntü boyutu ve görsel stil gibi parametrelerle yapılandırılabildiği görülmektedir. Harita öğelerinin görünürlüğü ve stilinin ayrı kurallarla yönetilmesi de genel statik harita yaklaşımıyla uyumludur.

Verilen kaynak kodundaki adres http://maps.BINGapis.com/maps/api/staticmap? biçimindedir ve size, center, maptype, style, zoom, scale gibi parametreler üretmektedir. Güncel servis dokümantasyonu farklı endpoint ve API modelleri kullanabildiğinden, uygulamanın gerçek çalışma ortamındaki servis adresinin doğrulanması önemlidir.

Dokümantasyon ilkesi: MAP sayfasında kontrolün kaynak kodundaki davranışı ile dış harita servisinin güncel teknik durumu birbirinden ayrılmıştır. Kontrol özelliklerinin açıklaması doğrudan verilen C# kaynağına; servisle ilgili güncel değerlendirme ise dış dokümantasyon araştırmasına dayanmaktadır.

Sonuç

HARİTA (MAP), SCADA ekranlarına coğrafi bir görüntü alanı eklemek için tasarlanmış, görünümü özelliklerle ayrıntılı biçimde yapılandırılabilen bir kullanıcı kontrolüdür. Enlem ve Boylam ile merkez konumu belirlenirken; Harita Türü, harita öğeleri, görünürlük, yakınlaştırma, ayrıntı, parlaklık ve doygunluk ayarları görüntünün nasıl sunulacağını belirler.

Kaynak kodunun en önemli yönlerinden biri, bu özelliklerin tek tek kullanılmak yerine bir harita isteğinin parçaları olarak birleştirilmesidir. Böylece MAP, SCADA ekranının tasarımına göre merkez ve görsel ayrıntıları değiştirilebilen yapılandırılabilir bir harita alanı haline gelir.

Kısa özet

  • MAP = SCADA sayfasına harita yerleştirme amacı.
  • Enlem + Boylam = harita merkezi.
  • Harita Türü = temel harita görünümü.
  • Harita Öğeleri + Görünürlük = içerik yoğunluğu ve görsel yapı.
  • Yakınlaştırma + Ayrıntı = görüntü ölçeği ve ayrıntı yaklaşımı.
  • Parlaklık + Doygunluk = ekranla görsel uyum.
  • Güncelleme Aralığı = kontrolün güncelleme zamanlaması.
← Önceki İçeriğe Dön