AÖF Soru Bankası

Web Tabanlı CbsÜnite 7 Özeti

Web CBS Yazılım Uygulamaları

CBS226U-WEB TABANLI CBS

Ünite 7: Web CBS Yazılım Uygulamaları

Giriş

Web teknolojilerinin gelişimi ile birlikte diğer tüm alanlarda olduğu gibi coğrafi bilgi sistemleri alanında da temel değişiklikler yaşandı. Kablolu bağlantılar ile bilgisayarlardan, 3G, 4G gibi mobil internet teknolojileri sayesinde mobil cihazlardan dünyanın herhangi bir yerinde olan coğrafi bilgiler kolayca erişilebilir hale geldi. Coğrafi bilgi sistemleri için ön yüz tasarımları, network topolojileri, kod geliştirme süreçleri, güvenlik konseptleri diğer web uygulamaları ile neredeyse aynıdır. Fakat sunucu yazılımları, veri formatları ve veritabanı uygulamaları için temel farklılıklar yer almaktadır. Bu temel farklılıklar sebebiyle farklı eklenti ve yazılımlar geliştirilmiştir.

Yazılım ve Eklentilerin Kurulması

GeoServer

Coğrafi verilerin web üzerinden yapılan istekler sonucu istemcilere ulaştırma görevini üstlenen yazılımdır. Coğrafi bilgiler direkt sunucu üzerine yüklenerek kullanılabilir. Ayrıca veritabanı bağlantısı oluşturularak veritabanı tablolarında tutulan coğrafi veriler de kullanılabilir. GeoServer yazılımı sayesinde kullanıcılar farklı ortamlardan aynı veriye ulaşabilirler ve bu veriler üzerinde çalışabilirler. Java tabanlı olarak geliştirildiği için kurulumu yapacağımız bilgisayarda JRE (Java Runtime Environment) kurulu olması gerekmektedir. JRE (Java Runtime Environment): Java programlama dili kullanılarak geliştirilmiş yazılımların çalışabilmek için gereksinim duyduğu kaynakları sağlayan bir yazılımdır. Yazılımların sağlıklı bir şekilde çalışmasını sağlar. JRE etkinleştirme istediğinden kurulsa bile kurulum sonrasında ortam değişkenlerine eklenmediği takdirde çalışmayacaktır.

GeoServer yazılımının kurulumu oldukça basittir. Yapılması gereken sadece GeoServer kurulum dosyasını indirmek ve istediğiniz bir klasöre indirdiğiniz dosyaları kopyalamaktır. GeoServer sitesi üzerinden;

