• Sonuç bulunamadı

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
6
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

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

Ali Erdi1, Fatih Sarı1

1SÜ, Selçuk Üniversitesi, Harita Müh. Bölümü, Selçuklu 42250 Konya, fatihsari@selcuk.edu.tr, alierdi@selcuk.edu.tr

ÖZET

Çalışma bünyesinde adreslerin temsil edildiği objeleri bir bütün olarak ekranda gösteren bir sistem tasarımı gerçekleştirilmiştir.

Sistem OpenLayers, MySQL ve PHP entegrasyonu sağlanarak web tabanlı bir adres arama motorundan oluşmaktadır. Adresler ve karşılık gelen coğrafi konum bilgileri çizgisel ve alansal adres verileri için koordinat dizisi şeklinde MySQL veritabanında depolanmış, PHP kodları ile oluşturulan Web sayfaları sayesinde kullanıcı tarafından girilen arama sözcüğü ile eşleşen konum bilgisi OpenLayers haritası üzerinde gösterilmiştir. Uygulamanın en önemli avantajlarından birisi ise uygulanacağı bölgeye ait adres tiplerine göre programlanabilmesidir. Farklı adres yapıları, hatta adres olarak görünmeyen ancak halk arasında bilinen yerlerin (okul, anıt, cami, park, vb) doğrudan isim ile sisteme entegre edilerek adres bulmayı kolay hale getirmek hedeflenmiştir.

Tamamen açık kaynak kodlu olarak tasarlanan sistem, bölgesel veya yerel adres arama motoru olarak kullanılabilmektedir. Kent rehberlerine, Web CBS uygulamalarına veya herhangi bir web sayfasına kolaylıkla entegre edilebilen sistem ile çok amaçlı olarak adres arama işlemi gerçekleştirilebilmektedir.

Anahtar Sözcükler: Adres/Numarataj, Açık kaynak kodlu CBS, Uygulama geliştirme, Web/Internet CBS, Adresleme

ABSTRACT

OPEN SOURCE ADDRESS SEARCHING ENGINE DESIGN AND A NEW ADDRESS SEARCHING APPROACH

In this study, a system design is constituted to visualizated address objects completely. System is designed with OpenLayers, MySQL and PHP integration to develop an address search engine. Addresses and their corresponding geographical coordinates are stored as a coordinate series in MySQL database and results are shown with OpenLayers, which users searched with PHP based web pages. One of the major advantages of the application is programmable structure according to the address systems. Different address structures as like schools, monuments, mosques and parks, which are well known by people, can be integrated into system to provide useful and easy address searching. The System is constituted with open source scripting technologies and can be use as a regional or local address-searching engine. It is possible to integrate system into the Web GIS applications and this will provide multipurpose address searching.

Keywords: Address, Open Source GIS, Application Development, Web/Internet GIS, Addressing

1. GİRİŞ

Adres sorgulama günlük yaşantı içerisinde insanların en çok ihtiyaç duydukları araçlardan birisi haline gelmiştir (Zandbergen, 2008). Özellikle cep telefonları kullanılarak internete girme oranındaki artış, insanların anlık olarak veriye ulaşma arzusunu karşılayacak araçların geliştirilmesini hızlandırmıştır. İnsanların yaşamsal fonksiyonları arasında önemli bir yere sahip olan adres bilgisine olan ihtiyacı göz önüne alındığında bu ihtiyacı karşılayacak olan sistemlerin önemi her geçen gün arttırmaktadır. Özellikle Google Maps’in sunmuş olduğu Web Tabanlı adres arama motorları ek yazılım gerektirmeyen web sayfaları yoluyla dünya çapında adres bilgisi sorgulamayı sağlamakta ve ülkemizde büyük bir kullanıcı kitlesinin kullandığı tek adres bulma aracı haline gelmektedir. Öte yandan Google Maps sağladığı Geocoding API sayesinde geliştiriciler için web tabanlı adres sorgulama araçları oluşturmaya olanak vermektedir (URL 1).

