Açık kaynaklı bütünleşik çoklu eklenti yöneticisi tasarımı ve uygulaması
Design and implementation of an open-source integratedmultiple plugin manager
Yazar: MUSTAFA UÇAR
Danışman: DOÇ. DR. AHMET ÖZGÜR DOĞRU
İstanbul Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Geomatik Mühendisliği Ana Bilim Dalı / Geomatik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Jeodezi ve Fotogrametri = Geodesy and Photogrammetry

Özet:
Açık kaynak yazılımı (Open Source Software-OSS), pragmatik olarak yazma kolaylığı
ve hibrit çalışmayı desteklemesiyle dünya çapında geliştirici desteği edinerek tescilli
yazılımlara uygun bir alternatif olma yolunda hızla ilerlemektedir. OSS'nin bir sonucu
olarak birçok yenilikçi iş modeli ve yeni iş fırsatları ortaya çıkmış, pek çok yazılım
kendini bi yönde yenilemeye başlamıştır. OSS yüksek teknoloji ve diğer
endüstrilerdeki iş modellerinde kritik bir rol oynamaktadır. Bu yapıda geliştirilen
yazılımlar ulaşılabilirlik anlamında dünyanın her noktasında bir kullanıcı
edinebilmekte ve bu oranda da geri dönüşlerle geliştirilmesine devam edebilmektedir.
Bu geri dönüşlerin yanı sıra geliştirici pozisyonundakiler aynı zamanda eksik
gördükleri hususları hızlıca düzeltebilmekte veya yeni özelliklerle
desteklemektedirler. Bu modelin kullanıldığı bir alan da coğrafi bilgi sistemleri (CBS)
yazılımlarıdır.
CBS, coğrafi bilgilerin (objelerin nerede olduğu) onları açıklayıcı bilgilerle (objelerin
ne olduğu) ilişkilendiren bilgisayar yazılımlarıdır. Gördükleriminiz nerede olduğunu
gösteren düz kağıtların (haritaların) aksine bir çok bilgi katmanı sunabilmektedir. CBS
tabanlı bir haritanın kullanımı kağıt bir haritadan çok daha zor değildir. Kağıt
haritalarda objeleri temsil eden şekiller, çizimler, temsili geometrik şekiller
bulunurken; CBS tabanlı bir haritada da mesela şehirleri temsilen noktalar, yolları ve
dereleri temsilen çizgiler, gölleri temsilen poligonlar kullanılmaktadır. Hayatımızın
her alanında kullanılan bu nesnelere ait bilgilerin saklanması ve gösterimi de hemen
her alanda büyük önem taşımaktadır.
QGIS, Open-Source Geospatial Foundation (OSGeo)'a ait dünyanın en popüler
ücretsiz coğrafi bilgi sistemleri yazılımıdır. Bu yapının başlıca güçlü yanları olarak
eklentiler sayesinde farklı amaçlara dönük araçların oluşturulması ve dahil edilmesi,
bunun yanında sürekli büyüyen bir kullanıcı ve geliştirici toğluluğunun bulunmasıdır.
QGIS eklenti geliştirme olanakları ve geniş kullanıcı kitlesiyle bu alanda çalışanlara
kendilerine ait araçların oluşturulmasına imkan tanımaktadır.
Günümüzde QGIS gibi programların lisans veya lisansüstü seviyelerde yalnızca hazır
araçlarını kullanıma dönük eğitimler verilmektedir. Halbuki farklı disiplinlerde verilen
eğitimlerin teorik bilgisinin yazılımla harmanlanarak ihtiyaçlara dönük hazır araçlar
oluşturulması; alınan eğitimleri somut ürünlere dönüştürerek kalıcı hale getirilmesini
sağlayacaktır. QGIS bu kapsamda geniş kullanıcı kitlesi, kolay öğrenilebilir ve
uygulanabilir geliştirme desteği, kapsamlı uygulama programlama arayüzü (API)
dökümanıyla büyük fırsat sağlamaktadır.
Bu tez kapsamında CBS eğitiminde eklenti geliştirmenin nasıl ve hangi ortamda
oluşturulabileceğine bir örnek hazırlanmış, her eğitim aşamasında bu platformda
iyileştirme ve geliştirme yapmak isteyen insanların sürekli desteğiyle yaşayan ve
öğreten bir uygulama ortaya çıkması hedeflenmiştir.

