Detay Seviyesi

Benzer belgeler
Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

1 / 5. Mehmet Alper Şen. Kıdemli Yazılım Uzmanı. İletişim Bilgileri


Google Map Kullanarak Harita Tasarlamak

PHP 1. Hafta 1. Sunum

Üzerinde. Y.Müh.Mehmet ERBAŞ, Y.Müh.Hakan ŞAHİN, Y.Müh.Emre SOYER,

1.PROGRAMLAMAYA GİRİŞ

COĞRAFİ BİLGİ SİSTEMLERİ ŞUBE MÜDÜRLÜĞÜ FAALİYET VE PROJELERİ

Selçuk Akyıldız. Kişisel Bilgiler. Eğitim Bilgileri 1 / 5. Adres Bilgileri

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı


Basit bir web uygulaması

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzmanı Görev Tanımı

Programlama Dilleri sıralaması Programlama Dilleri sıralaması 2016

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

ArcGIS ile Tarımsal Uygulamalar Eğitimi

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

MİLLİ EMLAK GENEL MÜDÜRLÜĞÜ

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Natura 2000 VERI TABANı (GÖREV 2)

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

Proje kapsamında Arazi İzleme Sisteminin bir bütün olarak sunulması için bir portal yapısı hazırlanmıştır. Arazi İzleme Sistemi;

MASTER PAGE SAYFASI KULLANIMI

TĐGEM CBS Projesi Harita Sayfası Yardım Dokumanı

AÇIK KAYNAK KODLU ADRES ARAMA MOTORU TASARIMI VE YENİ BİR ADRES BULMA YAKLAŞIMI

İKLİM DEĞİŞİKLİĞİNİN SU KAYNAKLARINA ETKİSİ PROJESİ

DSİ kapsamında oluşturulan dağınık durumdaki verilerinin düzenlenmesi, yeniden tasarlanarak tek bir coğrafi veri tabanı ortamında toplanması,

Internet Programming II

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

C# ile e-posta Göndermek

ÇEVRE VE ORMAN BAKANLIĞI CBS ÇALIġMALARI

SAMET ÇİLLİ. Kıdemli Yazılım Uzmanı Üsküdar, İstanbul

İNTERNET TABANLI COĞRAFİ BİLGİ SİSTEMİ UYGULAMALARINDA GEOSERVER ARCGIS SERVER VE GOOGLE MAP API ENTEGRASYONU

Selahattin Esim CEO

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzman Yardımcısı Görev Tanımı

NUH UN GEMİSİ Ulusal Biyolojik Çeşitlilik VERİTABANI

Bölgesel İzleme Uygulama ve Araştırma Merkezi MERSİN 2015

Veritabanı Uygulamaları Tasarımı

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

PHP ile İnternet Programlama

Google Map Api 3.0. Google Map Api 3.0. Daha önce basit bir google map V2 için aşağıdakine benzer kodlar kullanıyorduk.

Veri Tabanı Yönetim Sistemleri Bölüm - 3

JetSMS Direct Çözümü

PROGRAMLAMA DERSİ 1. İNTERNET

ESRI Türkiye Konferansı BULUT BİLİŞİM İLE TURİZM HARİTALARININ YAYIMLANMASI: TRABZON İLİ ÖRNEĞİ

UNIVERSAL BİLGİ TEKNOLOJİLERİ

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

UHeM ve Bulut Bilişim

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

COĞRAFİ BİLGİ SİSTEMLERİ ArcGIS SERVER A GİRİŞ EĞİTİMİ

Eskişehir Osmangazi Üniversitesi İnşaat Mühendisliği Bölümü Akademisyenler İçin Dinamik Web Sistemi Uygulaması

Windows Live ID ve parolanızı giriniz.

Jeoloji Mühendisleri için ArcGIS Eğitimi

DERECESİ: ARANAN ŞARTLAR: İLAN TARİHİ:

ÖZGÜR YAZILIMLAR İLE J2EE

Öğr. Gör. Serkan AKSU 1

cofaso ile farkı yaşayın Şubat

İnternet Programcılığı

ODTÜ BLOG SERVĐSĐ ve BLOG HAZIRLAMA

Web Uygulamaları Mimarileri ve Güvenliği

ESRI Türkiye Konferansı

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Kültür Varlıklarının Web Otomasyonu

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

Veritabanı. Ders 2 VERİTABANI

Türkiye Barolar Birliği internet sitesi

Maks. Karakter Apple App Store Google Play Store. Uygulama Adı Önerilen 25 (225) 30. Anahtar Kelimeler Kısa Açıklama Açıklama

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

KONUMSAL VERİNİN ELDE EDİLMESİNDE MOBİL CBS OLANAKLARI: GELENEKSEL YÖNTEMLERLE KARŞILAŞTIRMA. Fatih DÖNER

Tasarım Araçlarının Tasarlanması. Hazırlayan Bulut Sayıner

C# nedir,.net Framework nedir?

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Pardus. S.Çağlar Onur, 21 Aralık Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Web Önyüzü Nasıl Olmalı? <Markup> : İskelet {css} : Görünüm JavaScript() : Etkileşim

MongoDB. Doğan Aydın. Eylül, 2011

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

Akademik Özgeçmiş Tabanlı Fakülte Bilgi Sistemi

Harita Mühendisleri için ArcGIS Eğitimi

VERİ TABANI UYGULAMALARI