(https://geoserver.org/)

sabit (stable) olan sürüm indirilir. İndirilen zip uzantılı dosya önceden belirlenmiş klasör içerisine çıkartılır. Varsayılan kurulumda GeoServer yazılımının çalışacağı port “8080” olarak belirtilmiştir. Eğer yazılımın çalıştığı port değiştirilmek isteniyorsa kurulum yapılan klasörde bulunan “start.ini” dosyasında değişiklik yapılması gerekmektedir. Varsayılan olarak gelen 8080 veya yeni atanan port numarasının kullanılmadığından emin olmalıyız. Eğer halihazırda kullanılan bir port numarası seçersek uygulamamız çalışmayacaktır.

GeoServer yazılımının çalıştırılması için kurulumun yapıldığı klasör içerisinde yer alan batch (.bat uzantılı) dosyasının çalıştırılması gerekmektedir. GeoServer yazılımının başarılı bir şekilde çalıştığını görmek için yazılım arayüzüne bağlanmamız gerekmektedir. Bunun için bilgisayarımızda kurulu olan tarayıcıya “http://localhost:8080/geoserver” yazılmalıdır. Eğer arayüze başarılı bir şekilde bağlanabildiysek uygulamamız

çalışıyor demektir. Çalışan GeoServer yazılımının kapatılması için kurulumun yapıldığı klasör içerisinde yer alan batch (.bat uzantılı) dosyasının çalıştırılması gerekmektedir.

PostgreSQL

Jeouzamsal özellikli bir veritabanı olan PostgreSQL veritabanı tamamen açık kaynak olarak sunulmaktadır ve herhangi bir lisanslama ücreti talep edilmemektedir. Veritabanımıza ulaşmak için pgAdmin uygulaması kullanılacaktır. Bu uygulamaya alternatif olarak HediSQL, DataGrip, Valentina Studio ve Navicat uygulamaları kullanılabilir.

PostGIS

PostgreSQL veritabanının varsayılan ayarları ile coğrafi veriler arasında konumsal analizler yapılamamaktadır. PostgreSQL in konumsal verilerle çalışma yeteneğini etkinleştirmek ve rahatlıkla coğrafi verilerle çalışabilmek için eklenti kurulması gerekmektedir. PostgreSQL için tasarlanmış, veritabanında coğrafi veri işlemleri yapılmasını sağlayan eklentidir. PostGIS coğrafi nesnelerin veritabanında depolanabilmesini sağlar. Kullanılabilmesi için PostgreSQL sunucu yazılımının kurulu olması gerekmektedir.

QGIS

Açık kaynak kodlu coğrafi bilgileri çözümleme, görüntüleme ve düzenleme olanakları sunan yazılımdır. CBS kullanıcıları için çok katmanlı haritalar oluşturma fonksiyonları sağlar. Raster veya vektör katmanları QGIS haritaları kullanılarak oluşturulabilir. Diğer tüm benzer yazılımlarda olduğu gibi vektör veriler nokta, çizgi ve poligon özellikli saklanabilir. PostGIS ve PostgreSQL aracılığı ile hazırlanmış veriler gösterilebilir ve kullanılabilir.

Harita ve Shapefile Yükleme İşlemleri

QGIS Yazılımına Altlık Harita Yükleme

Her uygulamada oluşturulan vektör ve raster katmanlarının gösterildiği altlık harita olmak zorundadır. Altlık harita kullanılmadan sadece vektör ve raster katmanları gösterilirse kullanıcı açısından herhangi bir anlamı olmayacaktır. QGIS programında varsayılan olarak “Mapzen Global Terrain” ve “OpenStreetMap” altlık haritaları yüklü gelir. Bu haritaları harita konsoluna eklemek için program penceresinin solunda yer alan “Browser” penceresinden “XYZ Tiles” menüsüne tıklıyoruz. Açılan listede istediğimiz haritaya çift tıklayarak harita ekranına katman olarak ekliyoruz. Eklediğimiz katmanları harita ekranından kaldırmak için “Layers” penceresini kullanıyoruz. Katmanların yanlarında yer alan işaretleri kaldırarak harita ekranında görünmez hale getirebiliyoruz.


PostGIS Eklentileri Kurulmuş Veritabanına Shapefile Yükleme

ShapeFile formatında veri hazırlama ve hazırlanan verilerin veritabanına aktarılması işlemlerinde Post-GIS eklentisi kullanılmaktadır.

QGIS Uygulamasına Shapefile Yükleme

QGIS uygulaması sayesinde hazır shapefile verilerini görüntüleyebilir ve üzerinde değişiklikler yapabiliriz.

WEB CBS ile Uygulama Geliştirme

Bu kısımda kurduğumuz yazılımları entegre olarak kullanarak bazı uygulamalar geliştirilecektir. Temel olarak hazır shapefile verileri kullanılacaktır. QGIS program üzerinden PostgreSQL veritabanına bağlantı kurulacak ve veritabanında yer alan veriler QGIS programına yüklenerek program üzerinde görüntülenmesi anlatılacaktır. PostgreSQL veritabanında yer alan bilgilerin GeoServer sunucusuna nasıl yüklendiğinden bahsedilecektir. Eklenen verilerin katman olarak GeoServer sunucusunda oluşturulması ve katmanların görüntülenmesi adım adım anlatılacaktır. Oluşturulan katmanların stil özellikleri değiştirilerek görüntü düzenlemeleri yapılacaktır. En son ise oluşturulan katmanların tarayıcıda görüntülenme işlemi gerçekleştirilecektir.

PostgreSQL Verilerinin QGIS Programına Yüklenmesi

QGIS, CBS uygulamaları geliştirilirken oldukça yaygın olarak kullanılan programdır. Programın ilk sürümlerinde çok temel fonksiyonlar üzerinden işlemler yapılabilirken kullanıcı sayısı arttıkça ve kullanım alanları genişledikçe programın sunduğu fonksiyonlar da gelişmiştir. Paralelde gelişen diğer CBS yazılımları ve standartları yakalayabilmesi için oldukça hızlı değişime uğramıştır. Diğer yazılımlar ile entegrasyon direkt program arayüzü aracılığıyla basit bir şekilde yapılmaktadır. Program sayesinde WMS/WMTS, WCS gibi sunuculara bağlantı sağlanarak sunucuda yer alan verilere ulaşılabilir. QGIS uygulaması aracılığı ile PostgreSQL, Oracle, MS SQL Server gibi veritabanı sunucularına bağlanabiliriz. Bu bağlantılar sonucu veritabanında yer alan coğrafi bilgileri program arayüzünde görüntüleyebiliriz. Bağlantı kurulurken dikkat edilmesi gereken en önemli nokta hangi kullanıcı ile bağlantı kurulacağı olacak. QGIS uygulamasına özel bir kullanıcı tanımlayıp bu kullanıcı ile bağlanmak oldukça önemlidir. Bu sayede kullanıcının yetkilerini herhangi bir karışıklığa yol açmadan yönetebiliriz.

PostgreSQL Veritabanında Bulunan Verilerin GeoServer Sunucusuna Yüklenmesi

Bu bölümde kullanacağımız hazır shapefile verilerini;

https://data.humdata.org/dataset/cod-ab-tur?

adresindeki “turkey_administrativelevels0_1_2.zip” dosyasını indirerek elde edeceğiz. İndirdiğimiz dosya içerisinde Türkiye’ye ait ülke, il ve ilçe sınırlarının olduğu shapefile dosyaları mevcut. Bu dosyaları PostgreSQL

veritabanına yükleyeceğiz. Sonrasında GeoServer sunucusunun veritabanında depolanmış verilere erişimini sağlayacağız. Erişim sağladıktan sonra verilerin sunucu aracılığı ile servis etme kısmını gerçekleştireceğiz. Detaylı bilgi için kitabınızın ilgili bölümünü okuyunuz.

GeoServer Katman Stillerinin Değiştirilmesi

Kitabın ilgili bölümünde yaptığımız “tur_sinirlar_4” örneği altlık harita kullanılmadan gösterildiğinde anlam ifade etmektedir. Fakat altlık harita üzerinde gösterildiğinde harita bilgilerini görünmez kılar. Sadece sınırların gözükmesini istiyorsak sınırların içerisinde yer alan dolguları kaldırmamız gerekecek. Bu işlem için yeni bir stil tanımlayıp ve tanımladığımız yeni stili katmanımıza eklememiz gerekiyor.

GeoServer Sunucusunda Bulunan Katmanların Tarayıcıda Görüntülenmesi

Sunucumuzu veritabanına bağlayarak oluşturduğumuz katmanı servis üzerinden görüntülemek için istemciye ihtiyaç duyulmaktadır. Hazırlayacağımız istemci kodu katmanımıza web tarayıcısı sayesinde ulaşılmasını sağlayacak. Katmanımızı tarayıcı aracılığı ile altlık harita üzerinde göstereceğiz. Günümüzde web sayfalarını oluşturmak için oldukça büyük çatı uygulamalar kullanılmaktadır. Birçok tasarım deseni kullanılarak oluşturulmuş çatı uygulamalar üzerinden haritalarımızın gösterimi mümkündür.

Google Maps API Kullanımı

Uygulama temel olarak birçok fonksiyon ve özellik sunmaktadır. Tüm haritalara bakıldığında en yaygın kullanılan ve en güçlü desteği veren harita google maps olarak kabul edilmektedir. Birçok uygulama, internet sitesi google maps kullanarak coğrafi bilgileri paylaşmaktadır. Diğer harita uygulamalarına göre daha fazla fonksiyon sunmaktadır. Belli limitler dahilinde ücretsiz kullanılabilmektedir. Bu limitlerin aşılması durumunda ücretli kullanıma izin verilmektedir. Coğrafi lokasyonlar arası en kısa yol, uzunluk mesafeleri gibi verileri hesaplayan fonksiyonlar mevcuttur. Bu fonksiyonlara Google Maps API servisleri aracılığı ile ulaşılmaktadır. Bu servislere erişim API anahtarı kullanılarak gerçekleştirilmektedir.

Google Maps API

Google Maps API lokasyon bilgileri alabilme, bu lokasyonlar üzerinden rota hesaplayabilme, lokasyonlar arası uzaklık hesaplayabilme gibi birçok fonksiyon sunmaktadır. Belirli bir kaynak kullanımı için herhangi bir ücret talep edilmez fakat limit kaynak kullanımı aşıldığında ücret talep edilmektedir. Google Maps API kullanabilmek için API anahtarı (API key) oluşturulmak zorundadır.

Google Maps API Kullanım Örneği

Google Maps API bölümünde yer alan işlemleri tamamlayıp API anahtarı alındıktan sonra bu anahtar kullanılarak API’ye bağlantı kurulabilir.


Directions API için istekler;

https://maps.googleapis.com/maps/api/directions/outputFo rmat?parameters

servisine gönderilir. Bu serviste outputFormat parametresi iki değer alabilir; json veya xml. Yaptığımız istek sonucu bize gönderilen cevabın hangi formatta olacağı “outputFormat” parametresi ile belirtilir. “parameters” kısmına ise isteğimizi şekillendiren parametreler eklenir. Parametreler anahtar=değer formatında girilir ve & işareti ile ayrılır.

Bu ünitenin sorularını uygulamada çözŞıklar, doğru cevaplar ve süreli sınav modu AÖF Soru Bankası uygulamasında