Abstract:
Open source software (OSS) is on its way to becoming a viable alternative to licensed
software, gaining worldwide developer support with its pragmatic ease of coding and
supporting hybrid work. As a result of OSS, many innovative business models and
new business opportunities have emerged, and many software have begun to renew
themselves in one direction. OSS plays a critical role in business models in high-tech
and other industries. The software developed in this structure can acquire a user in
every part of the world in terms of accessibility and can continue to be developed with
feedback at this rate. In addition to these feedbacks, those in the developer position
can also quickly correct the missing points or support them with new features. Another
area where this model is used is geographic information systems (GIS) software.
GIS is computer software that associates geographic information (where objects are)
with descriptive information (what objects are). Unlike plain papers (maps) that show
where what you see, it can offer many layers of information. A GIS-based map is not
much more difficult to use than a paper map. While there are figures, drawings,
representative geometric figures representing features in paper maps; in a GIS-based
map, for example, points are used to represent cities, lines to represent roads and
streams, and polygons to represent lakes. Storing and displaying the information of
these objects used in all areas of our lives is of great importance in almost every area.
QGIS is the world's most popular free geographic information systems software owned
by the Open-Source Geospatial Foundation (OSGeo). The main strengths of this
structure are the creation and inclusion of tools for different purposes thanks to plugins,
as well as the presence of an ever-growing community of users and developers. With
its plugin development possibilities and wide user base, QGIS allows those working
in this field to create their own tools.
Today, only ready-made tools of programs such as QGIS are provided at
undergraduate or graduate levels. However, creating ready-made tools for the needs
by blending the theoretical knowledge of the trainings given in different disciplines
with the software; It will ensure that the trainings received are made permanent by
transforming them into tangible products. In this context, QGIS provides a great
opportunity with its wide user base, easy-to-learn and applicable development support,
and comprehensive application programming interface (API) documentation.
Within the scope of this thesis, an example of how and in which environment plugin
development can be created in GIS education has been prepared, and it is aimed to
create an application that lives and teaches with the continuous support of people who
want to improve and develop on this platform at every education stage.
Scientific, technological and social developments experienced on a global scale also
increase expectations from educational activities given in schools. Especially the rapid
developments in social life make it a necessity to raise individuals who can keep up
with these developments.
This situation makes it necessary for students to be at the center of the learning action
from the passive receiver position in educational activities. In the human profile that
society needs in the face of developments where living conditions become more complex; self-confidence, striving for knowledge, internalizing the acquired
knowledge, producing different solutions to problems, approaching facts and events
with a unique perspective, contributing to society by being aware of social
responsibility, etc. qualities stand out.
The view that education consists of learning pages of information that teachers have
written and memorized is now outdated and has lost its value. The biggest deficiency
of the traditional learning of education, in which the teacher is at the center, is that the
learner memorizes existing knowledge, theory, principles and generalizations as they
are and expects the learner to repeat them in the same way.
One of the important problems experienced in the Turkish education system is that the
rote learning is still respected. With rote learning and practices, students' innate
curiosity to know is blunted; people who lack human skills such as wondering,
thinking, researching, accessing information, structuring information and using
information are raised. It is impossible for societies composed of such people to keep
up with global developments.
Active learning is any teaching method that engages students in the learning process.
In the traditional learning method, the flow of information is one-way from the teacher
to the student, whereas in active learning, communication is two-way. In order to
ensure active learning, at least one of the various techniques such as project or
problem-based learning, cooperative learning or inquiry-based learning should be
applied. Although there are contradictions with traditional education methods and
there may be various administrative and technical obstacles in front of its
implementation in practice, increasing the communication between the teacher and the
learner can be beneficial for both parties. Thus, while students have the opportunity to
apply and even develop today's developing technology, academicians have the
opportunity to follow the rapidly developing and changing technology more closely.
There are scientific studies supporting that active learning positively affects course
success, especially in the fields of science and engineering.
The fact that QGIS plugins are writable in python allows users of all levels to adapt.
Python can meet the needs of software developers thanks to its easy coding and wide
library options. Thanks to the plugins, the actions that the user aims to do are
completed by being guided by certain steps. According to the purpose of these
directions, it is of great importance for the software developer to prepare a userfriendly user interface. The software developer will learn how to transfer the
knowledge gained through user interface development to the process steps in the
simplest and most effective way. Because the user interface is a screen that can be used
by users of all levels. As a result, the user interface should be able to respond to the
needs of this user scale. In order to do this, the software developer must have a good
command of the subject in the theoretical and practical field. Each feedback will teach
the developers new things, but also the plugin will get better.
Thanks to its open source software, it is possible to develop on different tools
simultaneously. Any errors or improvements seen will become part of the training in
the process. In this way, software developers will be familiar with the problems they
may encounter in business life. Thanks to the solutions brought to these problems, the
ability to cope with the problems will be gained. On the other hand, the geomatics
engineers of the future will have realized early on the innovations they can add to the
sector thanks to the training they have received. In fact, since they have a platform
where they can overcome these deficiencies, they will be able to bring solutions on the
subject.