IceWarp kurulumu. IceWarp Server kurmanız için yapmamız gereken adımlar şunlardır:

MODSECURITY DENETİM KAYITLARINI ANLAMAK. Gökhan Alkan,

COĞRAFİ BİLGİ SİSTEMLERİNİN İNŞAAT ALANINDAKİ UYGULAMALARI

Bimel Ürün Veritabanı Paylaşım Platformu. XML Servisleri

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise)

Üst Düzey Programlama

Dünya CBS Günü Kasım 2015, Ankara

KURUMSAL PORTAL TASARIMI

Asp.Net Veritabanı İşlemleri

JSF Melih Sakarya. Java Server Faces Facelet

08220 Internet Programcılığı II

Mobil Cihazlardan Web Servis Sunumu

DEVLET SU İŞLERİ GENEL MÜDÜRLÜĞÜ SÖZLEŞMELİ BİLİŞİM PERSONELİ ALIM İLANI DSİ Genel Müdürlüğü Teknoloji Dairesi Başkanlığı emrinde çalıştırılmak üzere

Internet Programming I. Hafta I. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Bulut Bilişim. Ege Üniversitesi Bilgisayar Mühendisliği Web Servisleri

2 Temel Kavramlar (Devam) Veritabanı 1

Transkript:

TMMOB Harita ve Kadastro Mühendisleri Odası Ulusal Coğrafi Bilgi Sistemleri Kongresi 30 Ekim 02 Kasım 2007, KTÜ, Trabzon GOOGLE MAPS VE YA MICROSOFT VIRTUAL EARTH KULLANILARAK WEB TABANLI COĞRAFİ BİLGİ SİSTEMLERİ UYGULAMALARININ GELİŞTİRİLMESİ ÖZET A. Dinçer 1, E. Yüksel 2, K. Seyrek 1, S. Elcek 1 Devlet Su İşleri Genel Müdürlüğü, Etüd ve Plan Daire Başkanlığı, CBS Şube Müd., Ankara 1, alperd@dsi.gov.tr, kseyrek@dsi.gov.tr, sevdaelcek@dsi.gov.tr Gebze Yüksek Teknoloji Enstitüsü, Çevre Mühendisliği Bölümü, Kocaeli 2, yuksel@gyte.edu.tr Gün geçtikçe internetin hızının artması ve yaygınlaşması nedeniyle masaüstü CBS uygulamalarının yerini internet tabanlı her yerde çalışabilen uygulamalar almaktadırlar. Bu akımın öncüleri ise Google ın hazırladığı Google Maps TM ve Microsoft un hazırlamış olduğu Virtual Earth TM uygulamalarıdır. Bu uygulamalar normalde kendi alan adlarında çalışıyor iken sağladıkları Uygulama Geliştirme Arabirimleri (API) ile de kişi ya da kurumların kendilerine özel uygulamalar geliştirmelerine de imkan sağlamaktadırlar. Bu makalede sözü edilen teknolojileri ve kurum altyapısını kullanarak verilerin internet üstünde coğrafi olarak olarak nasıl yayınlanacağından bahsedilecektir. Makalede altyapı olarak Açık Kaynak alternatifler ve diğer lisanslı yazılımlarla testler yapılmış sonuç olarak AJAX tabanlı bir sistem geliştirilmiştir. Anahtar Sözcükler: E-devlet, Web/Internet CBS, Yazılım Geliştirme ABSTRACT DEVELOPING A WEB BASED GEOGRAPHICAL INFORMATION SYSTEMS APPLICATION ON GOOGLE MAPS OR MICROSOFT VIRTUAL EARTH There is immigration from desktop GIS applications to web based GIS applications due to increase of internet speed and popularity of internet. The pioneers of this trend start with Google Maps TM by Google and Virtual Earth TM by Microsoft. These web applications not only run on their domains, but also supply an Application Programming Interface (API) to user to develop their own applications. This technology and infrastructure of the organization are combined together to publish the corporate geospatial data on internet in this paper. Open Source and commercial software options are used in order to publish an AJAX based web GIS application in this paper. Keywords: E-Government, Web/Intenet GIS, Software Development 1. GİRİŞ Coğrafi Bilgi Sistemleri teknolojinin ve internetin de gelişmesi ile gün geçtikçe daha da ivme kazanan ve değerlenen bir araştırma alanı olmuştur. Gün geçtikçe bu alana gerek kişi olarak gerekse de kurum/firma olarak katılım artmakta, farklı uygulama alanları keşfedilmektedir. Her yeni katılım sonucunda Coğrafi Bilgi Sistemlerinde yeni bir gelişim, yeni bir oluşum gözlenmekte ve Coğrafi Bilgi Sistemleri gün geçtikçe hayatımıza daha fazla girip, hayatımızı daha da kolaylaştırmaktadır. Yukarıda bahsedildiği üzere bu yeni katılımlar bazen ufak bazen ise büyük değişimlere yol açmaktadır. İşte büyük değişimlerin olduğu bir nokta da 2005 yılının Şubat ayında Google ın Google Maps uygulamasını insanlara açmasıdır. Bu tarihten önce insanlar için erişilmez olan haritalar ve uydu görüntüleri insanların önüne serilmiş oldu. Aslında daha önceden MapQuest in ve Yahoo Maps in sunduğu haritalar vardı ama Google her zaman olduğu gibi var olan uygulamalara yenilikler katarak öne çıkmayı başardı. Sunduğu bu yenilik ise ileride Web 2.0 olarak da nitelenen akıma öncülük edecek olan AJAX (Asenkron JAvaScript Xml) teknolojisini kullanarak sayfayı tekrar yenilemeden sadece harita kısmını güncelleyerek daha hızlı ve etkileyici bir kullanıcı deneyimi oluşturmasıydı. Google ın en büyük rakibi olan Microsoft ise biraz gecikmeli olsa da web tabanlı Coğrafi Bilgi Sistemleri uygulaması olan Virtual Earth ü çıkardı. İşte bu noktadan sonra iki firma arasındaki ezeli rekabet artık web tabanlı Coğrafi Bilgi Sistemleri üzerinde de başlamış oldu. Bu rekabet sayesinde kullanıcılar gün geçtikçe daha detaylı yol haritalarına ve uydu görüntülerine kavuşmakla kalmadılar, bir süre sonra binaların 3-Boyutlu şekillerine de ulaşma imkanına sahip oldular.

