· web viewkocaelİ ünİversİtesİ mühendİslİk fakültesİ bİlgİsayar...

88
KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 100202075 TOLGA KAPLAN 100202020 METİN YILMAZ 5,2 cm 5,2 cm

Upload: lamkhanh

Post on 03-Feb-2018

238 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

BİLGİSAYAR MÜHENDİSLİĞİ

DÖNEM PROJESİ

ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR

100202075 TOLGA KAPLAN

100202020 METİN YILMAZ

OCAK, 2014

5,2 cm

5,2 cm

Page 2: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

ÖNSÖZ VE TEŞEKKÜR

Projemiz adından da anlaşılacağı üzere Oracle ile spatial (mekansal) sorgular ve bu sorguların nasıl çalıştırılacağı ile ilgilidir. Projemizde ilk olarak Oracle 11g r2 x64 sürümünü kurup, gerekli eklentileri yükledikten sonra, daha önceden de PostgreSQL üzerinde denemiş olduğumuz mekansal sorguları Oracle syntax’ına çevirip çalıştırdık. Ve görsel olarak (koordinat sistemine dayalı) ekrana getirdik.

Öncelikle proje çıkmaz bir haldeyken, bizi yönlendirip ilgili dokümanlarla yol göstererek projemizi tamamlamamızı sağladığı için değerli hocamız Arş. Gör. Süleyman Eken’e teşekkürü bir borç biliriz. Sorularımızla terlettiğimiz Facebook/Turkish Oracle User Group & Oracle Forum Türkiye grubuna ve stackoverflow.com teknik paylaşım sitesine katkılarından dolayı teşekkürlerimizi sunarız. Ve son olarak; hayatımız boyunca bugünlere gelmemizde şüphesiz en büyük katkıları yapmış olup, hiçbir özveriden kaçınmayan değerli ailelerimize çok teşekkür ederiz.

Ocak – 2014 Metin Yılmaz – Tolga Kaplan

iv

Page 3: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

İÇİNDEKİLER

ÖNSÖZ VE TEŞEKKÜR............................................................................................ivİÇİNDEKİLER.............................................................................................................vŞEKİLLER DİZİNİ.....................................................................................................viSİMGELER DİZİNİ ve KISALTMALAR...............................................................viiiÖZET...........................................................................................................................ixABSTRACT...............................................................................................................101. GİRİŞ......................................................................................................................11

1.1. Tarihçe............................................................................................................111.2. Mekansal Veritabanları Nedir?.......................................................................121.3. Oracle Spatial Niçin Vardır?...........................................................................13

2. MEKANSAL VERİTABANLARI.........................................................................142.1. Veritabanı Yönetim Sistemleri........................................................................14

2.1.1 Hiyerarşik Veritabanları....................................................................................142.1.2 Ağ Veritabanları................................................................................................152.1.3 İlişkisel Veritabanları........................................................................................15

2.2. Mekansal Veritabanı Yönetim Sistemleri.......................................................173. ORACLE SPATIAL KURULUMU.......................................................................19

3.1. Oracle Spatial Teknolojisi Nedir?...................................................................193.2. OracleSpatial Kurulumu.................................................................................19

3.2.1 Oracle 11g R2 Kurulumu...................................................................................193.2.2 Spatial Bir Veritabanı Oluşturma......................................................................284. ORACLE SPATIAL ÜZERİNDE MEKANSALSORGULAMA ÖRNEKLERİ..48

4.1. Oracle Spatial Fonksiyonları...........................................................................484.2. Gerçekleştirilen Mekansal Sorgular................................................................51

5. SONUÇLAR VE ÖNERİLER................................................................................70KAYNAKLAR...........................................................................................................71ÖZGEÇMİŞ................................................................................................................72

v

Page 4: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

ŞEKİLLER DİZİNİ

Şekil 1.1.1854 Londra - Kolera salgını verileri..........................................................11Şekil 1.2.Raster veri....................................................................................................12Şekil 1.3.Vektörel veri................................................................................................13Şekil 3.1.Oracle download..........................................................................................20Şekil 3.2.Oracle dosyalar............................................................................................20Şekil 3.3.Oracle kurulum e-mail.................................................................................21Şekil 3.4.Oracle kurulum e-mail sorgulama...............................................................21Şekil 3.5.Oracle kurulum create database...................................................................22Şekil 3.6.Oracle kurulum desktop class......................................................................23Şekil 3.7.Oracle kurulum şifre belirleme....................................................................23Şekil 3.8.Oracle kurulum gereksinimi kontrolü.........................................................24Şekil 3.9.Oracle kurulum bilgiler...............................................................................25Şekil 3.10.Oracle kurulum yükleme...........................................................................25Şekil 3.11.Oracle kurulum güvenlik duvarı izni.........................................................26Şekil 3.12.Oracle kurulum orcl veritabanı..................................................................26Şekil 3.13.Oracle kurulum orcl kurulumunun tamamlanması....................................27Şekil 3.14.Oracle kurulumunun tamamlanması..........................................................28Şekil 3.15. Başlat görünümü.......................................................................................29Şekil 3.16.database configuration assistance..............................................................29Şekil 3.17.DCA veritabanı oluşturma.........................................................................30Şekil 3.18.DCA custom database...............................................................................30Şekil 3.19.DCA veritabanı adı....................................................................................31Şekil 3.20.DCA enterprise manager...........................................................................32Şekil 3.21.DCA otomatik bakım................................................................................32Şekil 3.22.DCA şifre belirleme..................................................................................33Şekil 3.23.DCA şifre uygunluğu................................................................................34Şekil 3.24.DCA file location......................................................................................34Şekil 3.25.DCA yedekleme........................................................................................35Şekil 3.26.DCA bileşenler..........................................................................................36Şekil 3.27.DCA script.................................................................................................36Şekil 3.28.DCA hafıza miktarını belirleme................................................................37Şekil 3.29.DCA sizing................................................................................................38Şekil 3.30.DCA character sets....................................................................................38Şekil 3.31.DCA connection mode..............................................................................39Şekil 3.32.DCA database storage...............................................................................40Şekil 3.33.DCA create database.................................................................................40Şekil 3.34.DCA create database – özet.......................................................................41Şekil 3.35.DCA kurulum başlangıç............................................................................42Şekil 3.36.DCA kurulum bitiş....................................................................................43Şekil 3.37.DCA hata...................................................................................................44Şekil 3.38.Listener durumları.....................................................................................44

vi

Page 5: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.39.Enterprise manager....................................................................................45Şekil 3.40.Enterprise manager giriş............................................................................46Şekil 3.41.Enterprise manager ekranı.........................................................................46Şekil 4.1.Yeni bağlantı oluşturma..............................................................................51Şekil 4.2.Yeni bağlantı bilgileri..................................................................................51Şekil 4.3.Sqldeveloper tablo oluşturma......................................................................52Şekil 4.4.Sqldeveloper veri ekleme............................................................................52Şekil 4.5.MapView menüsü........................................................................................60Şekil 4.6.MapView’de görüntüleme...........................................................................60Şekil 4.7.GeoRaptor yükleme.....................................................................................61Şekil 4.8.Referans veriyi GeoRaptor’a ekleme..........................................................62Şekil 4.9.Tüm tabloyu GeoRaptor’a ekleme..............................................................62Şekil 4.10.GeoRaptor’da görüntüleme.......................................................................63Şekil 4.11.Bölgelerin alanını veren sorgu...................................................................64Şekil 4.12.Nehirlerin alanını veren sorgu...................................................................64Şekil 4.13.Nehirlerin uzunluklarını veren sorgu.........................................................65Şekil 4.14.Bölgelerin uzunluklarını veren sorgu........................................................66Şekil 4.15.Şehir7 ile diğer şehirler arasındaki mesafeyi hesaplayan sorgu................67Şekil 4.16. Bölgeler ile şehirlerin birbirini içerme durumlarını ve şehirlerin ortalama

