Proje – İKABİS (İçmesuyu Kananizasyon ve Altyapı Bilgi Sistemi)

13 Kas

Kocaeli Büyükşehir Belediyesi İSU Genel Müdürlüğünde hazırlanan İKABİS (v.1.0) projesi İSU bünyesinde yayına açılmıştır.

Projenin amacı, imalatı tamamlanan altyapıların Coğrafi Bilgi Sistemi(CBS) standartlarına getirilmiş sayısal bilgilerinin WEB ortamından yayına sunulmasıdır.

Yayına açılan altyapı bilgileri, koordinatlı uydu fotoğrafı üzerinde görüntülenebilmektedir. Bu sayede hangi altyapı bilgisinin nerede olduğu kolayca bulunabilmektedir.

Yayına açılan altyapı bilgileri şu şeklidedir.

  • İçmesuyu hatları
  • Kanalizasyon hatları
  • Yağmursuyu hatları
  • Su depoları
  • Arıtma tesisleri
  • Terfi merkezleri
  • Abone noktaları
  • Dere Islahları
  • Vanalar
  • Yangın muslukları
  • Diğer donatı bilgileri

Ben bu projenin veritabanı standartlarının geliştirilmesi ve WEB yazılımının hazırlanmasından sorumluydum. Harita mühendisi arkadaşlarım Azize KOÇ, Yusuf Ziya DEMİRCİ ve Abdullah Talha DERİCİ de harita verilerinin hazrılanması, altyapıların sayısallaştırılması, CBS’ye hazır halegetirilmesi ve ArcGIS server’da yayına açılması sürecinde  görev almışlardır. 6 ay gibi bir sürenin sonunda projeyi başrıyla hayata geçirmiş bulunuyoruz.

Projeyle ilgili bazı ekran görüntüleri şu şeklidedir.

İKABİS – Altyapı görüntüsü
İKABİS – Depo sorgu görüntüsü

Projenin altyapısın oluşturan teknolojiler ise şu şeklide:

  • CAD Programları (Altyapıların çizimi)
  • ArcGIS (CAD verilerinin CBS formatına dönüştürülmesi)
  • ArcGIS Server (Map service yayını)
  • Oracle database (ArcSDE)
  • Esri Silverlight API (Web Yazılımı)

Uygulamanın sonucunda bir WEB yazılımı ortaya çıkmıştır. Bu WEB yazılımının arkasında iyi bir ekip çalışması olduğu görünmektedir. Harita çalışmasından sistem mimarisine, veritabanından yazılım geliştirmeye kadar değişik süreçler iç içedir.

Bir başka yazıda tekrar görüşmek dileğiyle.

Esri Silverlight Api Query SpatialReference Problemi

11 May

Esri silverlight API kullananların yaşadıkları sorunlar dizisinden birisiyle daha karşı karşıya kalabilirsiniz. Bu sorun, harita üzerindeki bir yere sorgu yapmak istediğinizde karşımıza çıkıyor. Daha açık bir ifadeyle bir Query sonucunda sorgulanan bir yere harita züerinde çizim yapmak istediğimizde karşı karşıya kalabilmekteyiz. Örneğin bir şehir seçildiğinde o şehri harita üzerinde maviye boyamak istediğimizde sonuç alamayabiliriz.

Ben bu sorunu Esri Silverlight V2.4 dll ve Arcgis 10 Service yayınlarında yaşadım. Sorunun kaynağında yatan ise Query yapılan Layer ile Map Layer arasındaki SpatialReference farkıydı.

Sorgu:


private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
      QueryTask queryTask = new QueryTask("http://domain/ArcGIS/rest/services/sehirler/MapServer/0");

      queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;

      ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
      query.Where = "ILADI=" + "'Sample'";
      query.ReturnGeometry = true;
      query.OutFields.Add("*");
      queryTask.ExecuteAsync(query);

}

Map SpatialReference
Query SpatialReference

iki şekilde görüldüğü üzere sorgu yapılan Layer ve Map Layer arasında SpatialReference Farkı var. Bu farkı gidermek için sorguda kiük bir değişiklik yaparak SpatialReference farklılığını gideriyoruz.

private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{

       QueryTask queryTask = new QueryTask("http://domain/ArcGIS/rest/services/sehirler/MapServer/0");

       queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;

       ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
       query.Where = "ILADI=" + "'Sample'";
       query.ReturnGeometry = true;
       query.OutFields.Add("*");
       query.OutSpatialReference = MyMap.SpatialReference;
       queryTask.ExecuteAsync(query);

}

Bu işlemin ardından iki Spatial referans eşitlenir ve sorun ortadan kalkar. Map üzerindeki GraphicsLayer zerinde yapılmak istenen çizim işlemi de gerçekleşir.

GraphicsLayer

Eğer SpatialReference eşitlemesi yapılmasaydı, koordnat sistemi farkları yüzünden bu çizim işlemi başarısız olacaktı.