Android işletim sistemli mobil cihazların anlık konum bilgisi kullanılarak pafta bul uygulamasının geliştirilmesi
Development of map section finding applications by using instant location information of android devices
Yazar: SALİH YALÇIN
Danışman: DOÇ. DR. HİMMET KARAMAN
İstanbul Teknik Üniversitesi / Bilişim Enstitüsü / Bilişim Uygulamaları Ana Bilim Dalı / Coğrafi Bilgi Teknolojileri Bilim Dalı
Derece: Yüksek Lisans, 2017
Konu: Jeodezi ve Fotogrametri = Geodesy and Photogrammetry

Özet:
Gelişen teknolojiyle birlikte akıllı telefonlar hayatımızda daha fazla yer almaktadır. Kısıtlı özelliklere sahip telefonlar son yıllarda yerlerini daha iyi özellikli akıllı telefonlara bırakmaktadır. Akıllı telefonlar bünyelerinde GPS, WiFi, dokunulabilir ekran, kamera gibi özellikleri bulundurmaktadır. Bu özellikler sayesinde kullanıcılar kendilerine yardımcı birçok işlemi akıllı telefon üzerinden gerçekleştirilmektedir. Konum bulma özelliği ise akıllı telefonların en çok kullanılan özelliklerinin başında gelmektedir. Bu özellik ile navigasyon, acil yardım, lojistik vs. gibi alanlara katkı sağlanmaktadır. 
Akıllı telefonlarda Android, iOS ve Windows Phone işletim sistemleri bulunmaktadır. Android Google tarafından Linux tabanlı olarak geliştirilmiş açık kaynak kodlu mobil işletim sistemidir. iOS, Apple tarafından geliştirilmiş ve iPhone, iPad gibi cihazlarda çalışan işletim sistemidir. Windows Phone ise Microsoft tarafından geliştirilmiştir. Tüm bu işletim sistemlerinin kendilerine has uygulamalarını yayınladıkları marketleri bulunmaktadır. Android için Google Play, iOS için AppStore ve Windows için ise Microsoft Store. Kullanıcılar telefonlarında kullandıkları işletim sistemine göre ihtiyaçları olan uygulamaları indirmektedir.
Konum bulma özelliği akıllı telefonlarda bulunan en önemli özelliklerden biridir. Üç farklı yöntem ya da bu yöntemlerin birleşimi ile doğru konum elde edilebilir. Bunlar; hücresel ağlar, WiFi ve  telefonda bulunan GPS'tir. Hücresel ağlar ve Wifi, etrafta bulunan baz istasyonlarının konumunun kullanarak kestirme yöntemi yardımıyla  konum belirlenmesine katkı sağlamaktadır. GPS vasıtasıyla belirlenen konumda ise GPS uyduları önemli bir rol oynamaktadır. 
Bu tez çalışması kapsamında kullanıcının anlık konumu kullanılarak, yer tespiti yapılmıştır. Yapılan yer tespitinin anlamlı bilgiye dönüştürülmesi kapsamında ulusal pafta bölümlemesi sisteminde hangi dilim numarasına denk geldiği, dilim orta meridyeni bilgisi, 25 binlik, 50 binlik ve 100 binlik pafta bilgisinin gösterildiği, bu pafta bilgilerinin harita üzerinde çizdirildiği, harita üzerinde istenilen bir noktaya ait pafta bilgilerinin gösterilebildiği ve bu pafta bilgilerinin kullanıcı bazında favorilere eklenebildiği, favorilere eklenen paftalar ile ilgili notlar alınabilen WGS84 sisteminde koordinat bilgisinin gösterildiği, belirlenen koordinat bilgisi ile UTM ve Gauss-Kruger sistemleri arasında dönüşüm yapılabilen Android işletim sistemli cihazlarda çalışan bir mobil uygulama geliştirilmesi amaçlanmıştır. 
Uygulama geliştirilirken, Google tarafından yayınlanan Materyal tasarım ilkeleri göz önünde bulundurularak, kullanım kolaylığı ve kullanıcı deneyimi açısından zengin bir tasarım hazırlanmıştır. Hazırlanan bu tasarımların prototipleri oluşturulmuş ve uygulama geliştirilmeden önce kullanıcı deneyim ilkeleri göz önünde bulundurularak testler yapılmıştır. Yapılan testler sonucunda kullanıcı deneyimi açısından sorun teşkil edilebilecek yerler tekrardan tasarlanmıştır. 
Tasarım aşamasının tamamlanması ile birlikte geliştirme aşamasına geçilmiştir. Uygulamanın geliştirme aşamasında Android Studio geliştirme ortamında Java dili kullanılmıştır. Harita tabanlı işlemler için Google Maps Android API kullanılmıştır. Geliştirme prensibi olarak nesneye dayalı programlama belirlenmiştir. 
Çalışmanın sonucunda geliştirilen uygulamala ile kullanıcılar Android platformunda anlık konumlarından pafta bilgilerini ve koordinat bilgilerini kolaylıkla öğrenebilmiş koordinat dönüşümlerini hızlı bir şekilde yapabilmiştir.