sıcaklıkları ile nüfuslarını veren sorgu...................................................................68Şekil 4.17. Nehir1’in geçtiği bölgeleri veren sorgu....................................................69

vii

Page 6: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

SİMGELER DİZİNİ VE KISALTMALAR

Kısaltmalar

DCA : Database Configuration Assistant(Oracle Veritabanı Oluşturma Aracı)GIS : Goegraphic Information System (Coğrafi Bilgi Sistemi - CBS)HTML : Hyper Text Markup Language (Zengin Metin İşaretleme Dili)MVTYS : Mekansal Veritabanı Yönetim SistemleriSID : System Identifier (Sistem Tanımlayıcısı - Veritabanı Adı)SQL : Structured Query Language (Yapılandırılmış Sorgu Dili)PC : Personal Computer (Kişisel Bilgisayar)PL/SQL : Procedural Language/Structured Query Language (Prosedürel Sorgu Dili)RDBMS : Relational Database Management System (İlişkisel Veritabanı Yönetim Sistemi)T-SQL : Transact SQL (SQL Komut Yapısı)VTYS : Veritabanı Yönetim Sistemleri

viii

Page 7: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

ÖZE

ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR

ÖZET

Yaptığımız bu çalışmada mekansal sorgular ve bu sorguların görsel olarak ekrana getirilmesi araştırılmıştır. İlk etapta özellikle Oracle’ın mekansal sorgulamalarıyla ilgili Türkçe kaynakların yetersiz olması sebebiyle çalışmamızın her adımı için İngilizce kaynaklar bulunup, Türkçe’ye çevrilmiş ve her aşama bu çevirilere göre gerçekleştirilmiştir. Çeviri aşamasından sonra kurulum aşamasına geçilmiş, uygun olan işletim sistemi ve Oracle versiyonu belirlenerek kurulum tamamlanmıştır. Kurulumdan sonra elimizde mevcut olan PostgreSQL mekansal sorguları Oracle’a uygun bir şekilde çevrilerek (fonksiyon isimlerinin düzenlenmesi, ID değerleri eklenmesi vb.) başarıyla gerçeklenmiştir. Daha sonra ise Oracle üzerindeki MapView ve GeoRaptor eklentileriyle sorguların görselleştirilmesi sağlanmıştır. Çalışmaların tümü Windows 7 64-bit işletim sistemi üzerinde Oracle 11g R2 X64 sürümü kullanılarak gerçekleştirilmiştir.

Anahtar Kelimeler: Veritabanı Tabloları Oluşturma, Oracle Veritabanları Kullanımı, Mekansal Sorgular, Mekansal Sorguların Çizimi,

ix

Page 8: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

İNGİLİZCE ÖZET

SPATIAL QUERIES ON ORACLE SPATIAL

ABSTRACT

Spatial queries and their visual forms were investigated in study which we prepared. In first place, due to the lack of Turkish resources which related with Oracle’s spatial queries, English resources were translated to Turkish in each stage. Every stage was realized according to these translations. The installation stage was launched after translation stage. And it was completed with appropriate operating system and the version of Oracle. After the installation stage, the PostgreSQL queries which we have existing were translated Oracle syntax and were realized successfully. Then the queries were visualized with the MapView and the GeoRaptor addition on Oracle. All studies were realized with Oracle 11G R2 X64 on Windows 7 X64 Operating system.

Keywords :Creating the Database Tables, Usage of the Oracle Databases, Spatial Queries, Visualization of the Spatial Queries

10

Page 9: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

1. GİRİŞ

1.1. Tarihçe

Her ne kadar mekansal veritabanları çok uzak bir geçmişe sahip olmasa da aslında

yüzyıllar önce insanoğlunun üzerinde düşünmeye ve bir nevi prototip çizimler

gerçekleştirmeye başladığı Dünya haritaları bugünkü görsel veritabanı sistemlerinin atası

olarak kabul edilebilir. Hayvan derilerine ve parşömen kağıtlarınaharita çizimleri

yapılmasıyla başlayan bu süreç günümüzde GPS (Uydu Görüntüleme Sitemi) teknolojisi

ile de birleşerek Google Map benzeri uygulamaların hayatımıza girmesiyle devam

etmektedir. Ve 70’li yılların başında ortaya çıkan veritabanı teknolojisi “mekansal” olarak

da kategoriye ayrılmış ve günümüzde bu alanda da gelişmeye devam etmektedir.

Şekil 1.1. 1854 Londra - Kolera salgını verileri

11

Page 10: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

1.2. Mekansal Veritabanları Nedir?

Mekansal veritabanlarının tanımını yapmadan önce mekansal verinin ne olduğunu

açıklamamız gerekir. Mekansal veri diğer bir deyişle “görsel veri”dir. Uydu görüntüleri,

haritalar, 3 boyutlu modellemeler, GPS, medikal görüntüler vb. hepsi birer mekansal

veridir. Ve mekansal veriler vektörel veri ve raster veri olarak 2’ye ayrılırlar.

Raster Veri

Raster formatındaki veriler, modellenecek alanı/bölgeyi piksel gruplar halinde veya daha

çok benzediği şekliyle satranç tahtası şeklinde gösterir. Her bir birim/hücre/piksel belli bir

coğrafik alanı temsil etmektedir. Uzaktan Algılama (remote sensing) verileri genellikle

raster formatındadır[1].

(R:yol L:arazi H:ev B:plaj C:koruma alanı S:deniz)

Şekil 1.2.Raster veri

Vektörel Veri

Vektörel veriler, nokta ve çizgilerin birleşmesi ile gerçek durumu temsil eder. Bunlar da

birleştirilerek poligonlar oluşturulur. Bu sayede her türlü coğrafi şekil vektör formatında

kolayca tanımlanabilmektedir. Coğrafi Bilgi Sistemi’nden elde edilen harita çıktıları

12

Page 11: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

genellikle vektör formatındadır. Uzaktan Algılama verileri ise genellikle raster olduğu için

vektörel veriye dönüşümünün yapılması gerekmektedir.

Şekil 1.3. Vektörel veri

Bu açıklamalarla birlikte mekansal veritabanının tanımı daha kolay yapılabilir; mekansal

nesnelere ait verileri saklayabilen veritabanlarına mekansal veritabanı denir. Mekan bilgisi;

nokta, çizgi veya poligon olarak tutulabilir. Navigasyon, şehirleşme analizi, ulaştırma ağı

izleme sistemleri, suç izleme sistemleri, Google Earth mekansal veritabanlarına örnek

olarak verilebilir.

1.3. Oracle Spatial Niçin Vardır?

Oracle Spatial, vektörel ve raster tabanlı coğrafi veriler, topoloji ve ağ modelleri de dahil

olmak üzere yerküre üzerindeki tüm konum bilgilerini yönetmek için oluşturulmuş bir

Oracle veritabanı teknolojisidir. Yer yönetimi, kamu hizmetleri ve savunma/ülke güvenliği

gibi uygulamalar için ileri düzey coğrafi bilgi sistemi (GIS) uygulamalarının ihtiyaçlarını

karşılamak üzere tasarlanmıştır. Özellikle önceki sürümlere kıyasla 11g sürümünde daha

iyi performans, yönetim, ağ uygulamaları, coğrafi kodlama kolaylığı sağlıyor olması

Oracle Spatial’in en büyük artılarındandır.

13

Page 12: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

2. MEKANSAL VERİTABANLARI

2.1. Veritabanı Yönetim Sistemleri

Günümüzde hemen hemen tüm veri kullanılan alanlarda Veritabanı Yönetim Sistemleri

(VTYS) olmadan hiçbir şey yapılamaz hale gelmiştir. Çok basit bir web uygulamasından,

çok büyük şirketlerin ağır verilerine kadar pek çok alanda veritabanı uygulamalarına