Google Maps veya Mıcrosoft Vırtual Earth Kullanılarak Web Tabanlı Coğrafi Bilgi Sistemleri Uygulamalarının Geliştirilmesi İlk başlarda sadece Amerika Birleşik Devletleri ndeki coğrafi verilere ulaşırken sonradan Avrupa, Asya ve diğer kıtaların da coğrafi verileri web tabanlı olarak yayınlanmaya başlandı. Bu da doğal olarak Coğrafi Bilgi Sistemlerinin daha fazla kişiye ulaşmasına ve verilerin daha fazla kişi tarafından paylaşılmasına yol açtı. Google her zaman verinin paylaştıkça arttığı felsefesine inanarak yayınladığı verileri diğer insanların da kullanabileceği ve bunu altlık olarak kullanıp kişisel/kurumsal verilerini yayınlayabileceği bir ortam sundu. Uygulama Geliştirme Arayüzü (API) olarak isimlendirilen bu ortam ile harita ya da uydu görüntülerine belli kurallar çerçevesinde rahatça ulaşabiliyor, kendi verilerinizi de nokta, çizgi ya da poligon olarak bu katmanların üstünde yayınlayabiliyorsunuz. Google ın bu hamlesinden sonra diğer rakipleri Microsoft, Yahoo, Map24 ve diğer büyük firmalar da Uygulama Geliştirme Arayüzlerini (API) kullanıcılar ile paylaştılar. Bu paylaşım sonucu Mashup olarak nitelendirilen birden fazla uygulamanın bir yerde birleştiği anlamına gelen farklı web uygulamaları geliştirilmeye başlandı. Bu uygulamaların ortak özelliği harita arayüzlerini kullanmalarıydı. Örneğin depremlerin olduğu noktaları bir kurumdan servis olarak alıp bunu harita üstünde göstermek böyle bir uygulamaya en güzel örnek teşkil etmektedir. Depremlerin yerlerini coğrafi koordinat olarak sunulması haritada görmedikten sonra birçok kişiye birşey ifade etmez ama bunu harita üzerinde etkileşimli olarak görmek gerçekten var olan veriye yeni bir değer katmaktan öte bunu insanlara daha hızlı ve daha kolay bir biçimde anlatmak demektir. Bu makalede öncelikle yukarıda bahsedilen harita uygulamalarının çalışma mantığından söz edilerek nasıl bu kadar hızlı ve etkileşimli bir uygulama hazırlanabildiğinden bahsedilecek, sonrasında bu uygulamalar arasındaki farklar incelenecek ve sonunda geliştirilen uygulamalar belli kriterlere göre değerlendirilip uygun olan seçimler yapılacaktır. 2. WEB TABANLI CBS UYGULAMALARININ ÇALIŞMA MANTIĞI Google Maps ya da Virtual Earth gibi programları kullanan Coğrafi Bilgi Sistemleri uzmanlarının aklına her zaman ilk olarak böyle büyük bir sistem nasıl bu kadar hızlı işliyor diye bir soru takılmaktadır. Aslında bu sorunun cevabı geliştirdiğimiz uygulamaları iyi tanımaktan geçmektedir. Öncelikle şu an için sunulan klasik Coğrafi Bilgi Sistemleri web tabanlı uygulamalarının nasıl çalıştığını biraz inceleyelim. Şekil 1: Klasik Coğrafi Bilgi Sistemleri Web Uygulamaları Çalışma Şeması