Her ne kadar Google Map güncel ve detaylı adres bilgisi sunuyor olsa da gerçekleştirilecek Web CBS uygulamalarında konumsal veriler ile Google Maps’in sunmuş olduğu adresler bir araya getirilememektedir. Bu nedenle adrese ihtiyaç duyan Web CBS uygulamalarında konumsal objelerin tanımlanabilmesi için farklı bir adres (veya konum) arama motorlarına ihtiyaç duyulmaktadır. Adres bilgisi bazen yeterli olmamakla birlikte kent içerisinde ismi herkes tarafından bilinen tarihi binalar, meydanlar, okullar, heykeller, tarihi alanlar ve mevkiler, yer bulmada adres kadar önem taşımaktadırlar. Bu nedenle kente ait özel objelerin ve yerlerin tanımlanması gerçekleştirilerek Web CBS uygulamalarının karakteristik özelliklerine göre tanımlanarak uygulama içerisinde konuma bağlı olarak sorgulanabilmesini sağlanmalıdır.

Günümüzdeki adres sorgulama sistemlerine bakıldığında genellikle ilçe, köy, cadde, sokak ve mahalle sorgulamalarının yapıldığı görülmektedir. Daha detaylı aramaların yapılması ancak bölgesel ölçekte yapılacak çalışmalar ile mümkün olmaktadır. Örneğin bir bina adı sorgulaması yapmak birçok adres arama sisteminde mümkün olmamaktadır. Adres

(2)

bulma sistemleri daha detaylı adres bulmaya elverişli olup bina verileri veritabanında depolanmadığı için bina araması yapılmamaktadır. Ancak bölgesel ölçekte gerçekleştirilecek olan GeoPortal, Web CBS ve Kent Bilgi Sistemi uygulamalarında daha detaylı adres sorgulama imkanı sağlanması gerekebilmektedir. Bu nedenle Google Map, Bing Map ve Yahoo gibi adres arama motorlarını sisteme entegre etmek yeterli olmamaktadır. Ayrıca Google Map gibi uygulamalar, Geocoding hizmetlerinde günde 25.000 adres aramaya kadar izin vermektedir. Çok kullanıcılı sistemlerde bu tür kısıtlamalar, sistemin belli bir noktadan sonra kullanılamaması anlamına gelmektedir. Bir başka dezavantaj ise, özellikle bölgesel Web CBS uygulamalarında global adres arama motorlarının tam olarak istenileni karşılayamamasıdır.

Sadece bina veya parsel bazlı Web CBS uygulamalarında cadde, sokak veya mahalle bilgileri ile sorgulamak, istenilen adrese veya noktaya gitmek için yetersiz kalacaktır. Bu amaçla parsel no ve bina adları da veritabanına depolanması gerekmektedir. Global adres arama motorlarının bu bilgileri sağlamadığı ve veritabanlarına yeni bilgi eklenemediği göz önüne alındığında açık kaynak kodlu oluşturulacak adres veritabanı ve arama motoruna ihtiyaç duyulacaktır.

Bu kapsamda açık kaynak kodlu olarak kullanılabilen API uygulamaları ile yazılım teknolojilerinin bir araya getirilmesi ile yeni bir sistem tasarımı gerçekleştirilebilmektedir. OpenLayers gibi açık kaynak kodlu harita araçları, MySQL gibi veritabanı yazılımları ve çeşitli kodlamalar ile birlikte Web CBS sistemlerine uygun web üzerinden sorgu tabanlı çalışacak bir sistem tasarımı ile hızlı bir şekilde adres sorgulaması sistemi uygulanabilmektedir. Adres arama motorunun kapsamını veritabanında depolanacak olan veriler belirleyeceğinden baz alınacak adres objesi ve detayı göz önüne alınmalıdır.

2. ADRESLEME

Dünya genelinde adres sorgulamak amacıyla çok sayıda sistem bulunmaktadır. Bölgesel ve uluslararası ölçekte adres aramayı sağlayan sistemler web üzerinden kullanıcılara adres aramayı ve harita üzerinde göstermeyi sağlamaktadır.

Ancak bu kapsamda önemli bir nokta ülkelerdeki adresleme sistemlerinin farklılık göstermesidir. Bazı ülkelerde posta kodu kullanılmakta iken çoğu ülkede ilçe, mahalle, sokak sıralaması ile adresler ifade edilmektedir. Bu sıralama çoğu ülkede farklı bir şekilde ifade edilmekte olup, genel olarak adreslerin temsil biçimi benzerlik göstermektedir. Adrese ilişkin temsil biçimi ne olursa olsun coğrafi bir objeye bağlanmak durumundadır.