ihtiyaç duyulmaktadır. Birbirinden farklı isimlerle anılan bu programlar için bir çok nesne

birbiri ile aynı temel işlevi yerine getirmekte olup, yaklaşık olarak aynı teorilere dayanarak

çalışmaktadırlar. VTYS, bir veritabanı oluşturmak, veritabanını düzenlemek, geliştirmek

ve bakımını yapmak gibi çeşitli karmaşık işlemlerin gerçekleştirildiği birden fazla

programdan oluşmuş bir yazılım sistemidir. Ya da diğer bir deyişle veritabanlarını

kurmayı, yaratmayı, tanımlamayı, işletmeyi ve kullanmayı sağlayan programlar

topluluğuna “veritabanı sistemi” ya da “veritabanı yönetim sistemi” (database management

system –DBMS) denir[2].

VTYS’ler fiziksel hafızayı ve veri tiplerini kullanıcılar adına şekillendirip denetleyen ve

kullanıcılarına standart bir SQL arayüzü sağlayarak onların dosya yapılar, veri yapısı,

fiziksel hafıza gibi sorunlarla ilgilenmek yerine veri giriş-çıkışı için uygun arayüzler

geliştirmelerine olanak sağlayan yazılımlardır. VTYS’de verileri tutmak üzere bir çok

türde nesne ve bu nesnelere erişimleri düzenlemek üzere kullanıcılar, roller ve gruplar yer

alır. Her bir kullanıcının belli hakları vardır. Bu haklar kısıtlanabilir. Örneğin bir tablo ya

da programcığı bir kullanıcı kullanabilirken bir başkasının hakları veritabanı yöneticisi

tarafından kısıtlanmış olabilir. Veritabanları verileri saklama ve onlara erişme bakımından

farklı tiplere ayrılır:

2.1.1 Hiyerarşik Veritabanları

Bu veritabanı tipi, ana bilgisayar ortamlarında çalışan yazılımlar tarafından

kullanılmaktadır. Bu türde en çok kullanılan yazılım, IBM tarafından çıkarılan IMS' dir.

Uzun bir geçmişe sahip olmasına rağmen, PC ortamına uyarlanan hiyerarşik veri tabanları

14

Page 13: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

yoktur. Hiyerarşik veri tabanları, bilgileri bir ağaç (tree) yapısında saklar. Kök (Root)

olarak bir kayıt ve bu köke bağlı dal (branch) kayıtlar bu tip veritabanının yapısını

oluşturur.

2.1.2 Ağ Veritabanları

Hiyerarşik veri tabanlarinin yetersiz kalmasından dolayı bilim adamlarının ortak çalışması

sonucu ortaya konulmuş bir veri tabanı türüdür. Ağ veri tabanları verileri ağaçların daha da

gelişmiş hali olan graflar (ağacın kendisi de özel bir graftır.) şeklinde saklarlar. Bu yapı en

karışık yapılardan biridir.

2.1.3 İlişkisel Veritabanları

Edgar Frank Codd Tarafından Geliştirilmiştir. Bu sistemde veriler tablo şeklinde saklanır.

Bu veri tabanı yönetim sisteminde; veri alış verişi için özel işlemler kullanılır. Bu

işlemlerde tablolar operandlar olarak kullanılır. Tablolar arasında ilişkiler belirtilir. Bu

ilişkiler matematiksel bağıntılarla (ilişkilerle) temsil edilir. Günümüzde hemen hemen tüm

veri tabanı yönetim sistemleri ilişkisel veri modelini kullanırlar. İlişkisel modeli 1970

yılında Codd önermiştir. Bu model, matematikteki ilişki teorisine (“the relational theory”)

dayanır. İlişkisel veri modelinde (Relational Data Model) veriler basit tablolar halinde

tutulur. Tablolar, satır ve sütunlardan oluşur.

Bilgisayar ortamında veri saklama ve erişiminde geçmişten günümüze değişik yöntemler

ve yaklaşımlar kullanılmıştır. Bunlardan Geleneksel Yaklaşım (Dosya - İşlem Sistemi)

verileri ayrı ayrı dosyalarda gruplamaya dayanır. Verileri saklamak için programlama

dillerinde kullanılan sıralı (Sequential) ve rastgele (Random) dosyalama sistemleri gibi.

Birbiriyle ilgili olan ve aynı gruba dahil olan veriler bir dosyada, bir başka gruba dahil olan

veriler de başka bir dosyada tutulurdu.Geleneksel Yaklaşımın birçok sakıncası vardır ve bu

sakıncaların beraberinde getirdiği sorunların üstesinden gelebilmek için de Veri Tabanı

Yaklaşımı zamanla Geleneksel Yaklaşımın yerini almıştır. Günümüzde veriler artık Veri

Tabanı Yaklaşımı ilkesine göre VTYS’ lerde tutulmakta ve işlenmektedir.

15

Page 14: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Aynı veri değişik kişilerin PC’lerinde veya değişik bilgisayarlarda tekrar tekrar tutulmaz;

veri tekrarı (data redundancy) azaltılır ya da yok edilir.

Veri tutarlılığı (data consistency) : Aynı verinin değişik yerlerde birkaç kopyasının

bulunması “bakım” zorluğu getirir: bir yerde güncellenen bir adres bilgisi başka yerde

güncellenmeden kalabilir ve bu durum veri tutarsızlığına (“data inconsistency”) yol açar.

Veri paylaşımı / Eşzamanlılık (concurrency) : Veri tabanı yönetim sistemi (VTYS)

kullanılmadığı durumlarda veriye sıralı erişim yapılır. Yani birden çok kullanıcı aynı anda

aynı veriye erişemez. Bir VTYS’de ise verinin tutarlılığını ve bütünlüğünü bozmadan aynı

veritabanlarına saniyede yüzlerce, binlerce erişim yapılabilir.

Veri bütünlüğü (data integrity): Bir tablodan bir öğrenci kaydı silinirse, öğrenci varolduğu

diğer tüm tablolardan silinmelidir.

Veri güvenliği (data security) : Verinin isteyerek ya da yanlış kullanım sonucu bozulmasını

önlemek için çok sıkı mekanizmalar mevcuttur. Veri tabanına girmek için kullanıcı adı ve

şifreyle korumanın yanı sıra kişiler sadece kendilerini ilgilendiren tabloları ya da tablo

içinde belirli kolonları görebilirler.

Veri Bağımsızlığı (data independence) : Programcı, kullandığı verilerin yapısı ve

organizasyonu ile ilgilenmek durumunda değildir. VERİ BAĞIMSIZLIĞI, VTYS’lerinin

en temel amaçlarındandır.

VTYS programlarından bazıları şunlardır;

ArcSDE : ArcSDE VTYS’si RDBMS içerisinde saklanan coğrafi verileri sorgulamak,

analiz etmek ve düzenlemek amacıyla kullanılan ESRI ArcGIS ailesi ürünlerindendir.

IBM, DB2, Informix, Microsoft SQL Server ve Oracle üzerindeki coğrafi verilerin

ArcView, ArcEditor ve ArcInfo gibi ArcGIS Desktop ürünlerine bilgi sunulmasını

sağlayan önemli bir bileşendir. Coğrafi veri için ortak bir model sunmaktadır. Mekansal

veriler, RDBMS için önem arzeden veri import ve export programları kullanmak suretiyle,

bir RDBMS’ten başka birine veri kaybı olmadan kolaylıkla taşınabilmektedir. ArcSDE,

nokta(point), çizgi(line) ve alan(polygon) gibi geometrik veriler veritabanına eklenirken

bozuk yapılı geometrilerin eklenmesine izin vermeyerek veri bütünlüğünü de

korumaktadır.

16

Page 15: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

MS SQL Server : Bir orta ve büyük ölçekli VTYS’dir. SQL’e eklentiler yazmak için T-