Dinçer, Yüksel, Seyrek ve Elcek Şekil 1 de görüleceği üzere masaüstü, dizüstü ya da cep bilgisayarı gibi istemciler öncelikle web sunucusuna istekte bulunmaktadırlar. Web sunucusu gelen istekleri değerlendirerek eğer coğrafi veri gerekiyorsa, o da CBS sunucusuna istekte bulunmaktadır. CBS sunucusu da gelen istekteki gerekli olan verileri mekansal veritabanına bağlanarak çekmekte, sonra da gelen verileri değerlendirip web sunucusunun anlayacağı bir biçimde geri göndermektedir. En son olarak da web sunucusu CBS sunucusundan gelen verileri istemciye göndermektedir. Bu döngü haritada her değişiklik olduğunda ya da haritada herhangi bir sorgu yapıldığında işlemektedir. Yukarıda anlatılan istemci-sunucu arası etkileşimde CBS sunucusundan web sunucusuna geri dönen bir sonuç olduğundan bahsetmiştik. Eğer kullanıcı harita görmek istiyorsa büyük ihtimalle bu sonuç JPEG/GIF/PNG formatlarında olan bir grafik olacaktır ve CBS sunucusunu en fazla yormakta olan bu tip sorgulardır. Çünkü grafik verinin hazırlanması için yüksek işlemci gücüne ve hafızaya ihtiyaç olmaktadır. Belli bir limitin altındaki kullanıcı sayısında bu tip sorgular gayet hızlı çalışırken, kullanıcı sayısı arttığı zaman bu darboğaz büyük sorunlar yaşatmakta hatta çoğu zaman kullanıcıya grafik veri gönderilememektedir. Google ya da Microsoft gibi firmalar da aynı mantıkla çalışmaktadırlar. Yani kullanıcı bir sorgu yapmakta, harita sunucuları da bu sorguya grafik veri ile cevap vermektedirler. Aynı mantıkla çalışıp milyonlarca kullanıcıya hızlı bir servisi nasıl vermektedirler sorusunun cevabı ise arka planda yaptıkları ufak ama çok etkili bir değişiklikte gizlidir. Firmalar CBS sunucusundaki darboğazı aşmak için grafik verileri daha önceden hazırlamaktadırlar ve böylelikle birçok zaman aynı sorguyu yapan kullanıcılar için her defasında grafik veri yeniden hazırlanmamakta ve hazır olan grafik veri anında yollanmaktadır. İşte bu sistem ile hızlı ve etkileşimli web tabanlı harita uygulamaları hazırlanmaktadır. Tabi kullanıcının hangi sınırlarda ve hangi ölçekte veri isteyeceği değişeceği için firmalar bunlara belli standartlar koymuşlar ve bunlara göre sistemlerini tasarlamışlardır. 2.1 Yeni Nesil Web Tabanlı CBS Uygulamalarının Çalışma Mantığı Yukarıda da bahsedildiği üzere büyük ölçekli firmalar kendi uygulamalarına gelen fazla sayıdaki CBS sorgularını karşılayabilmek için veriyi daha önceden hazırlamakta ve hiçbir işlemden geçirmeden kullanıcıya sunmaktadırlar. Bu yöntem ile darboğaz oluşturan grafik oluşturma işlemleri aradan çıkarılmış oluyor ve bu da doğal olarak bir uygulamalara hız kazandırıyor. Firmaların veriyi daha önceden hazırlaması için bazı noktaları iyi belirlemeleri gerekiyordu. Bu noktalar hangi tip verilerin yayınlanacağı ve hangi ölçeklerde yayınlanacağıydı. Burada en önemli parametre ölçeklerin belirlenmesidir. Çünkü kullanıcıya her ölçekte hizmet vermek demek verilerin gereksiz yer tutması ve yavaşlama demektir. Bunu önlemek için Google 17, Microsoft ise 19 farklı ölçek belirlemiş, oluşturacağı hazır veriyi de bu ölçeklere göre hazırlamıştır. Haritayı görmek için sadece ölçek de yeterli değildir. Haritanın hangi kısmını görmek istediğiniz yani koordinatlar da önemlidir. Farklı merkez koordinatları ve farklı resim boyutlarında harita görmek isteyen kullanıcılar için ayrı ayrı harita oluşturmamak için de firmalar değişik bir teknik geliştirmişlerdir. Bu tekniğe İngilizce de Tiling denmektedir. Bu makalede ise Döşeme yöntemi olarak adlandırılacaktır. Bu yöntem ile dünya parçalara bölünüyor ki bu parçalar da Fayans olarak adlandırılacaktır. Dünya yüzeyi her farklı ölçekte farklı fayanslara ayrılmaktadır. Örneğin 1. detay seviyesinde 4 fayans bulunurken 12. detay seviyesinde ölçekte 16,772,216 adet fayans bulunmaktadır. İlk bakışta bu kadar fazla fayans bulunmasının yer kaplama problemi doğuracağı düşünülebilir fakat binlerce hatta milyonlarca kullanıcıya hizmet veren bir CBS sunucusunda her kullanıcıya farklı ölçeklerde farklı haritalar için işlemci gücü harcayıp kullanıcıları bekletmektense günümüzde ucuzlayan sabit disk fiyatlarından sonra haritaları önceden hazırlayıp sabit disklerde tutmak daha mantıklı görünmektedir. Microsoft Yazılımcı Ağında (MSDN) bahsedilen Virtual Earth yazısında yukarıda bahsedilen ölçeklere Tablo 1 den ulaşabilirsiniz. Bu tabloya göre 23 farklı ölçek olmakla beraber şu an ne Google Maps te ne de Microsoft Virtual Earth te şu an için bu kadar farklı detay bulunmamaktadır. Fakat bu yazıda yer alması dolayısıyla en azından Microsoft un yakın bir zamanda en küçük ölçeğe kadar ineceği sinyallerini vermektedir. Charlie Savage ın güncesindeki bir yazıya göre döşeme yöntemi ile tüm dünyayı kapsamak için hangi ölçekte yaklaşık olarak ne kadar yer gerektiğini Tablo 2 den ulaşabilirsiniz. Bu tabloya göre yukarıda bahsedilen 12. detay seviyesinde 16,772,216 adet fayans için gereken yer 400 GB olarak görülmektedir. Bu tabloyu grafiksel olarak çizersek Şekil 2 deki grafiği elde etmiş oluruz. Bu şekilde de görüleceği üzere detay seviyesi doğrusal olarak arttıkça kaplanan yer ise neredeyse logaritmik olarak artmaktadır. Bu da detay seviyelerini belirlerken ne kadar dikkatli olmamız gerektiğini bize göstermektedir.