Adreslerin sorgulanabilmesini sağlamak ve sorgu sonucu eşleşen adreslerin harita üzerinde gösterilmesi için bir koordinat değeri ile eşleştirilmesi gerekmektedir. Cadde, yol, sokak, mahalle, köy, ilçe ve alan gibi coğrafi objeler, harita üzerinde temsili konumsal veri tipleri ile ifade edilmektedir (Arctur & Zeiler, 2004). Cadde, yol, mahalle ve sokak gibi objeler, çizgi veri tipi ile temsil edilirken, ilçe, köy ve posta kodu gibi objeler alan verisi ile ifade edilmektedir. Adres verilerinin harita üzerinde gösterilmesi ise genellikle nokta şeklinde olmaktadır. Coğrafi objeleri en iyi temsil edecek olan nokta verisinin koordinat değerleri, veritabanında ilişkili olduğu adres ile birlikte depolanmaktadır. İl, ilçe ve köy gibi objelerde bu nokta il, ilçe ve köy merkezleri, cadde, sokak ve mahalle gibi objelerde ise genellikle orta noktası veya ağırlık merkezi olarak belirlenmektedir. Sorgu sonucu eşleşen adres bilgisine ait noktanın koordinat değerleri harita üzerinde gösterilerek aranan adres sonucu görselleştirilmiş olmaktadır. Şekil 1’de adresleme mantığının genel işleyiş şeması görülmektedir.

Şekil 1: Adresleme mantığı Veritabanı

Sorgu Adres arama arayüzü

Eşleşen adrese ait koordinat değerleri Harita üzerinde gösterim Malazgirt Mahallesi

Html Css JavaScript Php SQL Query

Php

32,578412 38,421364

(3)

Adres arama motorlarında kullanılan teknolojiler, istemci-sunucu arasında veri alışverişi yapacak PHP ve Dotnet programlama dilleri ile gerçekleştirilmektedir. İstemci bilgisayar tarayıcılarında görüntülenen sayfa içerisinde yer alana arama butonları ve aranacak adres girişlerine yazılan arama kelimelerinin tekrar sunucuya gönderilmesi işlemleri bu programlama dilleri ile yapılmaktadır. Kullanıcı aramak istediği adresi yazdıktan sonra arama butonuna bastığında, ilgili kelime sunucuya gönderilmekte ve veritabanı içerisinde sorgulanmaktadır. Eşleşen adres verilerine ilişkin koordinat değerleri istemci bilgisayarına gönderilmekte ve JavaScript kodları yardımıyla harita üzerinde nokta olarak görselleştirilmektedir. Bu sistem hem sunucu taraflı hem de istemci taraflı programlama ile mümkün olmaktadır.

Sunucu bilgisayarlar eşleşme sonucunu gönderdikten sonra devreden çıkmakta, gelen koordinatlara göre haritanın oluşturulması ve eşleşen adrese ilişkin koordinat değerlerinin ekranda gösterilmesi işlemi istemci bilgisayar tarayıcıları tarafından yapılmaktadır.

3. UYGULAMA

Adres arama motorlarında adres ile eşleşen coğrafi objelerin bir nokta ile temsil edildiğinden tüm objeler sonuçta ekranda nokta olarak gösterilmektedir. Örneğin bir cadde aramasında, caddenin uzunluğu veya büyüklüğü ne olursa olsun sonuçta temsili bir nokta ile gösterilmektedir. Ancak birçok caddeyi veya sokağı kesen uzun caddeler, alan veya bölgesel adresler ve karmaşık sokakların gösteriminde nokta kullanımı, bazı durumlarda aranan objenin ekranda tam olarak görünememesine yol açmaktadır. Özellikle kıvrımlı caddeler ve şehir içerisinde herkes tarafından bilinen park, müze, okul ve heykel gibi alanların tek bir nokta ile gösterimi tam olarak adres bulma noktasında sorunlara yol açmaktadır. Bu durum daha çok uzun caddelerin aranmasında yaşanmaktadır. Arama sonucunda ekranda görünen nokta sadece caddenin orta noktası veya temsili bir bölgesini ifade etmekte, ancak cadde gösterilen bölgeden çok daha uzun bir alanı kaplamaktadır. Şekil 2’de bu duruma örnek teşkil eden durumlar gösterilmektedir.