SQL’i destekler.

Oracle : Daha çok yüksek ölçekli uygulamalarda tercih edilen bir VTYS’dir. SQL’e

eklentiler yapmak için PL/SQL geliştirilmiştir. OGC standartlarını desteklemektedir.

Spatial teknoloji; MDSYS şeması, spatial indeks mekanizması, spatial analiz işlemleri için

fonksiyonlar, prosedürler ve operatörler, tuning işlemleri için operatörler, topoloji veri

modeli, netwok data model oluşturulması, GeoRaster veriler üzerinde analizlerin

yapılabilmesi gibi özellikleri içerir.

MySQL : Genellikle Unix-Linux temelli Web uygulamalarında tercih edilen bir VTYS’dir.

Açık kod bir yazılımdır. Küçük-orta ölçeklidir. Özellikle Web için geliştirilmiş bir

VTYS’dir denilebilir.

Postgre SQL : Bu da MySQL gibi açık kod bir VTYS’dir.

MS Access : Çoklu kullanıcı desteği yoktur. İşletim sisteminin sağladığı güvenlik

seçeneklerini kullanır. Bunun yanında belli sayıda kayda kadar (1000000 civarı) ya da belli

bir boyutun (yaklaşık 25MB) altına kadar bir sorun çıkartmadan kullanılabilecek bir küçük

ölçekli VTYS’dir.

Advantage : Türk programcılar tarafından geliştirilen bir orta ve büyük ölçekli VTYS’dir.

2.2. Mekansal Veritabanı Yönetim Sistemleri

Mekansal Veritabanı Yönetim Sistemleri denince akla ilk gelen terim ise GIS’dır. Dilimize

ise CBS (Coğrafi Bilgi Sistemleri) olarak çevrilmektedir. Coğrafi Bilgi Sistemleri; konuma

dayalı gözlemlerle elde edilen grafik ve grafik-olmayan bilgilerin toplanması, saklanması,

işlenmesi ve kullanıcıya sunulması işlevlerini bütünlük içerisinde gerçekleştiren bir bilgi

sistemidir. Coğrafik bilgileri dijital bir yapıya oturtarak bilgisayarda yardımcı araçlar ile

veritabanımızda bu verileri saklayabilmemiz, düzenleyebilmemiz coğrafi bilgi sistemleri

sayesinde gerçekleşir. Kullanım alanları arasında ise; bilimsel araştırmalar, kaynak

yönetimi, altyapılar, peyzaj mimarlığı, kentsel planlama, kartografya, kriminoloji, coğrafi

tarih, lojistik, maden haritalama, haritacılık, meteoroloji, tarımsal araştırmalar, trafik

izleme – araç takip sistemleri, arama kurtarma gibi alanlar bulunmaktadır[3].

17

Page 16: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

MVTYS programlarından bazıları şunlardır;

Oracle Spatial

Oracle Spatial en genel anlamda Oracle veritabanına mekansal yetenekler ilave eden bir

Oracle opsiyonudur. Daha teknik bir tanımla, çok boyutlu verilerin veya nokta, çizgi,

poligon gibi coğrafi şekillerin Oracle veritabanında saklanması, sorgulanması, update

edilmesi gibi işlemlerin yapılabilmesini sağlayan; özel bir SQL şeması ve özel SQL

fonksiyonlarını içeren Oracle opsiyonudur. Temelde 4 bileşenden oluşur:

- MDSYS isimli ve geometrik veri tiplerinin saklanması, syntax’I ve tanımlarını öngören

Oracle şeması.

- Mekansal indexleme

- Komşuluk ve yakınlık analizi, kesişme, içerme vb. mekansal sorguların

- yapılabilmesini sağlayan özel coğrafi fonksiyonlar.

- Yönetimsel araçlar

PostGIS

Coğrafi nesneler için PostgreSQL’e destek veren açık kaynaklı bir yazılımdır.

PostgreSQL’ e mekansal veri tabanı olma özelliği katan bir eklentidir[4].

18

Page 17: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

3. ORACLE SPATIAL KURULUMU

3.1. Oracle Spatial Teknolojisi Nedir?

Spatial özelliğini açıklayabilmek için önce Oracle teknolojisinin ne olduğuna bakmak

gerekli. Oracle 1977 yılında Kaliforniya, ABD’de kurulmuş olan, Microsoft’un ardından

dünyanın en büyük ikinci yazılım şirketidir. Oracle; ilişkisel bir veritabanı yönetim

sistemidir. Oracle’ın özelliklerinden bazıları; büyük miktarda veri tutabilmesi ve verilerin

depolandığı alanları ayarlama imkanı verebilmesi, aynı anda çok sayıda kullanıcıya hizmet

verebilmesi, işletim sistemi, veri erişim dilleri ve ağ iletişim protokolleri standartlarıyla

uyumlu olması, yetkisiz erişimleri engelleme ve kontrol edebilme imkanı sağlamasıdır[5].

Spatial seçeneği ise Oracle Enterprise Edition sürümü ile birlikte gelmektedir. Standart

Edition’da Locator adlı, sadece temel mekansal fonksiyonalite sağlayan ve Spatial’ın “alt”

versiyonu diyebileceğimiz bir opsiyon mevcuttur. Kompleks GIS projelerinde Locator

muhtemelen yetersiz kalacağı için büyük projelerde Spatial’ı kullanmak daha doğru

olacaktır. Enterprise sürümü ile gelen SqlDeveloper kullanılarak sorgular çalıştırılabilir.

Ve spatial sorguların görselliği için ise aynı program üzerindeki MapView ve GeoRaptor

eklentileri kullanılmaktadır.

3.2. OracleSpatial Kurulumu

3.2.1 Oracle 11g R2 Kurulumu

Kurulum aşamalarına geçmeden önce işletim sistemi olarak Windows 7 64 bit

kullandığımızı tekrar edelim.http://www.oracle.com/technetwork/database/enterprise-

edition/downloads/index.html?ssSourceSiteId=ocomen adresine giderek

19

Page 18: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.1.Oracle download

Microsoft Windows x64’a ait iki dosyayı bilgisayarımıza indiriyoruz. İndirip aynı klasör

içine çıkardığımızda aşağıdaki gibi dosyalar gelmelidir;

Şekil3.2.Oracle dosyalar

Ve setup’a tıklayarak Oracle kurulumuna başlıyoruz.

20

Page 19: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.3.Oracle kurulum e-mail

Şekil 6’da gösterildiği üzere karşımıza gelen ilk ekranda “My Oracle Support” sistemine e

–mail adresimizi kayıt etmek isteyip istemediğimiz soruluyor. İstemiyorsak hiçbir alana

dokunmadan “İleri” diyoruz.

Şekil 3.4.Oracle kurulum e-mail sorgulama21

Page 20: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

“Geçerli bir e-mail adresi girmediniz.” uyarısına evet diyerek devam ediyoruz.

Şekil 3.5.Oracle kurulum create database

Şekil 8’de karşımıza 3 seçenek geliyor. Biz örnek “orcl” veritabanının da kurulmasını

istediğimiz için ilk seçeneği seçiyoruz. Fakat örnek veritabanının kurulmasını istemezsek

“install database software only” diyerek “ileri” diyoruz.

22

Page 21: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.6.Oracle kurulum desktop class

Gelen ekrandan “Desktop Class” ı seçiyoruz. Ve devam ediyoruz.

Şekil 3.7.Oracle kurulum şifre belirleme

23

Page 22: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 10’da ise “administrative password” ve “confirm password” alanları hariç diğer

alanlar dolu olarak karşımıza geliyor. Oracle’ın kurulacağı dizini değiştirmek istersek

üstteki kısımdan değiştirebiliriz. Değiştirmek istemezsek ise; sadece password

belirlememiz yeterli.

Şekil 3.8.Oracle kurulum gereksinimi kontrolü

