SpatiaLite: Açık Coğrafi Veri Formatı

Günümüzde coğrafi verilerin depolanmasında kullanılan onlarca hatta yüzlerce dosya formatı bulunmaktadır. Piyasada bu kadar çok format olmasının sebeplerinin başında “her yazılımın kendine ait bir formatı kullanması” gelmektedir. Yani bir şirket hem CBS yazılımı hem de ona özel formatı piyasaya sürmektedir. Böylece kullanıcıları kendine bağımlı hale getirmeyi amaçlamaktadır. Format çokluğunun ikinci bir sebebi ise uygulama ihtiyaçlarından kaynaklanmaktadır.  Yani üzerinde çalıştığımız sistem için daha kullanışlı bir format üretme ihtiyacı bunun kaynağı olabilir.

Coğrafi veri formatlarını temelde özel (ticari) ve açık format olmak üzere ikiye ayırabiliriz. Açık formatlar ücretsiz olup geliştiriciler tarafından üzerinde değişikliklerin yapılmasına imkan sağlanmıştır. Açık formatlara örnek GML, GeoJSON, CSV, SpatiaLite. Özel formatlar ise ücretli olmalarının (bazıları) yanı sıra veri modelleri kapalı tutulur ve değişikliklere izin verilmemektedir. Ayrıca şunu da belirtmeliyim ki bazı özel formatlar zaman içerisinde açık formatlar gibi veri modellerini geliştiricilere açmışlardır. Bu yazımda SQLite veritabanı üzerine geliştirilen açık coğrafi veri formatlarından biri olan SpatiaLite ’ı sizlere tanıtacağım. Fakat öncesinde SQLite veritabanına kısaca değineceğim.

SQLite

SQLite, açık kaynak kodlu ve ücretsiz bir veritabanı motoru (engine) dır. Dosya tabanlı olup sunucu ve istemci mimarisinde değildir. Veri alışverişi doğrudan harddisk üzerindeki dosyalardan yapar. Bu açıdan Microsoft Access ‘e benzemektedir. Fakat sahip olduğu özellikler bakımından Access ‘den daha üstündür (http://database-management-systems.findthebest.com/saved_compare/Access-vs-SQLite). C#, Python, Java, MatLab, PHP, Ruby gibi pek çok programlama dili tarafından desteklenmektedir.

SpatiaLite

SpatiaLite, yazımın başında da belirttiğim gibi açık kaynak coğrafi veri formatıdır. Alessandro Furieri  tarafından geliştirilmektedir. SQLite veritabanı üzerine inşa edilmiştir. Bu açıdan PostGIS/PostgreSQL ‘e benzemektedir. OGC Simple Feature SQL standardını desteklemesi oldukça önemli bir özellik olarak karşımıza çıkmaktadır.

Coğrafi veritabanı olmasından dolayı veri depolamanın yanı sıra konumsal sorgulamalar da yapabilirsiniz. Örneğin hiçbir CBS yazılımına ihtiyaç duymadan kesişim, tampon analizler, en kısa yol analizlerini gerçekleştirebilirsiniz. Bu açıdan diğer dosya formatları arasından sıyrılmaktadır. Şuan için QGIS Desktop, ArcGIS Desktop (Interoperability Ext.), TileMill, GeoServer gibi farklı CBS yazılımları tarafından desteklenmektedir.

Windows ortamında SpatiaLite ile çalışmak gerekli dosyaları aşağıdaki linkte bulabilirisiniz.

http://www.gaia-gis.it/gaia-sins/windows-bin-x86/

Temel olarak komut satırı (CMD) ve spatialite_gui adındaki aracı kullanabilirisiniz. Komut satırından çalışmak için spatialite-xxx-win-x86.zip arşivini indirmeniz yeterlidir. Herhangi bir kuruluma gerek duymamaktadır.

Spatialite_gui aracını, spatialite_gui-xxx-win-x86.zip arşivini indirerek herhangi bir kuruluma gerek kalmadan kullanmaya başlayabilirsiniz. Oldukça kullanışlı bir arayüze sahip bir veritabanı yönetim aracıdır. Yeni SpatiaLite veritabanı oluşturabilir var olan Shapefile, XML, CSV dosyalarınızı doğrudan aktarabilirsiniz. Bunun yanında geometri kontrolü yapabilirsiniz. Aşağıda spatialite_gui (1.7.1) aracına ait ekran görüntüsü verilmiştir.

SpatiaLite veritanına ait fonksiyonları http://www.gaia-gis.it/gaia-sins/spatialite-sql-4.1.0.html adresinde bulabilirsiniz. Ayrıca çeşitli örneklerin bulunduğu The Spatialite CookBook e-kitabına şuradan erişebilirsiniz https://www.gaia-gis.it/fossil/libspatialite/wiki?name=misc-docs

QGIS ve Spatialite

SpatiaLite, OGR/GDAL kütüphanesi tarafından desteklendiğinden dolayı QGIS ortamında da rahatlıkla kullanabilirisiniz. Ayrıca QGIS ‘in temel olarak desteklediği vektör formatlardan biridir. Yeni bir veritabanı oluşturmak için ana menüden Katman > Yeni > Yeni SpatiaLite Katmanı seçilir. Aşağıdaki ekran karşınıza gelecektir.

İlgili alanlar doldurulduktan sonra istenilen katman oluşturulacaktır ve Katmanlar menüsüne eklenecektir. Başka bir zaman aynı katmana ulaşmak için  SpatiaLite Katmanı Ekle butonunu tıklayarak karşımıza gelen penceren gerekli katmanı seçip QGIS ‘e ekleyebilirsiniz.

Ayrıca QGIS ortamında SpatiaLite veritabanlarını yönetmek, katmanları içeriye aktarmak ve çeşitli SQL sorgulamaları gerçekleştirmek için DB Manager eklentisini ve QspatiaLite eklentisini kullanabilirsiniz. Her ikisi de oldukça kullanışlı eklentilerdir. Aşağıda her ekran görüntüleri verilmiştir.

 

Yayınlamış olduğum yazıları kaynak belirtmek kaydıyla paylaşabilirsiniz.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s