Şekil 2: Cadde uzunlukları ve temsili noktalar

Global haritaların ve adreslerin üzerinde gösterildiği haritaların görselleştirme özellikleri göz önüne alındığında, yapılan genelleştirmeler ve haritanın o andaki zoom seviyesine bağlı olarak cadde, sokak ve mahalle isimlerinin tekrarlı yazılması durumu bulunan adresinin tanımlanmasında önemli bir ayırt edicilik sağlamaktadır. Bu nedenle adres sistemlerinin en alt seviyedeki detaylarının tanımlanmasında temsili bir nokta yerine tümüyle konumsal veri tipine göre gösterilmesi bu tür durumlarda önemli ölçüde kolaylık sağlamaktadır. Şekil 3’te zoom seviyesinin cadde ismi üstündeki ve tanımlanmasındaki durumunu gösteren resimlere yer verilmiştir.

(4)

Şekil 3: Görselleştirme ve genelleştirmenin etkisi

Tasarımı gerçekleştirilen sistem, adreslerin gerçekte olduğu şekli ile bir bütün olarak gösterilmesini amaçlamaktadır.

Caddelerin bir çizgi şeklinde, alan ve bölgesel adreslerin ise kapalı poligonlar şeklinde gösterilmesini amaçlayan sistem ile birlikte kullanıcıların aradıkları adresi bir bütün olarak görmeleri sağlanmıştır. Temel olarak günlük adres arama yerine özel amaçlı Web CBS uygulamalarında kullanılmak için daha uygun olan sistem parsel, bina, alan, coğrafi obje ve herhangi bir özniteliğe göre oluşturulmuş olan tematik gösterim alanlarının bulunmasında ve görselleştirilmesinde önemli kazanımlar elde etmektedir. Mevcut adres arama motoru teknolojilerine ek olarak veritabanı tasarımı içerisinde bazı değişiklikler yapılarak oluşturulan sistem tamamen açık kaynak koldu olarak oluşturulmuştur. Mevcut adres arama motorlarında coğrafi objeler bir nokta ile temsil edildiğinden, noktaya ilişkin X ve Y koordinatının veritabanında depolanması yeterli olmaktadır. Oluşturulan sistemde ise tüm objeler çizgi veya alan olarak gösterileceğinden, objeleri oluşturan tüm düğüm noktalarının koordinatları veritabanına aktarılmıştır. Şekil 4’te genel ve tasarlanan yönteme göre çıktılar görülmektedir.

Şekil 4: Genel ve tasarlanan yöntemde çıktılar Malazgirt Mahallesi 32,5784 38,4213

Malazgirt Mahallesi 32,5784 38,4213 32,542 38,410 32,628 38,513 32,491 38,522 X1, Y1 X2,Y2

X3,Y3 X4,Y4

X1,Y1

Malazgirt Mahallesi Genel Yöntem

Tasarlanan Yöntem

Gösterim

Gösterim

(5)

Adres bulma sistemi, basit HTML ara yüzüne adres girişi ve arama butonu eklenerek OpenLayers haritası eklenmesi ile oluşturulmuştur. OpenLayers haritası, bulunan adres objesinin harita üzerinde gösterilmesini sağlamaktadır. Açık kaynak kodlu ve kolay bir kullanımı olmasından dolayı tercih edilen OpenLayers haritası, sunucu üzerinden gelen ve aranan adres ile ilişkilendirilmiş koordinat dizilerini görselleştirmektedir. Aranacak adresin girildiği kısım ve arama butonu Php kodları ile oluşturularak sunucu-istemci arasında adres ve ilişkili koordinat dizilerini taşımaktadır.