Kurulum için istenen gereksinimler (harddiskte yeterli boş alan, sistem gereksinimleri vb.)

kontrol ediliyor.

24

Page 23: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.9.Oracle kurulum bilgiler

Kontrol işlemi bittikten sonra kurulum sırasında vermiş olduğumuz bilgiler ( Oracle’ın

hangi dizine kurulacağı, örnek veritabanına ait sistem bilgileri vb. ) karşımıza

geliyor.“Bitir” diyerek yükleme aşamasına geçiyoruz.

Şekil 3.10.Oracle kurulum yükleme

25

Page 24: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Kurulum başlıyor.

Şekil 3.11.Oracle kurulum güvenlik duvarı izni

Kurulum belli bir aşamaya geldiğinde güvenlik duvarından Oracle için erişime izin

vermemiz isteniyor. “Allow access” diyerek devam ediyoruz.

26

Page 25: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.12.Oracle kurulum orcl veritabanı

Oracle kurulumu tamamlandıktan sonra otomatik olarak “orcl” veritabanının kurulmasına

geçiliyor.

Şekil 3.13.Oracle kurulum orcl kurulumunun tamamlanması

“orcl” veritabanının kurulumu tamamlandı. Bazı uyarılar ve “orcl” veritabanımıza ait

bilgiler ( adı, kurulduğu dizin ) ekrana geliyor[6].

27

Page 26: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.14.Oracle kurulumunun tamamlanması

Kurulumun tamamlandığına dair ekranda “kapat diyerek Oracle kurulumumuzu

tamamlamış oluyoruz.

3.2.2 Spatial Bir Veritabanı Oluşturma

Oracle kurulumu tamamlandıktan sonra Oracle’a ait programların Başlat’taki görünümü

aşağıdaki gibi olmalıdır;

28

Page 27: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.15. Başlat görünümü

Spatial bir veritabanı oluşturmak için ise Şekil 18’de de görülen “Database Configuration

Assistant”ı kullanıyoruz.

Şekil 3.16.database configuration assistance

Karşımıza gelen ilk ekrana “next” diyerek devam ediyoruz.

29

Page 28: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.17.DCA veritabanı oluşturma

“Create a database” diyoruz.

Şekil 3.18.DCA custom database

30

Page 29: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 21’de yer alan ekranda karşımıza 3 seçenek geliyor. Biz mekansal veritabanı

oluşturacağımız için 2.seçenek olan “Custom Database”i seçiyoruz. Eğer normal bir

veritabanı yaratmak isteseydik 1.seçeneği, datawarehouse ise de 3.seçeneği seçmemiz

gerekecekti.

Şekil 3.19.DCA veritabanı adı

Veritabanımıza isim veriyoruz. SID ( system indetifier ) da otomatik olarak

veritabanımızla aynı isimde oluyor.

31

Page 30: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.20.DCA enterprise manager

Şekil 23’te veritabanımızı konfigüre etmek için Enterprise Manager mi yoksa başka bir

yönetim aracı mı kullanacağımız soruluyor. “Configure Enterprise Manager” diyerek

“Automatic Maintenance Tasks” sekmesine geçiyoruz.

Şekil 3.21.DCA otomatik bakım

32

Page 31: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 24’te “enable automatic maintenance tasks” diyerek otomatik olarak bakım

yapılmasına izini veriyoruz.

Şekil 3.22.DCA şifre belirleme

Şekil 25’te gördüğümüz ekranda karşımıza iki seçenek geliyor. Bu seçeneklerin ilkinde

veritabanlarımız için önceden oluşturulmuş olan “SYS, SYSTEM, DBSNMP ve

SYSMAN” kullanıcıları için ayrı ayrı şifre belirleyebiliyoruz. İkinci seçenek de ise bu

kullanıcıların hepsi için tek bir şifre belirleyebiliyoruz. Biz 2.seçeneği seçerek devam

ediyoruz.

33

Page 32: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.23.DCA şifre uygunluğu

Gireceğimiz şifrenin en az 8 karakterli ve içinde en az bir büyük harf, bir küçük harf ve bir

de sayı olması isteniyor. Fakat aksi durumdaki şifreler de kabul ediliyor. Evet diyerek

devam ediyoruz.

Şekil 3.24.DCA file location

34

Page 33: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Next diyerek devam ediyoruz.

Şekil 3.25.DCA yedekleme

Bu kısımda yedekleme için 2 seçenek karşımıza geliyor. “Specify flash recovery area”

seçeneğinde yedekleme dizini ve yedekleme alanı boyutunu seçebiliyoruz. Eğer

verilerimizin tümüyle arşivlenmesini istersek ise “Enable Archiving” seçeneğini seçiyoruz.

Biz yedekleme istediğimiz için 1.seçeneği seçip dizin ve boyuta dokunmadan devam

ediyoruz.

35

Page 34: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.26.DCA bileşenler

Bu ekranda veritabanı türlerinin bileşenleri görüntüleniyor. Next diyerek devam ediyoruz.

Şekil 3.27.DCA script

36

Page 35: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Custom Scripts sekmesini de “no scripts to run” olarak ayarlayarak devam ediyoruz.

Şekil 3.28.DCA hafıza miktarını belirleme

Bu kısımda ne kadar hafıza kullanılacağını belirliyoruz. İstersek “use automatic memory

management” seçeneğini işaretleyerek hafızanın otomatik olarak belirlenmesini sağlıyoruz.

İstersek de sabit bir miktarı seçiyoruz.

37

Page 36: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.29.DCA sizing

Sizing sekmesini next diyerek geçiyoruz. Miktarlarda herhangi bir değişiklik yapmıyoruz.

Şekil 3.30.DCA character sets

38

Page 37: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Character Sets sekmesi ilk karşımıza geldiğinde “use the default” seçeneği işaretli olarak

geliyor. Fakat bu seçeneği seçtiğimizde, veritabanının herhangi bir kısmında

kullanacağımız ( veritabanı adı, sorgular vb. ) yazılarda yabancı alfabelere ait harfleri

kullanmaya çalıştığımızda hata alırız. Bu yüzden 2.seçenek olan “Use Unicode” diyerek

çoklu dil desteği verilmesini sağlıyoruz. Bunu seçtiğimizde İngilizce, Türkçe vb. harfleri

isimlendirmede veya sorgularda kullanabiliriz.

Şekil 3.31.DCA connection mode

“Dedicated Server Mode” seçeneğini seçerek devam ediyoruz.

39

Page 38: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.32.DCA database storage

Database Storage ekranında veritabanı saklama ile ilgili olarak bilgilendiriliyoruz. İstersek

sol tarafta yer alan seçeneklerden birini seçip ( tablespaces, datafiles, redo log groups )

inceleyebiliriz. Next diyerek devam ediyoruz.

Şekil 3.33.DCA create database

40

Page 39: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Veritabanı oluşturacağımız için şekil 36’da karşımıza gelen ekranda “create a database”

seçeneğini seçerek devam ediyoruz.

Şekil 3.34.DCA create database – özet

Veritabanımıza ait bilgiler görüntüleniyor. İstersek bir HTML belgesi olarak

bilgisayarımıza kaydedebiliyoruz.

41

Page 40: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.35.DCA kurulum başlangıç

Veritabanımız kuruluyor. Bilgisayarımızın donanım ve yazılım gücüne bağlı olarak

kurulum süresi 1 saati bulabilmektedir.

42

Page 41: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.36.DCA kurulum bitiş

Veritabanımız kuruldu. Fakat zaman zaman bu ekran gelmeden önce kurulumun

tamamlanmasına yakın, bir hata oluşabilmektedir.

43

Page 42: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.37.DCA hata

Bu hatanın bize anlatmak istediği şudur;

1) Oracle ile ilgili servis’leri kontrol edin. Başlatılmamış veya disabled durumda olan