Abstract:
Along with developing technology, smartphones are taking more place in our lives. In recent years, phones with limited features have left their place to better-equipped smartphones. Smart phones have features such as GPS, WiFi, touch screen, camera thanks to these features, many operations are carried out on the smartphone to assist the users themselves. Location detection is one of the most used features of smartphones. With this feature location information could contirbute areas like navigation, emergency assistance, logistics etc. 
Smartphones have Android, iOS and Windows Phone operating systems. Android is an open source mobile operating system developed by Google based on Linux. IOS is an operating system developed by Apple and running on devices such as iPhone and iPad. Windows Phone is developed by Microsoft. All these operating systems have their own markets where they publish their own applications. Google Play for Android, AppStore for iOS and Microsoft Store for Windows. Users download the applications that they need on their phones according to the operating system they use.
Android operational system is Linux based open source system that developed by Google. Android OS is distributed for free of charge. Astro, the first version of the Android operating system, was launched on 9 February 2009. The latest version still on the launch is the 8.0 version with the Oreo name.
The programming language used while developing Android application is the Java programming language. The Java programming language is also an open source programming language, as well as the Android operating system. Android apps are not only developed with Java, but are also developed with the Kotlin. Kotlin is an open source programming language that published by the JetBrains company for the JVM in 2011. Development with Kotlin is easier than Java language. The Google IO 2017 event has announced that the Kotlin language will now be officially supported. 
Location detection is one of the most important features found on smartphones. The correct position can be obtained by combining three different methods or  described methods. These are; Cellular networks, WiFi and GPS on the phone. Cellular networks and Wifi contribute to location determination with the aid of the location method of the nearby base stations. GPS satellites play an important role in the determining position using device's GPS.
Maps are one of the best feature that help users to determine their position via their smartphone Google Maps API is Android operation systems' primary map application development libary. The great advantage of this library is every Android phone using Google Maps as a default map application. Many operations such as downloading, map viewing and gesture movements on the map are done automatically via this API. At the same time, operations such as adding points to the map, adding polygons, adding various analysis resultant data, or focusing the user's opinion on a certain part of the map are also done through the API.
The API was developed according to the object oriented programming princip. This makes application development phase uncomplicated for the developer. Developers are using API keys with the help of the side. For each application developed, an API overview is needed. This key information is generated in some application and managed entirely according to the user. 
In this thesis study, A mobile application developed that place detection have been done using the instant location of the user. In the context of the meaningful information of the location determination, detected position also gives which slice number in the national layout system, the information of the middle meridian of the slice, 25K, 50K and 100K map sheet information is displayed, this map information is also plotted on the map and the coordinate information is displayed in the WGS84. Application could also transform coordinates between UTM and Gauss-Kruger systems. User could save map sheet to favorites and could take notes about map sheet.  
When the application was being developed, a rich design was created in terms of ease of use and user experience which taking into account Google's material design principles. Prototypes of these designs have been created and tests have been carried out before the application is developed taking user experience principles into consideration. As a result of the tests made, the places where problems can be posed in terms of the user experience are redesigned.
With the completion of the design phase, the development phase was developed. During the development phase of the application, the Java language was used with Android Studio development environment. For map-based operations, the Google Maps Android API is used on the Android side. Object oriented programming has been defined as a development principle.
As a result of developed application, map sheet informations has been determined with precisely defined instant location informations.This informations also determined with any location that user taped on the map. In addition of this capabilites map sheet informations could be saved for furter use. User could convert the map coordinates into required coordinate. Slice numbers that determined from instant location is also presented to app users.