Koordinat dizileri OpenLayers JavaScript kodları sayesinde çizgilere veya alanlara dönüştürülmektedir. Google Map API marker komutu ile benzer olarak çalışan sistem sayesinde sunucudan gelen koordinat dizileri geometrik objeye dönüştürülerek haritanın coğrafi sınırları bu objeye getirilmektedir. Böylece aranan adres sonucu ekranda gösterilmiş olmaktadır. Şekil 5’te Google arama motorunun ve tasarlanan yöntemin aynı adres için sonuç ürünleri görülmektedir.

Şekil 5: Google ve Openlayers gösterimleri

SONUÇLAR

Tasarımı ve uygulaması gerçekleştirilen sistem ile birlikte adres aramalarda tüm objeyi gösteren bir görselleştirme yapılması sağlanmıştır. Sistem daha çok bölgesel Web CBS uygulamalarında aranan objenin tüm olarak bulunmasını sağlamak amacıyla tasarlanmıştır. Özellikle bina ve parsel gibi objelerin arama sonucunda tamamen gösterilmesinin sağlanması için kullanılmaktadır. Ayrıca günlük adres aramalarında cadde ve sokakların bir bütün olarak gösterilmesine olanak vermektedir. Çok kıvrımlı ve uzun caddelerin sisteme dahil edilmesi, depolanacak olan koordinat sayısını arttıracağından veritabanı boyutunu arttırmaktadır. Ancak bölgesel çalışmalar göz önüne alındığında bu boyut sistem çalışmasını etkilemeyecek büyüklükte olmaktadır. Tamamen açık kaynak kodlu olarak oluşturulan sistem sayesinde adres arama ve gösterimi mümkün hale gelmektedir. Herhangi bir şekilde web servisi kullanılmadığından dolayı

(6)

servislerin durması ve sistemin aksaması gibi problemler yaşanmamaktadır. Verilerin güncelliği ise, haritaların oluşturulduğu tarihe bağımlı olduğundan, manuel veri girişi yapılması çok zordur. Altlık haritanın güncelliğinde göre masaüstü CBS yazılımları ile yapılacak analizler ile koordinatlar veritabanına aktarılması hızlı bir şekilde yapılabilmektedir.

KAYNAKLAR

Arctur, D., & Zeiler, M. (2004). Designing geodatabases: Case studies in GIS data modeling. Redlands, CA: ESRI Press.

Zandbergen, P.A., A comparison of address point, parcel and street geocoding techniques, Computers, Environment and Urban Systems 32, 214–232.

URL 1, https://developers.google.com/maps/documentation/javascript/?hl=tr (27.08.2013).

Referanslar

Benzer Belgeler

Bunun için sistemde tanımlanmış olan öğrenci müfredatı, alınması gereken dersleri, seçmeli dersler, muaf dersler ve ders eşdeğerlikleri ile birlikte tutar ve daha

Sonuç olarak, bu çalışma içerisinde açık kaynak kodlu bir program olan OpenFOAM ve içerisinde yer alan laminer akışlar için geçerli olan ve zamana bağlı akış

Eğitim ve Öğretim Araştırmaları Dergisi Journal of Research in Education and Teaching Mayıs, Haziran, Temmuz 2012 Cilt 1 Sayı 2 ISNN:

Bu amaçla ÖYS’nin kurulum aşaması, sistem yönetimi, çevrimiçi işbirliği ve iletişimi, tasarım ilkeleri, verimlilik araçları, içerik yönetimi, kurs yönetimi,

Linus Torvalds, Minix işletim sisteminden daha iyi bir işletim sistemi oluşturmak için 1991 Ağustos sonlarında ilk çalışan LINUX çekirdeğini oluşturmuştur.. ♦

Bu değişikliğin ardından 2013 ve 2017 yılında yapılan Fen Bilimleri Dersi Öğretim Programları revizyonunda, Sorgulamaya Dayalı Öğ- renme (SDÖ) yaklaşımı,

İki adet farklı fotoğraf üzerinde, YOLOv3 modelini, sırasıyla önce genel amaçlı açık kaynak kodlu Pardus işletim sistemi ve sonrasında açık kaynak kodlu gerçek

 Siteye haber HNOHPHN LoLQ \|QHWLP SDQHOLQGHQ LoHULN \|QHWLPL haberler E|OPQHWÕNOD\ÕSKDEHUHNOHVD\IDVÕQÕDoÕQÕ]. Resim 2.15: Sitenin yönetim