Google Maps veya Mıcrosoft Vırtual Earth Kullanılarak Web Tabanlı Coğrafi Bilgi Sistemleri Uygulamalarının Geliştirilmesi Detay Seviyesi Yer Çözünürlüğü(m / piksel) Harita Ölçeği (96 dpi da) 1 78,271.5170 1 / 295,829,355.45 2 39,135.7585 1 / 147,914,677.73 3 19,567.8792 1 / 73,957,338.86 4 9,783.9396 1 / 36,978,669.43 5 4,891.9698 1 / 18,489,334.72 6 2,445.9849 1 / 9,244,667.36 7 1,222.9925 1 / 4,622,333.68 8 611.4962 1 / 2,311,166.84 9 305.7481 1 / 1,155,583.42 10 152.8741 1 / 577,791.71 11 76.4370 1 / 288,895.85 12 38.2185 1 / 144,447.93 13 19.1093 1 / 72,223.96 14 9.5546 1 / 36,111.98 15 4.7773 1 / 18,055.99 16 2.3887 1 / 9,028.00 17 1.1943 1 / 4,514.00 18 0.5972 1 / 2,257.00 19 0.2986 1 / 1,128.50 20 0.1493 1 / 564.25 21 0.0746 1 / 282.12 22 0.0373 1 / 141.06 23 0.0187 1 / 70.53 Tablo 1: Döşeme Sistemlerinde Harita Özellikleri Detay Seviyesi Kaplanan Alan (Terabyte) 12 0.04 13 0.17 14 0.68 15 2.7 16 10.7 17 43 18 170 19 690 20 2750 Tablo 2: Döşeme Sistemlerinde Kaplanan Alan 3000 2500 2000 Terabyte 1500 1000 500 0 12 13 14 15 16 17 18 19 20 Detay Seviyesi Şekil 2: Döşeme Sistemlerinde Kaplanan Alanın Grafiksel Gösterimi

Dinçer, Yüksel, Seyrek ve Elcek 3. UYGULAMA GELİŞTİRME KULLANICI TARAFI (AJAX) Uygulama geliştirmeyi 2 kısıma ayırabiliriz. Bu kısımlardan bir tanesini kullanıcı tarafı, diğer kısmını ise verilerin geleceği sunucu tarafı olarak düşünebiliriz. Bu noktadan yola çıkarak bunları farklı teknolojilerle yapmak eldeki imkanların değerlendirilmesi açısından daha uygun olacaktır. Kullanıcı tarafı uygulama geliştirme JavaScript ile yazılıp verilerin alınması da XML ile yapılacağından dolayı bu tarafa kısaca AJAX ile uygulama geliştirme de diyebiliriz. AJAX ile kullanıcı tarafından uygulama geliştirirken Google ın ve Microsoft un geliştiricilere sunduğu Uygulama Geliştirme Arayüzü (API) farklı olduğu için bunların da 2 farklı kısımda incelenmesi uygun görüldü. 3.1 Google Maps Kullanarak Uygulama Geliştirme Google Maps API si ile uygulama geliştirmek için öncelikle bir anahtar almanız gerekmekte. Bu anahtarı Google Maps sitesinden temin edebilirsiniz. Bu anahtar 86 karakterden oluşan ve sizin sitenize özel bir karakter dizisidir. Google bu anahtar yardımı ile sitenizden gelen istekleri saymakta ve lisans sözleşmesine uyup uymadığınızı kontrol edebilmektedir. Bu anahtarı temin ettikten sonra ilk uygulamamızı hazırlayabiliriz. Google Maps API si tamamen JavaScript ile yazılmış olup hiçbir sunucu taraflı uygulamaya ihtiyaç duymadan basit bir HTML sayfası ile haritaları görebilirsiniz. Tablo 3 teki örnek uygulamada açıklamaları ile verilen kod un sonucu Şekil 3 te görünmektedir. Bu uygulama ile elinizdeki nokta verisini Türkiye haritası üstünde kolay bir şekilde gösterebilirsiniz. Google Maps te sadece nokta değil, diğer coğrafi veri tipleri olan çizgi ve poligonları da gösterebilirsiniz. Bunun için API dökümantasyonuna göz atabilirsiniz. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>google Maps JavaScript API Example</title> <script src="http://maps.google.com/maps?file=api&v=2&key= ABQIAAAAKs6JW4Ceutf3PhUEdqWEYhT2yXp_ZAY8_ufC 3CFXhHIE1NvwkxR17Dk5MuQNqhUIpVRRuj4V6Qeolw" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("haritaAlani")); //haritayı ortalıyoruz map.setcenter(new GLatLng(38.88, 35.45), 6); //haritaya gerekli kontrolleri ekliyoruz map.addcontrol(new GSmallMapControl()); map.addcontrol(new GMapTypeControl()); //ilk noktamızın koordinatlarını belirliyoruz var ilknokta = new GLatLng(39.45, 34.32); var ilkisaret = new GMarker(ilkNokta); //Noktaya açıklama penceresi için gerekli kodları ekliyoruz GEvent.addListener(ilkIsaret, "click", function() { ilkisaret.openinfowindowhtml("açıklama Penceresi"); }); //Oluşturduğumuz noktayı haritaya ekliyoruz map.addoverlay(ilkisaret); } } //]]> </script> </head> <body onload="load()" onunload="gunload()"> <div id="haritaalani" style="width: 895px; height: 400px"></div> </body> </html> Tablo 3: Örnek Google Maps Kodu