servisler’lar olabilir.

Şekil 3.38.Listener durumları

44

Page 43: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Ekranda görüldüğü üzere Oracle ile ilgili servisleri kontrol edip şekildeki durumlara

(status) getirmemiz gerekmektedir. ( Servisleri açabilmek için Başlat’ta “services.msc”

yazmamız gerekmektedir. )

2) Listener’ları düzeltmemize rağmen sorun hala devam ediyor olabilir. Bu durumda

Enterprise Manager ile ilgili problem vardır. Enterprise Manager ise veritabanı ve

kullanıcılarımıza ait bilgilerinbrowser’da görüntülenmesi ve bazı tanımlamaların

browser’da yapılmasıdır.

Şekil 3.39.Enterprise manager

Hatadan sonra “OK” diyerek hatalı kurulumu tamamlıyoruz. https://localhost:1158/em adresine giderek Oracle Enterprise Manager’i açıyoruz. Karşımıza aşağıdaki gibi bir ekran

geliyor.

45

Page 44: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 3.40.Enterprise manager giriş

Bu ekranda kullanıcı adı olarak “system” , şifre olarak da veritabanı yaratırken

belirttiğimiz şifreyi yazarak sisteme giriş yapıyoruz.

Şekil 3.41.Enterprise manager ekranı

Karşımıza gelen ekranda 3 okun renginin de kırmızı ve aşağı yönlü olması veritabanının

hatalı olduğunu gösteriyor. Bu durumda Enterprise Manager’dan da user

oluşturamayacağımız için Başlat’taki Oracle programları arasından “SQLPLUS”ı açıyoruz.

46

Page 45: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Ve kullanıcı adı ile şifre soruyor. “system” kullanıcı adı ve veritabanı oluştururken

kullandığımız şifre ile giriş yapıyoruz. Amacımız; kullanıcı oluşturmak.

Önce;

CREATE TABLESPACE veri_tablespace

DATAFILE 'D:\data\metin_data_01.dat' SIZE 500K REUSE

AUTOEXTEND ON NEXT 500K MAXSIZE 500M;

komutunu yazarak tablespace oluşturuyoruz. Dizini ve maksimum boyutu da belirliyoruz

tabi. Daha sonra;

CREATE USER kullaniciadiniz IDENTIFIED BY veritabaniolustururkenyazdiginizsifre

DEFAULT TABLESPACE veri_tablespace

TEMPORARY TABLESPACE temp

QUOTA UNLIMITED ON veri_tablespace;

komutuyla kullanıcımızı oluşturmuş oluyoruz.

47

Page 46: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

4. ORACLE SPATIAL ÜZERİNDE MEKANSALSORGULAMA ÖRNEKLERİ

4.1. Oracle Spatial Fonksiyonları

Oracle Spatial için belirlenmiş, şekiller arasındaki ilişkileri belirleyen ve çeşitli ölçümleri

yapan birçok fonksiyonu vardır. Bu fonksiyonlar ise SDO_GEOMETRY ve

SDO_GEORASTER tiplerinin alt tipi olarak kullanılmaktadır. Vektör veriler için

SDO_GEOMETRY, raster veriler için SDO_GEORASTER tipi kullanılır.

SDO_GEOMETRY yapısı;

-SDO_GTYPE number

-SDO_SRID number

-SDO_POINT sdo_point tipi

-SDO_ELEM_INFO sdo_elem_info dizisi

-SDO_ORDINATES sdo_ordinate dizisi

şeklindedir.

SDO_GEORASTER yapısı;

-RasterType sayı

-SpatialExtent SDO_GEOMETRY

-RasteerDataTable varchar(32)

-RasterID number

-Metadata XMLType

şeklindedir.

Çalışmalarımızda vektörel şekiller kullandığımız için biz de SDO_GEOMETRY tipine

uygun bir şekilde fonksiyonları oluşturduk. Bu fonksiyonlar;

SDO_GEOM.SDO_AREA  

Seçilen şeklin alanını ölçer.

SDO_GEOM.SDO_Area(koordinat,0.005) şeklinde bir kullanımı vardır. 0.005 sayısı

ölçüm sonucunun toleransını belirler. Yani 0.005 oranında sapma oluşabilir[7].

48

Page 47: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

SDO_GEOM.SDO_DISTANCE  

Seçilen iki şekil arasındaki mesafeyi ölçer.

SDO_GEOM.SDO_DİSTANCE(şekil1, şekil2, 0.005) şeklinde bir kullanımı vardır.

SDO_GEOM.SDO_LENGTH

Seçilen şeklin uzunluğunu ölçer.

SDO_GEOM.SDO_LENGTH(şekil1, 0.005) şeklinde bir kullanımı vardır.

SDO_GEOM.SDO_BUFFER

Seçilen şeklin etrafında tampon bir çokgen oluşturur.

SDO_GEOM.SDO_BUFFER(şekil1, 0.005)

SDO_GEOM.SDO_CENTROID 

Seçilen bir poligonun merkezini verir.

SDO_GEOM.SDO_CENTROID(şekil1, 0.005)

SDO_GEOM.SDO_DIFFERENCE

Seçilen iki şeklin topolojik farkını başka bir şekil olarak döndürür. (Topolojik farkını

çizer.)

SDO_GEOM.SDO_DIFFERENCE (şekil1, şekil2, 0.005)

SDO_GEOM.SDO_MBR 

Seçilen bir şeklin etrafından minimum sınırlayıcı (tampon) dikdörtgen döndürür.

SDO_GEOM.SDO_MBR (şekil1, 0.005)

SDO_GEOM.SDO_ANYINTERACT

Seçilen 2 şeklin herhangi bir etkileşimde bulunup bulunmadığına bakar.

SDO_GEOM.SDO_ANYINTERACT(şekil1, şekil2, ‘mask=ANYINTERACT’, 0.005);

şeklinde kullanımı vardır.

SDO_GEOM.SDO_CONTAINS

Seçilen 2 şekilden birinin diğerini kapsayıp kapsamadığını kontrol eder.

49

Page 48: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

SDO_GEOM.SDO_CONTAINS (şekil1, şekil2, ‘mask=CONTAINS’, 0.005); şeklinde

kullanımı vardır.

SDO_GEOM.SDO_COVERS

Seçilen 2 şekilden birinin diğerini kaplama durumunu kontrol eder.

SDO_GEOM.SDO_COVERS (şekil1, şekil2, ‘mask=COVERS’, 0.005); şeklinde bir

kullanımı vardır.

SDO_GEOM.SDO_EQUALS

Seçilen 2 şeklin aynı/denk olup olmadığını kontrol eder.

SDO_GEOM.SDO_EQUALS (şekil1, şekil2, ‘mask=EQUALS’, 0.005); şeklinde

kullanımı vardır.

SDO_GEOM.SDO_INSIDE

Seçilen 2 şeklin birbirinin içinde olup olmadığını kontrol eder.

SDO_GEOM.SDO_INSIDE (şekil1, şekil2, ‘mask=INSIDE’, 0.005); şeklinde kullanımı

vardır.

SDO_GEOM.SDO_ON

Seçilen 2 şekilden birinin diğerinin üzerinde olup olmadığını kontrol eder.

SDO_GEOM.SDO_ON (şekil1, şekil2, ‘mask=ON’, 0.005); şeklinde kullanımı vardır.

SDO_GEOM.SDO_UNION

Seçilen 2 şeklin birleşimini döndürür.

SDO_GEOM.SDO_UNION (şekil1, şekil2, ‘mask=UNION’, 0.005); şeklinde kullanımı

vardır.

SDO_GEOM.SDO_OVERLAPS

Seçilen 2 şeklin üst üste gelme durumunu kontrol eder.

SDO_GEOM.SDO_OVERLAPS (şekil1, şekil2, ‘mask=OVERLAPS’, 0.005); şeklinde

