Tesis ve Saha Konumu
Bir tesisin veya saha merkezinin coğrafi konumunu SCADA ekranında göstermek.
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.
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.
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.
Kontrol Boyutu → Merkez → Harita Türü → Öğeler → Görünürlük → Zoom → Scale → Parlaklık → Doygunluk → GETBINGMAP()
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.
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. |
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.
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.
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.
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.
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. |
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.
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. |
Verilen ProcessEkstraParamVals metodu yalnızca görsel özellikleri okumakla kalmaz; aynı zamanda MAP kontrolünün çalışma akışını da ortaya koymaktadır.
DecimalPoint eksikse varsayılan değer olarak 0 eklenir.Latitude + Longitude ile belirlenir.MapType eklenir.GETBINGMAP() çağrılarak harita alınır.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.
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.
Bir tesisin veya saha merkezinin coğrafi konumunu SCADA ekranında göstermek.
Coğrafi olarak farklı noktalara yayılmış tesis veya istasyonların bulunduğu ekranlara harita alanı eklemek.
Yol ve çevre bilgisinin tesis konumuyla birlikte izlenmesinin yararlı olduğu ekranlarda harita sunmak.
Belirli bir koordinatı merkeze alan operasyon, bakım veya saha bilgi ekranları oluşturmak.
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 |
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 |
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. |
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.
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.
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.