Google Maps veya Mıcrosoft Vırtual Earth Kullanılarak Web Tabanlı Coğrafi Bilgi Sistemleri Uygulamalarının Geliştirilmesi Şekil 3: Google Maps Örnek Uygulama Ekran Görüntüsü 3.2 Microsoft Virtual Earth Kullanarak Uygulama Geliştirme Microsoft Virtual Earth ile uygulama geliştirmek için Google Maps te olduğu gibi anahtar almanıza gerek yok. Microsoft gelen istekleri ya da lisans ihlalini alan adı bazlı bir kontrol ile tuttuğu için anahtara gerek kalmamaktadır. Anahtar almamıza gerek olmadığı için, hemen uygulamamızı geliştirmeye başlayabiliriz. Microsoft Virtual Earth API si de tamamen JavaScript ile yazılmıştır. Doğal olarak bir sunucuya ihtiyaç duymadan haritaları gösterime sunabilirsiniz. Fakat şu unutulmamalıdır ki sunucu bağımsız bir uygulamada tüm verilerinizi HTML içinde tutmanız gerekmektedir ki bu da sayfanın yükünü arttıracaktır. Örnek olarak hazırlanan uygulamaya Tablo 4 ten erişilebilir. Bu örnek uygulamanın ekran görüntüsüne de Şekil 4 ten ulaşılabilir. Bu uygulamada da örnek olarak nokta verisi ekledik ama Microsoft Virtual Earth API si de çizgi ve poligon eklememize imkan vermektedir. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=5"></script> <script> var map = null; function GetMap() { map = new VEMap('haritaAlani'); //haritamızı ortalayıp, oluşuturuyoruz map.loadmap(new VELatLong(38.88, 35.45), 6,'r',false); //noktamızı oluşurup, özelliklerini belirliyoruz var nokta = new VEShape(VEShapeType.Pushpin, new VELatLong(39.45, 34.32)); nokta.settitle('başlık'); nokta.setdescription('açıklama Penceresi'); //noktamızı haritaya ekliyoruz map.addshape(nokta); } </script> </head> <body onload="getmap();"> <div id='haritaalani' style="position:relative; width:895px; height:400px;"></div> </body> </html> Tablo 4: Örnek Microsoft Virtual Earth Kodu

Dinçer, Yüksel, Seyrek ve Elcek Şekil 4: Microsoft Virtual Earth Örnek Uygulama Ekran Görüntüsü 3.3 Google Maps ile Microsoft Virtual Earth ün karşılaştırılması Yukarıda da anlatıldığı üzere hem Google Maps hem de Microsoft Virtual Earth ile uygulama geliştirmek JavaScript arayüzü ile gayet kolaydır. Bu noktada hangi API nin seçileceğine karar vermek için gerek uydu görüntüleri kapsama alanına ve kalitesine, gerekse haritaların kapsamı ve kalitesine bakmak gerekmektedir. Şu an için Türkiye de hem uydu görüntüsü açısından hem de harita olarak Google Maps önde gitmektedir. Bu nedenle uygulamalarınızda Google Maps i seçebilirsiniz. Ama tüm Türkiye ölçeğinde değil de Ankara ya da İstanbul gibi daha dar ve kalabalık bölgelerde çalışacaksanız, iki API yi de inceleyip, kendi kriterlerize göre karar vermeniz daha uygun olacaktır. 4. UYGULAMA GELİŞTİRME SUNUCU TARAFI 3. Bölümde kullanıcı tarafında uygulamamızı geliştirdik, fakat sunucu tarafından bu uygulamaya veri aktaramazsak bu uygulamanın harita göstermek dışında bir kullanım alanı olmayacaktır. Bu sebepten dolayı sunucu tarafını da dikkatle geliştirip kullanıcı tarafına entegre etmeliyiz. Sunucu tarafında Türkiye de birçok uygulama yazılımları kullanılsa da bu makalede 3 farklı kombinasyonu deneyerek uygulamamızı geliştireceğiz. Bu kombinasyonları seçerken kurumların bünyesinde olan uygulamaları ya da Açık Kaynak olan uygulamaları seçerek makalenin uygulanabilirliğini arttırmaya çalıştık. 4.1 PHP, MySQL ve Apache Açık Kaynak Yazılımlarını Kullanarak Uygulama Geliştirme Sunucu taraflı uygulama geliştirmede Açık Kaynak olarak en popüler uygulamaları seçerek kendi uygulamamızı bunların üstünde gerçekleştirdik. Web sunucusu olarak Apache, uygulama dili olarak PHP ve veritabanı olarak da MySQL seçildi. Bütün bu uygulamalar Windows XP üzerinde çalıştırıldı. Bu makalede örnek olarak DSİ nin Akım Gözlem İstasyonları (AGİ) veri setini kullandık. ArcSDE de tutulan veri setini yazı formatına çevirip, nokta formatını da X ve Y olarak kaydettik. Sonra bu dosyayı MySQL veritabanına ekledik. Veritabanına attığımız verileri PHP ile okuyarak XML formatında kullanıcı tarafına gönderdik ve oradaki AJAX tablo eklentisi ile verileri kullanıcıya sunmuş olduk. 4.2 ASP.NET, MSSQL ve IIS Lisanslı Yazılımlarını Kullarak Uygulama Geliştirme Günümüzde birçok kamu kuruluşunun temel altyapısını oluşturan ASP.NET, MSSQL ve IIS le de bir kombinasyon oluşturmak makalenin uygulanabilirliği açısından önemliydi. 4.1 de olduğu gibi burada da DSİ AGİ veri seti yazı formatına çevrilip MSSQL e atıldı. MSSQL deki veriyi ASP.NET ile işleyip kullanıcı tarafına XML formatında gönderdik. Kullanıcı tarafındaki AJAX tablo eklentisi de bu XML veriyi işleyerek kullanıcıya göstermiş oldu.