kullanımı vardır.

50

Page 49: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

SDO_GEOM.SDO_TOUCH

Seçilen 2 şeklin birbirine dokunup dokunmadığını kontrol eder.

SDO_GEOM.SDO_TOUCH (şekil1, şekil2, ‘mask=TOUCH’, 0.005); şeklinde kullanımı

vardır.

4.2. Gerçekleştirilen Mekansal Sorgular

Verileri yine Oracle’ın bir programı olan SqlDeveloper aracılığıyla veritabanımıza

aktardık. Bunun için önce aşağıda yer alan 2 şekildeki gibi bağlantı oluşturmamız

gerekiyor.

Şekil 4.1.Yeni bağlantı oluşturma

Şekil 4.2.Yeni bağlantı bilgileri

51

Page 50: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 46’da yer alan bağlantı ekranında da görüldüğü üzere bir bağlantı adı belirleyip,

oluşturduğumuz kullanıcı adı ve şifresini yazıp, ve son olarak da SID kısmına

veritabanımızın adını yazarak giriş yapıyoruz.

Şekil 4.3.Sqldeveloper tablo oluşturma

Şekil 4.4.Sqldeveloper veri ekleme52

Page 51: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Giriş yaptıktan sonra direkt olarak ekrana gelen “worksheet” kısmına sorgularımızı

yazarak veritabanımızı şekillendirmeye başlayabiliriz.

Bizim projemizde yarattığımız tablolar ve bu tablolara eklediğimiz değerler ise şu

şekilde;

İlk tablomuz “poligonbolge” tablosu:

CREATE TABLE poligonbolge (name varchar(50), koordinat sdo_geometry);

“poligonbolge” tablosuna eklediğimiz değerler ise şu şekilde;

INSERT INTO poligonbolge VALUES(

'bolge1',

SDO_GEOMETRY(

2003,

null,

null,

MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),

mdsys.sdo_ordinate_array(-10,10 ,0,10, 0,0, -10,0, -10,10)

)

);

INSERT INTO poligonbolge VALUES(

'bolge2',

SDO_GEOMETRY(

2003,

null,

null,

MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),

mdsys.sdo_ordinate_array(-10,0 ,0,0, 6,-5, 0,-10, -10,-10, -16,-5, -10,0)

)

);

53

Page 52: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

INSERT INTO poligonbolge VALUES(

'bolge3',

SDO_GEOMETRY(

2003,

null,

null,

MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),

mdsys.sdo_ordinate_array(0,10 ,10,0, 0,0, 0,10)

)

);

INSERT INTO poligonbolge VALUES(

'bolge4',

SDO_GEOMETRY(

2003,

null,

null,

MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),

mdsys.sdo_ordinate_array(0,0 ,10,0, 10,-10, 0,-10, 6,-5, 0,0)

)

);

INSERT INTO poligonbolge VALUES(

'bolge5',

SDO_GEOMETRY(

2003,

null,

null,

MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),

mdsys.sdo_ordinate_array(0,10 ,15,10, 15,-5, 10,-5, 10,0, 0,10)

)

);

54

Page 53: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Komutları yazarken SDO_GEOMETRY tipinden sonra yazdığımız “2003” şeklindeki

sayılar, şeklin id numarasını belirtmektedir. Her şekil için farklı bir id numarası vardır.

Projemizde kullandığımız geometrik şekillerin id numaraları ise şu şekildedir:

Poligon = 2003 (poligonbolge tablomuz için)

Çizgi = 2002 (multilinenehir tablomuz için)

Nokta = 2001 (noktasehir tablomuz için)

İkinci tablomuz “multilinenehir” tablosu:

CREATE TABLE multilinenehir (name varchar(50), koordinat sdo_geometry);

“multilinenehir” tablosuna ait değerler ise şu şekilde;

INSERT INTO multilinenehir VALUES(

'nehir1',

SDO_GEOMETRY(

2002,

null,

null,

MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),

mdsys.sdo_ordinate_array(-3,5, -6,1, -8,-4, -6,1, 0,3, 3,4)

)

);

INSERT INTO multilinenehir VALUES(

'nehir2',

SDO_GEOMETRY(

2002,

null,

null,

MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),

mdsys.sdo_ordinate_array(11,6, 8,-1, 9,7, 8,-1, 0,-4, -1,-6)

)

55

Page 54: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

);

Üçüncü tablomuz “noktasehir” tablosu:

CREATE TABLE noktasehir (name varchar(50),isiort numeric,nufus numeric(10),

koordinat sdo_geometry);

“noktasehir” tablosuna ait değerler şu şekilde;