Google Maps veya Mıcrosoft Vırtual Earth Kullanılarak Web Tabanlı Coğrafi Bilgi Sistemleri Uygulamalarının Geliştirilmesi 4.3 ASP.NET, ORACLE SPATIAL ve IIS Lisanslı Yazılımlarını Kullarak Uygulama Geliştirme Bir CBS uygulaması geliştirirken noktasal verileri ilişkisel veritabanlarında X ve Y olarak tutmak mantıklı olsa da günümüz yazılım teknolojisinde geliştirilen mekansal veritabanlarından birini de bu uygulamada kullanıp ilişkisel veritabanlarına göre ne gibi artı ve eksileri olduğunu görmek makalenin uygulanması aşamasında faydalı olacaktır. Mekansal veritabanı olarak piyasada en popüler ürünler arasında ArcSDE, Oracle Spatial ve PostGIS bulunmaktadır. ArcSDE in kapalı yapısı ve PostGIS in de yetersiz desteğinden dolayı mekansal veritabanı seçimimiz Oracle Spatial oldu. Oracle Spatial in limitli versiyonları Oracle ile gelirken Oracle Spatial in tam sürümünün ayrı olarak kurulması gerekmektedir. Daha önceki örneklerde DSİ AGİ veri setini yazı formatına çevirmek zorunda kalmıştık, oysa mekansal veritabanı kullandıktan sonra böyle bir zorunluluk ortadan kalkmıştı. Elimizdeki veriyi önce SHP dosyasına çevirip sonra da SHP2SDO programı ile Oracle Spatial formatına çevirdik. Bu metod ile verilerimizi sadece mekansal olarak saklamayıp, aynı zamanda veritabanının mekansal sorgu özelliklerini de kullabilecektik. Böylelikle en yakın komşuluk, tampon bölge, kesişim ve örtüşüm gibi CBS sorgularını Oracle Spatial üstünden SQL aracılığı ile yapabilecektik. Bu makaledeki uygulamada bu kadar karmaşık sorgular kullanmayacak olsak da ilerisi için güzel bir özellik gibi durmaktadır. Son kısımda ise verileri ASP.NET ile Oracle Spatial üstünden çekip, XML formatına çevirip, kullanıcı arayüzüne gönderdik. Kullanıcı arayüzü tarafındaki AJAX tablo eklentisi ise gelen XML veriyi hazırlayarak kullanıcıya sunar. 4.4 Kullanılan Sunucu Taraflı Teknolojilerin Karşılaştırılması Yukarıda kullanılan teknolojileri 3 kategoride değerlendirdik : Performans, Yazılım Geliştirme Hızı ve Erişilebilirlik. 4.4.1 Performans Performans konusunda yaptığımız testlerde sabit bir sorgu bütün uygulamalarda 10 defa çalıştırıldı ve cevap süreleri not edildi. Performansı sadece veritabanı cevap süresi olarak görmek bizi yanılgıya düşürecektir. Performansı etkileyen etkenler arasında uygulama dili cevap süresi, ağ yoğunluğu ve web sunucu yoğunluğu da bulunmaktadır. Bu etkenlere göre aldığımız sonuçları Tablo 5 te görebilirsiniz. * PHP, MySQL ve Apache ASP.NET, MSSQL ve IIS ASP.NET, Oracle Spatial ve IIS 1 115 114 109 2 136 132 125 3 128 130 109 4 128 131 94 5 129 131 109 6 117 114 109 7 115 114 110 8 129 121 109 9 125 122 125 10 115 121 110 Ortalama Süre (ms) 123.7 123 110.9 Tablo 5 : Performans Ölçümleri (Süreler ms cinsindendir.) * Bu performans testinde kullandığımız DSİ AGİ veri seti 2497 noktadan oluşmaktadır.

Dinçer, Yüksel, Seyrek ve Elcek 4.4.2 Yazılım Geliştirme Hızı Yazılım geliştirme hızı diye bahsettiğimiz parametre aslında biraz öznel bir kriter olmaktadır. Çünkü bu parametre yazılım geliştiricinin daha önceki yazılım tecrübelerine ve yazılım diline ne kadar hakim olduğuna bağlı olmakla beraber yazılım geliştirme ortamına da bağlıdır. Bu makale bünyesinde en hızlı geliştirmeyi tecrübemiz daha fazla olduğu için PHP ile yaşadık. ASP.NET ve Oracle Spatial ile ise en yavaş geliştirmeyi yaşadık. Çünkü Oracle Spatial ile ilk defa çalışıyorduk. Yukarıda da bahsedildiği üzere bu parametre yazılım geliştiriciye bağlı bir parametre olup, eğer yazılım geliştirici daha önceden Oracle ve ASP.NET ile çalışmış ise en hızlı geliştirmeyi bu ortamda yaşaması gayet normaldir. 4.4.3 Erişilebilirlik Erişilebilirlik derken bu yazılımlara kurumların ne kolaylıkta erişebildiği anlatılmaktadır. Erişilebilirlikte en büyük puanı Açık Kaynak olmasından dolayı PHP, MySQL ve Apache almaktadır. Çünkü yazılımlara direk olarak internet üstünden ulaşabildiğiniz gibi lisans problemleri olmadığından dolayı rahatça kullanılabilmektedir. Bunun yanında diğer kombinasyonlara erişim Açık Kaynak olanlara göre biraz daha zordur, çünkü lisans sahibi olmanız gerekmektedir. Aslında günümüzdeki birçok kamu kuruluşunda hem Microsoft hem de Oracle tabanlı sistemler kurulu olduğu için diğer kombinasyonlardaki yazılımlara ulaşım da kolaydır. Görüldüğü üzere erişilebilirlik de aslında bir öznel parametredir. Çünkü bu tamamen kurumun altyapısına bağlı bir parametre olarak görülmektedir. Eğer Oracle Spatial ve.net altyapınız mevcut ise son kombinasyon kurum için daha mantıklıdır. Çünkü bu konularda deneyimli elemanlara sahipsiniz demektir. 6. SONUÇ Yukarıda da bahsedildiği üzere yeni nesil web tabanlı Coğrafi Bilgi Sistemi uygulamaları eski nesil uygulamalara göre kullanıcıya gerek hız gerekse kullanılabilirlik açısından daha fazla imkan sunmaktadırlar. Her uygulamada olduğu gibi bu uygulamaların da dejavantajı verinin derlenmesi kısmıdır. Yani veri grafik olarak belli ölçeklerde derlendiği ve bu bütün kullanıcılara sunulduğu için verinin güncellenmesi durumunda tekrardan derlenmesi gerekmektedir. Bu da devamlı olarak güncellenen veri setlerinde problem oluşturmaktadır. Bu noktada statik ve dinamik verileri belirleyip, uygulamamızın bir kısmını statik bir kısmını ise dinamik olarak yayınlamak mantıklı olacaktır. Yeni nesil uygulamalardan olan Google Maps ve Microsoft Virtual Earth arasında bir tercih yapılması gerekirse de bu tercih tamamen çalışma yapılacak coğrafi alan ve bu alandaki veri setinin çözünürlüğü ile alakalıdır. Şu an için Türkiye genelinde hem uydu görüntüsü hem de yol haritası olarak en iyi çözünürlüğe Google Maps sahip olduğu için DSI içinde geliştirdiğimiz uygulamada Google Maps i kullandık. Bu uygulamanın ekran görüntüsüne Şekil 5 ten ulaşabilirsiniz. Seçilen uygulama için gereken sunucu tarafı da kurum bünyesindeki sunucu, yazılım ve çalışan imkanlarına göre değişebilmektedir. Buna göre DSİ bünyesinde Microsoft ve Oracle tabanlı bir altyapı olması ve çalışanların ASP.NET te daha fazla tecrübe sahibi olması dolayısıyla tercihimiz ASP.NET, Oracle Spatial ve IIS olmuştur. Şekil 5 te görünen uygulamanın son hali bu altyapıda hazırlanmıştır. Sonuç olarak Google Maps ya da Microsoft Virtual Earth ü altlık olarak kullanarak kurumsal verilerinizi internet üstünde hızlı ve maddi yükü az olacak bir şekilde yayınlayabilir, kullanıcılara daha hızlı ve kullanılabilir bir arayüz ile ulaşabilirsiniz. Böylelikle Coğrafi Bilgi Sistemlerini kullanıcılarınıza, belki de halka daha fazla açabilir, verilerin doğruluğunu onlara kontrol ettirebilirsiniz. Bunun sonucunda geri dönüşler ve Coğrafi Bilgi Sisteminizdeki verilerin güvenilirliğini artacaktır.

Google Maps veya Mıcrosoft Vırtual Earth Kullanılarak Web Tabanlı Coğrafi Bilgi Sistemleri Uygulamalarının Geliştirilmesi Şekil 5: DSİ bünyesinde geliştirilen Google Maps tabanlı AGI uygulaması KAYNAKLAR URL1, MSDN, Windows Live Virtual Earth Tile System (V4), http://msdn2.microsoft.com/enus/library/bb259689.aspx, 12 Temmuz 2007 URL2, Charlie Savage's Blog, Google Maps Revisited, http://cfis.savagexi.com/articles/2006/05/05/google-mapsrevisited, 7 Mayıs 2007 URL3, Google, Google Maps Anahtar Temin Adresi, http://www.google.com/apis/maps/signup.html, 14 Temmuz 2007 URL4, Google, Google Maps Dökümantasyonu, http://www.google.com/apis/maps/documentation/index.html, 19 Temmuz 2007 URL5, Microsoft, Microsoft Virtual Earth Dökümantasyonu, http://dev.live.com/virtualearth/sdk/, 23 Temmuz 2007