INSERT INTO noktasehir VALUES(

'sehir1',9, 650000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (-9,8,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir2',8, 530000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (-6,6,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir3',8, 700000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (-3,2,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir4',6, 450000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (-4,5,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir5',8, 1600000,

SDO_GEOMETRY(2001, null,

56

Page 55: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

SDO_POINT_TYPE (-11,4,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir6',9, 1400000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (-9,-9,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir7',9, 2200000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (-3,-3,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir8',10, 820000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (-2,-8,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir9',11, 930000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (3,-6,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir10',12, 640000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (-5,-5,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir11',9, 650000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (3,3,NULL), NULL, NULL)

);

57

Page 56: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

INSERT INTO noktasehir VALUES(

'sehir12',8, 530000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (7,2,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir13',8, 700000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (1,7,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir14',6, 450000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (4,-9,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir15',8, 1600000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (8,-7,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir16',9, 1400000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (7,-4,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir17',9, 2200000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (3,-1,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir18',10, 820000,

58

Page 57: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (12,-3,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir19',11, 930000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (13,0,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir20',12, 640000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (14,2,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir21',9, 650000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (8,8,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir22',8, 530000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (11,9,NULL), NULL, NULL)

);

INSERT INTO noktasehir VALUES(

'sehir23',8, 700000,

SDO_GEOMETRY(2001, null,

SDO_POINT_TYPE (4,9,NULL), NULL, NULL)

);

3 tabloyu ve bu tablolara ait değerleri veritabanımızda oluşturduk. Bu işlemden sonra bir

de bu verilerin görüntülerini oluşturmamız gerekli. Bunun için aşağıdaki şekilde de

59

Page 58: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

görüldüğü üzere görüntülemek istediğimiz tabloya çift tıklayarak açıyoruz ve “data”

sekmesiyle içindeki değerleri görüyoruz.

Şekil 4.5.MapView menüsü

Bu değerlerden istediğimiz birine sağ click ile tıklayarak gelen menüden “İnvoke Map

View on result set” seçeneğine tıklıyoruz. Ve sonuç:

Şekil 4.6.MapView’de görüntüleme

60

Page 59: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

MapView, SqlDeveloper içerisinde yer alan mekansal verileri görüntülemeye yarayan bir

araç. Fakat bu araç çoklu gösterim konusunda yetersiz kalıyor. Peki çoklu gösterimden

kastımız ne? Yukarıdaki sorgularımızda da görüldüğü gibi 3 tane tablo ekledik

veritabanımıza. Bunların bir tanesi poligon (poligonbolge), bir tanesi çizgi (multilinenehir),

bir tanesi de nokta (noktasehir). Yani her biri farklı geometrik şekil. MapView sadece

nokta veya sadece poligonları bir arada gösterebiliyor. Veritabanındaki bütün kayıtların bir

arada gösterilmesini istiyorsak GeoRaptor kullanmamız gerekiyor.

GeoRaptor da SqlDeveloper üzerine bir .jar dosyası olarak eklenen ve kullanılan bir araç.

http://sourceforge.net/projects/georaptor/adresinden .jar dosyasını bilgisayarımıza

indiriyoruz. SqlDeveloper’da Help sekmesinden “Check for Updates”e tıklayarak

GeoRaptor yükleme ekranını açıyoruz.

Şekil 4.7.GeoRaptor yükleme61

Page 60: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Bu ekranda “Add” diyerek GeoRaptor’u eklememiz gerekiyor. “Name” kısmına

“GeoRaptor” , “Location” kısmına da http://georaptor.sourceforge.net/install.xml yazarak

GeoRaptor’u eklemiş oluyoruz. İşlem tamamlandıktan sonra veritabanındaki değerlerimize

geri dönüyoruz. Poligonbolge’nin data’sına giriyoruz. Sağ tıklayıp GeoRaptor -> Create

and Display Query Layer diyerek bolge1’i GeoRaptor’a eklemiş oluyoruz.

Şekil 4.8.Referans veriyi GeoRaptor’a ekleme

Daha sonra bütün tablonun GeoRaptor’a eklenmesi için de;

Şekil 4.9.Tüm tabloyu GeoRaptor’a ekleme62

Page 61: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Tabloya sağ tıklayıp GeoRaptor -> Add to Map diyoruz. “Poligonbolge” tablosunu

GeoRaptor’a eklemiş olduk. Bu işlemleri kalan tablolarımız için de ( önce referans olarak

bir değere create and display query layer diyip, daha sonra tabloya sağ tıklayıp add to map

diyoruz ) yapıyoruz. Ve bütün tabloların birleşmiş hali;

Şekil 4.10.GeoRaptor’da görüntüleme

Gerçekleştirdiğimiz sorgular şunlardır:

1) Bölgelerin alanlarını veren sorgu:

select name, SDO_GEOM.SDO_Area(koordinat,0.005) as alan

from poligonbolge;

63

Page 62: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 4.11.Bölgelerin alanını veren sorgu

2) Nehirlerin alanlarını veren sorgu:

select name, SDO_GEOM.SDO_Area(koordinat,0.005) as alan

from multilinenehir;

*Nehirler, çizgi şeklinde oldukları için alanları sıfır olarak döndürüldü.

Şekil 4.12.Nehirlerin alanını veren sorgu64

Page 63: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

3) Nehirlerin uzunluklarını veren sorgu:

select name, SDO_GEOM.SDO_Length(koordinat,0.005) as alan

from multilinenehir;

Şekil 4.13.Nehirlerin uzunluklarını veren sorgu

4) Bölgelerin uzunluklarını veren sorgu: (çevreleri hesaplanıyor)

select name, SDO_GEOM.SDO_Length(koordinat,0.005) as alan

from poligonbolge;

65

Page 64: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 4.14.Bölgelerin uzunluklarını veren sorgu

5) Şehir 7 ile diğer şehirler arasındaki mesafeyi hesaplayan sorgu:

select b.name, sdo_geom.sdo_distance(a.koordinat,b.koordinat,0.005) uzaklik

from noktasehir a,noktasehir b

where a.name='sehir7'

order by uzaklik DESC;

66

Page 65: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 4.15.Şehir7 ile diğer şehirler arasındaki mesafeyi hesaplayan sorgu

6) Bölgeler ile şehirlerin birbirini içerme durumlarını ve şehirlerin ortalama

sıcaklıkları ile nüfuslarını veren sorgu:

select s.name, SDO_GEOM.RELATE(b.koordinat, 'contains', s.koordinat,

0.005) RELATIONSHIP

from noktasehir s, poligonbolge b;

*Bu sorguda ekrana getirilmesi gereken nüfus ve ortalama sıcaklık değerleri, SUM

ve AVG fonksiyonlarını SqlDeveloper’da çalıştıramadığımızdan dolayı sadece

içerme durumları ekrana getirilmiştir.

*23 şehir ve 5 bölge olduğu için toplamda 115 tane içerme durumu

döndürülmüştür.

67

Page 66: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 4.16. Bölgeler ile şehirlerin birbirini içerme durumlarını ve şehirlerin ortalama

sıcaklıkları ile nüfuslarını veren sorgu

7) Nehir1’in geçtiği bölgeleri veren sorgu:

select b.name, SDO_GEOM.RELATE(n.koordinat, 'anyinteract', b.koordinat,

0.005) relationship

from poligonbolge b,multilinenehir n

where n.name='nehir1';

68

Page 67: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

Şekil 4.17. Nehir1’in geçtiği bölgeleri veren sorgu

69

Page 68: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

5. SONUÇLAR VE ÖNERİLER

Projemizde coğrafi-geometrik verilerin veritabanına nasıl aktarılacağı, gelişmiş düzeydeki

coğrafi bilgisayar programlarının temelde ne tip prosedürlerle başlayıp karmaşık seviyelere

geldikleri incelenmiştir.

Sonuç olarak coğrafi işlem yapan programlarının hepsinin temelinde verileri depolamak

için mekansal bir veritabanı, ve bu veritabanında sorgulamalar yapabilmek için mekansal

veriler olması gerekmektedir. Bu komutlara bağlı olarak karmaşık seviyede çizimler

yapılabilmekte ve sorgulamalar yapılabilmektedir. Bizim incelemiş olduğumuz kısım ise;

karmaşıklıktan ziyade temelde hangi sorguların ve ne tür çizimlerin basit seviyede

yapılabileceğidir. Bu bilgiye dayanarak sadece nokta, çizgi ve poligon tipindeki

geometriler için sorgular oluşturulup, çizimler gerçeklenmiştir.

Oracle’ın sistemimize kurmuş olduğu programların hiyerarşik yapısına bakıldığında

mekansal işlemler yapmak için sqldeveloper aracının kullanılması gerektiği ilk bakışta

anlaşılmayabilir. Bu durumdan dolayı, mekansal işlemleri sqldeveloper’da eklentilerle

yapmak yerine direkt olarak mekansal işlemleri yapabilen ayrı bir program

yazılabilir/oluşturulabilir.

70

Page 69: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

KAYNAKLAR

[1] http://www.coastlearn.org/tr/gis/format.htm

[2] www.kirklareli.edu.tr/download//by-files/57570443.html

[3] http://tr.wikipedia.org/wiki/Co%C4%9Frafi_bilgi_sistemi

[4] http://www.gunduz.org/seminer/GIS/AKK_GIS_Uygulamalari-Nicolai-Tufar-

22052005.pdf

[5] http://tr.wikipedia.org/wiki/Oracle

[6] Oracle Database 11g R2 , Talip Hakan ÖZTÜRK, Pusula Yayıncılık, 2012

[7] http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_operat.htm

71

Page 70: · Web viewKOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DÖNEM PROJESİ ORACLE SPATIAL İLE MEKANSAL SORGULAMALAR 5,2 cm 100202075 ... Projemiz

ÖZGEÇMİŞ

Tolga Kaplan, 6 Nisan 1991 yılında Sivas’ta doğdu. İlköğretimi ve liseyi Sivas’ın

Gürün ilçesinde tamamladıktan sonra 2010 yılında YGS ve LYS sınavlarına girerek

Kocaeli Üniversitesi Bilgisayar Mühendisliği bölümüne girmeye hak kazandı. Halen bu

bölümde 4.sınıf öğrencisi olarak öğrenim hayatına devam etmektedir. Veritabanı

Sistemleri konusunda araştırmaya ve çalışmalar yapmaya devam etmektedir.

E-mail : [email protected]

Metin Yılmaz, 26 Nisan 1992 yılında İstanbul’da doğdu. İlköğretimini Çağrıbey İlköğretim

Okulu’nda, liseyi ise Kadıköy Kenan Evren Anadolu Lisesi’nde tamamladı. 2010 yılında

girdiği YGS ve LYS sınavları sonucunda Kocaeli Üniversitesi Bilgisayar Mühendisliği

bölümünde okumaya hak kazandı. Halen aynı bölümde 4.sınıf öğrencisi olarak öğrenim

hayatına devam etmektedir.

E-mail : [email protected]

72