<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>„GelegeApp” - Vorstellung einer mobilen Anwendung zur Unterstützung des Gelegeschutzes von Wiesenvögeln im Land Bremen</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Raphaela Heil</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tobias Ankermann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eike M. Dittmer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Torben Indorf</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabian Jeglinski</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hochschule Bremen Ansprechpartner Hochschule Bremen: Prof.Dr.-Ing. Heide-Rose Vatterrott</institution>
          ,
          <addr-line>Heide- Ansprechpartner BUND Bremen: Arno Schoppenhorst</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <fpage>53</fpage>
      <lpage>69</lpage>
      <abstract>
        <p>This paper presents the “GelegeApp”, a software system that supports conservationists in surveying and protecting the clutches of waders. The system was developed based on a cooperation between Masters students of the University of Applied Sciences Bremen and the German Federation for the Environment and Nature Conservation (BUND) Bremen and has been in use since spring 2016.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Einleitung</title>
      <p>
        Das Projekt umfasst unter anderem die Erfassung von Bodenbrütergelegen auf
Flächen, die zum Teil landwirtschaftlich (z.B. Mahd, Viehauftrieb) genutzt werden. Um
die Zerstörung der Gelege durch Auswirkungen der Nutzung zu reduzieren, kommen
verschiedene Methoden zum Einsatz. In Kooperation mit den Bewirtschaftenden wird
zum Beispiel die Mahd in der näheren Umgebung von erfassten Gelegen ausgesetzt.
Des weiteren werden Schutzkörbe über gefährdeten Nestern aufgestellt, um die
Zerstörung von Eiern durch Viehtritt zu vermeiden. Neben diesen Schutzbemühungen
werden im Rahmen des Programms auch weitere Informationen wie Gelegeverluste
durch Prädatoren erfasst und z.B. mittels Wildkameras dokumentiert.[
        <xref ref-type="bibr" rid="ref1">Beyer et al.
2017</xref>
        ]
Die Grundlage für die Entwicklung des Systems bildet die bisherige Vorgehensweise
der Vereinsmitglieder beim Lokalisieren und Überwachen von Wiesenvogelgelegen.
Bislang wurden die Gelegestandorte auf ausgedruckten Gebietskarten eingezeichnet
bzw. in einigen Fällen mittels eines GPS-Gerätes ausgemessen. In regelmäßigen
Abständen wurden die gesammelten Informationen manuell in ein
Geoinformationssystem (GIS) übertragen. Anschließend wurden die aktualisierten
Karten für die weitere Verwendung im Feld erneut ausgedruckt. Seit 2014 kamen
zusätzlich Smartphones zum Einsatz, beispielsweise für die genauere Erfassung der
Gelegestandorte (GPS Sensor) und zum internen Informationsaustausch mittels eines
Instant-Messengers.[
        <xref ref-type="bibr" rid="ref1">Beyer at al.2017</xref>
        ]
Neben einer teilweise ungenauen, geographischen Erfassung der Gelegestandorte
hatte diese Vorgehensweise auch einen hohen Arbeitsaufwand beim Digitalisieren der
Funde zur Folge. Aufgrund von veralteten Karten bzw. der zeitlichen Verzögerung
beim Aktualisieren derselben konnten Mehrfachmeldungen eines Geleges auftreten,
welche anschließend aufwendig manuell verglichen und ggf. entfernt werden mussten.
Um diesen Problemen entgegenzuwirken und den gesamten Arbeitsprozess zu
vereinfachen, wurde das im Folgende beschriebene System namens “GelegeApp”,
bestehend aus zwei mobilen Clients, einer Weboberfläche und einem Server,
entwickelt und bereits erfolgreich in der Praxis eingesetzt.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 Anforderungen</title>
      <p>Anhand der bisherigen Vorgehensweise beim Erfassen von Gelegen und basierend
auf Anregungen seitens der BUND-Mitglieder konnten diverse Anforderungen an das
System identifiziert werden.</p>
      <p>Im Allgemeinen soll eine mobile Anwendung zur Verfügung gestellt werden, über die
NutzerInnen Gebiets- und Gelegeinformationen abrufen und erfassen können. Zur
einfachen Orientierung im Gelände werden Gebietskarten benötigt, die allgemeine
Details zur Umgebung, wie z.B. Grundstücksgrenzen und Gewässer, sowie die bereits
erfassten Gelege abbilden sollten. Mittels einer einfachen Datenmaske sollen
Gelegedetails, wie der Gelegestandort, die Vogelart, die Eieranzahl, das Funddatum
und der Neststatus (z.B. “Vogel brütet”, “Küken gesichtet”, “Nest zerstört”) angegeben
und bearbeitet werden können. Das Aufnehmen und Hochladen von Fotos ist ebenfalls
von Interesse für die Vereinsmitglieder.</p>
      <p>Aufgrund der teilweise schlechten Internetverbindung von mobilen Geräten auf den
Schutzflächen sollte die Anwendung das Offline-Arbeiten ermöglichen. Aktuelle
Geländedetails sollten daher vor dem Einsatz auf das mobile Gerät heruntergeladen
und dort gespeichert werden können. Ebenso sollten gesammelte Daten auf dem
Gerät vorgehalten werden, bis eine Netzverbindung aufgebaut und die Informationen
synchronisiert werden können.</p>
      <p>Eine weitere grundlegenden Anforderungen an das System ist die Wahrung des
Datenschutzes, zum Beispiel im Hinblick auf Grundstücksinformationen und den
Standort von Gelegen. Diese Informationen sollten nur einer bestimmten
Personengruppe zugänglich sein, die z.B. durch ProjektadministratorInnen festgelegt
wird. Es wird daher eine Nutzerverwaltung benötigt, die das Anlegen und Freischalten
bzw. Sperren von NutzerInnen ermöglicht. Der Zugriff auf Daten und Funktionen der
Anwendung sollte NutzerInnen vorbehalten sein, die registriert, freigeschaltet und
eingeloggt sind. Des weiteren ist es denkbar, dass ein Teil der Informationen den
Bewirtschaftenden zur Verfügung gestellt wird, weshalb eine Unterscheidung der
NutzerInnen, z.B. in ErfasserInnen und LandwirtInnen, in Betracht gezogen werden
sollte.
Ähnlich wie bei der zuvor beschriebenen, alten Vorgehensweise ist es für
ProjektadministratorInnen weiterhin von Interesse, die gesammelten Daten in einem
55
GIS im Detail betrachten und auswerten zu können. Es sollte daher möglich sein die
Gelegeinformationen in ein GIS der Wahl zu übertragen.</p>
    </sec>
    <sec id="sec-3">
      <title>3 Funktionsumfang der Clients</title>
      <p>Im Folgenden werden die grundlegenden Funktionen der mobilen Anwendungen,
sowie der Weboberfläche im Detail vorgestellt.</p>
      <sec id="sec-3-1">
        <title>3.1 Mobile Anwendungen</title>
        <p>Die Anwendung GelegeApp wird für die Plattformen Android (siehe 4.2.1 und 4.2.2)
und iOS entwickelt. Beide mobilen Anwendungen bieten den gleichen
Funktionsumfang und ersetzen die bisher verwendeten Erfassungsmethoden
vollständig. Vor der Nutzung der im Folgenden beschriebenen Funktionen müssen die
NutzerInnen sich in der Anwendung registrieren und eine Benutzerrolle (Biologe oder
Landwirt) auswählen. Die Benutzerrolle bestimmt anschließend, welche Funktionen
zur Verfügung stehen. Nach der Registrierung ist es notwendig, den Benutzer in der
WebApp freizuschalten, um den Zugriff von nicht berechtigten Anwendern zu
verhindern. Anschließend kann der Benutzer sich einloggen und das Schutzgebiet
wählen, in dem die Erfassung stattfinden soll.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.1.1 Übersicht</title>
        <p>Abbildung 1 (links) zeigt die Grundansicht der Anwendung, welche aus einer
Umgebungskarte des gewählten Schutzgebietes, ausgerichtet an der aktuellen
geographischen Position des Smartphones, besteht. Das verwendete Kartenmaterial
wird vom BUND zur Verfügung gestellt und enthält z.B. Informationen über
Grundstücksgrenzen (hellgraue Linien) und Gewässer (dunkelblaue Flächen). Mittels
eines “Long Press” (mehrere Sekunden andauernder Druck auf der gleichen
Bildschirmposition) können außerdem zu einigen Grundstücken weitere
Informationen, wie z.B. der Name der bewirtschaftenden Person oder die
Grundstücksfläche abgerufen werden. Die Grundstücksinformationen stehen aufgrund
des Datenschutzes nur der Benutzerrolle “Biologe” zur Verfügung.
Abbildung 1: Links: Kartenansicht mit zwei markierten Nestern, Großer Brachvogel (oranger Kreis)
und Kiebitz (blauer Stern); Rechts: Ansicht des Filtermenüs
Zusätzlich zu diesen statischen Details werden alle bisher gemeldeten Gelege auf der
Karte markiert. Die Markierungen in Abbildung 1 (links) zeigen das Gelege eines
Großen Brachvogels (oranger Kreis, links oben) und eines Kiebitz (blauer Stern, rechts
unten). Anhand der Darstellung einer Gelegemarkierung können die Spezies
(Einfärbung) und der aktuelle Status (Form der Markierung) abgelesen werden, ohne
die Detailansicht der jeweiligen Meldung öffnen zu müssen. Abbildung 1 (links) zeigt
beispielsweise ein markiertes Nest (umrandeter Kreis) und eine Position an der ein
Nestverdacht besteht (Stern).
Über den Button oben Links kann das Menü der Anwendung aufgerufen werden. Im
Menü stehen die folgenden Punkte zur Verfügung:
•
Übersicht: Öffnet die Übersichtskarte und zeigt alle hinterlegten Gelege des
Gebietes
• Gelege melden: Öffnet die Ansicht zum Erfassen eines neuen Brutplatzes
• Notizen: In der Notiz-Ansicht können beliebig viele Notizen vom Benutzer
hinterlegt werden. Diese werden nur lokal auf dem Gerät gespeichert und sind
für andere Anwender nicht einsehbar.
• Mein Account: Zeigt das Profil (Vorname, Nachname, E-Mail und Rolle) des
derzeit angemeldeten Benutzers
Zusätzlich wird im linken Menü der aktuelle Internetstatus (Online oder Offline) zum
Webservice angezeigt.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.1.2 Filtermöglichkeiten</title>
        <p>In der Kartenansicht kann mittels des Buttons oben rechts das Filtermenü aufgerufen
werden (s. Abbildung 1 - rechts). Dieses ermöglicht es, die angezeigten Gelege
anhand von verschiedenen Eigenschaften (Vogelart, Neststatus, Erfasser) zu filtern
und die Kartenansicht so übersichtlicher zu gestalten.</p>
        <p>Ein weiterer Button neben dem Filter ermöglicht das Ein- und Ausschalten der
GelegeIDs. Für jedes Gelege wird beim Erstellen im Webservice eine eindeutige ID vergeben,
die aus dem ersten Buchstaben des Vor- und Nachnamens besteht, sowie einer
fortlaufenden Nummer. Mithilfe dieser ID können die Biologen auf der Karte den
Ersteller bzw. die Erstellering des Nesteintrages schnell identifizieren.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.1.3 Gelegedetails</title>
        <p>Durch einen kurzen Druck auf eine der Gelegemarkierungen kann die Detailansicht (s.
Abbildung 2 - links) geöffnet werden. Diese stellt den aktuellen Stand des Geleges dar
und bietet durch den “Bearbeiten”-Button im unteren Bereich des Detailfensters die
Möglichkeit, in die Bearbeitungsansicht zu wechseln.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.1.4 Gelege melden</title>
        <p>Abbildung 2 (rechts) zeigt die Ansicht zum Melden eines neuen Geleges. NutzerInnen
können die verschiedenen Gelegeparameter mittels einfacher Auswahlmenüs
festlegen, eine Bemerkung hinzufügen und ein Foto machen bzw. eines aus der
Galerie des Mobilgerätes auswählen.</p>
        <p>Die Position des Geleges kann entweder durch die aktuelle GPS-Position des
Smartphones automatisch ermittelt werden, oder von den Anwendern auf einer
Kartenansicht manuell ausgewählt werden. Durch das manuelle Setzen der
58
Nestposition können die Gelege aus einer größeren Entfernung gemeldet werden,
ohne den Brutprozess zu stören.</p>
        <p>Die zuvor erwähnte Bearbeitungsansicht entspricht der beschriebenen Ansicht zum
Melden von neuen Gelegen, allerdings werden die verschiedenen Auswahlmenüs
automatisch auf die zuletzt gemeldeten Werte gesetzt. Durch das Hinzufügen von
Einträgen zu einem Gelege entsteht in der Anwendung eine Historie, wodurch die
Entwicklung des Geleges verfolgt werden kann.</p>
        <p>Abbildung 2: Links: Anzeigen der Gelegeinformationen; Rechts: Melden eines neuen Geleges</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.2 Weboberfläche</title>
        <p>Die Weboberfläche ermöglicht die Verwaltung der Anwendungsparameter, der
NutzerInnen, sowie der gemeldeten Gelege und stellt die gesammelten
Nestinformationen zum Download bereit. Da die einzelnen Ansichten ähnlich
aufgebaut sind (Tabellen bzw. Eingabemasken) wird im Folgenden auf eine
differenzierte Darstellung verzichtet. Stellvertretend hierfür zeigt Abbildung 3 das Menü
der Weboberfläche, mittels der zu den verschiedenen Funktionsbereichen navigiert
werden kann, sowie beispielhaft für die jeweiligen Unterbereiche die Ansicht zur
Verwaltung der Gelegeparameter, welche in Abschnitt 3.2.2 genauer beschrieben
wird.</p>
        <p>Abbildung 3: Teilansicht der Weboberfläche, Menüdetails und Ausschnitt aus der Verwaltungsansicht
der Gelegeparameter</p>
      </sec>
      <sec id="sec-3-7">
        <title>3.2.1 Nutzerverwaltung</title>
        <p>Die Nutzerverwaltung (s. Abbildung 3 - erster Menüeintrag) bietet einen Überblick über
alle registrierten NutzerInnen (Name, Email, freigeschaltet/gesperrt, etc.) und
ermöglicht das Erstellen und Freischalten bzw. Sperren derselben.</p>
        <p>Da NutzerInnen über das Melden von Gelegen eng an das System gekoppelt sind, ist
es über die Weboberfläche nicht möglich Nutzereinträge zu löschen. Stattdessen
müssen Personen, denen der Zugriff auf das System entzogen werden soll, gesperrt
werden. Ebenso müssen neu erstellte NutzerInnen erst freigeschaltet werden, bevor
sie das System nutzen können.</p>
      </sec>
      <sec id="sec-3-8">
        <title>3.2.2 Gelegeverwaltung</title>
        <p>Die Gelegeverwaltung (s. Abbildung 3 - dritter Menüeintrag) bietet zunächst einen
Überblick über gemeldete Gelege in Form einer Tabelle. In dieser Schnellübersicht
werden unter Anderem die Vogelart, die Anzahl der Eier und der aktuelle Status für
jede Meldung angezeigt. Zusätzlich ist es möglich, mittels eines Stichwortes nach
Gelegen zu suchen.</p>
        <p>Einzelne Einträge können im Detail betrachtet und bei Bedarf bearbeitet werden.
Außerdem bietet die Gelegeverwaltung die Möglichkeit, wie in den mobilen
Anwendungen, neue Einträge anzulegen.</p>
      </sec>
      <sec id="sec-3-9">
        <title>3.2.3 Gelegeparameterverwaltung</title>
        <p>Unter dem Stichwort Gelegeparameter werden in der GelegeApp alle Werte
zusammengefasst, die ein Gelege genauer beschreiben. Hierzu gehören, wie in
Abbildung 3 dargestellt, die Vogelart, der Neststatus und Schutzmaßnahmen, die an
einem Gelege durchgeführt wurden. Ebenso wie in den anderen
Verwaltungsbereichen, werden in einer Übersicht zunächst alle existierenden Werte
für einen Parameter angezeigt. Aufgrund der engen Bindung an Gelegeeinträge ist es
wie bei der Nutzerverwaltung, nicht möglich Parameter zu löschen. Einzelne Einträge
können allerdings bearbeitet und somit z.B. umbenannt werden. Des weiteren ist es
möglich, neue Einträge zu erstellen.</p>
      </sec>
      <sec id="sec-3-10">
        <title>3.2.4 Gebiete und GeoDBs</title>
        <p>Die Verwaltung der Gebiete (s. Abbildung 3 - zweiter Menüeintrag) ermöglicht es
ProjektadministratorInnen Schutzgebiete zu definieren. Anhand dieser Einträge
können NutzerInnen in den mobilen Anwendungen ihren aktuellen Arbeitsbereich
auswählen und so z.B. die herunterzuladenden Gelegeinformationen auf einen
gewissen Bereich begrenzen.</p>
        <p>Mittels der GeoDB-Verwaltung (s. Abbildung 3 - letzter Menüeintrag) kann jedem der
Schutzgebiete eine oder mehrere ESRI2 Geodatabases, d.h. eine Sammlung von
Karten und anderen geographischen Informationen, zugeordnet und auf den Server
hochgeladen werden. Der jeweils aktuellste Geodatabase-Eintrag wird von den</p>
        <sec id="sec-3-10-1">
          <title>2 ESRI: https://www.esri.de/</title>
          <p>mobilen Anwendungen für die Darstellung der Karten und Umgebungsdetails
verwendet.</p>
        </sec>
      </sec>
      <sec id="sec-3-11">
        <title>3.2.5 Datenexport</title>
        <p>Wie zuvor in den Anforderungen beschrieben, wollen ProjektadministratorInnen die
Gelegemeldungen in ein GIS übertragen können. Hierzu bietet die Weboberfläche
unter dem Menüpunkt “Datenexport” die Möglichkeit, alle Gelegeeinträge als Datei im
Comma-separated value (CSV) Format herunterzuladen. Wahlweise kann der Export
mit oder ohne Bearbeitungshistorie vorgenommen werden. Zusätzlich ist es möglich,
aus einer Anzahl an geodätischen Referenzsystemen (z.B. WGS84 und ETRS89)
auszuwählen, wodurch die Gelegekoordinaten vor dem Exportieren automatisch in das
jeweilige System projiziert werden. Beim Importieren in ein GIS müssen die Daten
somit nicht mehr nachträglich bearbeitet bzw. projiziert werden, sondern können direkt
in Karten dargestellt werden, die das gleiche Referenzsystem verwenden.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Technische Einblicke</title>
      <p>Die folgenden Abschnitte geben einen kurzen Einblick in die technische Umsetzung
der jeweiligen Systemkomponenten und die dabei verwendeten Technologien.</p>
      <sec id="sec-4-1">
        <title>4.1 Systemarchitektur</title>
        <p>Wie zuvor beschrieben, besteht das System aus zwei mobilen Anwendungen, einer
Weboberfläche und einem Server (s. Abbildung 4). Die Kommunikation der Clients mit
dem Server erfolgt über eine Schnittstelle, die basierend auf dem Representational
State Transfer (REST) Paradigma gestaltet wurde.</p>
        <p>Einige der Schnittstellen, wie z.B. das Melden oder Editieren von Gelegen, setzen
einen erfolgreichen Login voraus, um zu verhindern, dass Unbefugte auf Daten
zugreifen oder diese verändern. Zur Authentifizierung von eingeloggten NutzerInnen
wird ein sogenannter Token (JWT3) verwendet, der beim Login generiert und an den
jeweiligen Client gesendet wird und nur für einen bestimmten Zeitraum gültig ist. Dieser
nutzerspezifische Token muss in jeder zugriffsbeschränkten Serveranfrage enthalten
sein und ersetzt die wiederholte Authentifizierung mittels Benutzername und Passwort.</p>
        <sec id="sec-4-1-1">
          <title>3 https://jwt.io/</title>
          <p>Vor dem Ausführen einer Schnittstelle wird der Token aus dem HTTP-Header der
Abfrage entschlüsselt und die Berechtigung des Benutzers überprüft. Bei einem
fehlenden oder abgelaufenen Token wird die Abfrage abgebrochen und der Client über
den Fehler informiert. Bei einem validen Token wird die Abfrage normal weiter
ausgeführt.</p>
          <p>Abbildung 4: Systemarchitektur
Abbildung 5: Anfragenablauf unter Verwendung von JWT,
Quelle: https://cdn.auth0.com/content/jwt/jwt-diagram.png</p>
          <p>63</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Mobile Anwendungen</title>
        <p>Im Rahmen der Systementwicklung wurden zwei Anwendungen, jeweils für mobile
Geräte basierend auf iOS und Android, umgesetzt. Eine Umsetzung für andere Geräte,
wie z.B. Windows Phones, wurde nicht vorgenommen, da sich zum Zeitpunkt der
Konzeption und Entwicklung kein solches Modell im Besitz der BUND-Mitglieder
befand. Des weiteren sind die Anwendungen zunächst nur auf Smartphones
ausgelegt. Eine Ausführung auf Tablets wird nicht ausgeschlossen, wird momentan
aber nicht von allen Anwendungen vollständig unterstützt.</p>
        <p>Zur Verteilung der mobilen Anwendungen an die NutzerInnen wird aktuell die
HockeyApp4 Plattform verwendet. Diese ermöglicht es Entwicklern, einer Gruppe von
registrierten NutzerInnen (in diesem Fall beteiligte BUND-Mitglieder) eine Anwendung
bzw. Updates für diese zukommen zu lassen, ohne Systeme wie den AppStore oder
PlayStore nutzen zu müssen. Die Benutzer werden per E-Mail in die jeweilige
Verteilergruppe (iOS und Android) eingeladen und können diese anschließend wie
gewohnt auf dem Gerät installieren. Beim Starten der Anwendung wird automatisch
geprüft, ob Updates zur Verfügung stehen und der Benutzer ggf. darüber informiert.
4.2.1 iOS
Die iOS-App der GelegeApp wurde in Objective-C entwickelt und benötigt mindestens
iOS 9.0 um auf einem iPhone oder iPad funktionsfähig zu sein. Wie bereits
beschrieben, wird auch die iOS-App mithilfe der HockeyApp an die einzelnen Benutzer
verteilt, damit nicht jeder Benutzer die GelegeApp im AppStore herunterladen kann.
Optimiert wurde die App für den Gebrauch auf kleineren Geräte, also den iPhones,
weil diese im Gelände einfacher bedient werden können als große Tablets wie das
iPad. Die folgende Auflistung beschreibt die verwendeten Bibliotheken:</p>
      </sec>
      <sec id="sec-4-3">
        <title>ArcGIS-Runtime-SDK-iOS (Version 10.2.5)5</title>
        <p>Die wichtigste Bibliothek, die in der GelegeApp eingesetzt wird, ist das
ArcGISRuntime SDK. Mithilfe der Funktionen des SDKs und der Verwendung einer
Geodatabase können sämtliche Funktionen der App offline verwendet werden.</p>
        <sec id="sec-4-3-1">
          <title>4 https://hockeyapp.net/</title>
        </sec>
        <sec id="sec-4-3-2">
          <title>5 https://developers.arcgis.com/ios/</title>
          <p>Nach dem Login des Benutzers und der Gebietsauswahl wird die jeweilige
Geodatabase vom Webservice geladen und auf dem Dateisystem des Gerätes
gespeichert. Vom ArcGIS SDK werden anschließend die Layer aus der Geodatabase
geladen und auf der Karte in der App angezeigt. Über die zur Verfügung stehenden
Delegate-Methoden werden die entsprechenden Funktionen wie Long-Click oder dem
Anzeigen von Gelegen, in Form von PINs, in der App realisiert.</p>
        </sec>
      </sec>
      <sec id="sec-4-4">
        <title>RestKit (Version 0.24.1)6</title>
        <p>Für die Kommunikation mit dem Webservice wird in der iOS-App RestKit verwendet.
RestKit ist ein Framework mit dessen Hilfe dem Entwickler die Verarbeitung von
RESTbasierten Webservices erleichtert wird. RESTkit ermöglicht das Mapping von
Ergebnissen des Webservice zu Objekten, die in der App verwendet werden können.
Das Framework basiert auf der bekannten Bibliothek AFNetworking7, welche in der
GelegeApp z.B. den Download von größeren Dateien, wie etwa der Geodatabase
übernimmt.</p>
      </sec>
      <sec id="sec-4-5">
        <title>MBProgressHUD (Version 0.9.2)8</title>
        <p>Mithilfe der Bibliothek MBProgressHUB können Ladeanimation in der App angezeigt
werden, wenn z.B. im Hintergrund Daten vom Webservice geladen werden.</p>
      </sec>
      <sec id="sec-4-6">
        <title>SDWebImage (Version 3.8.2)9</title>
        <p>SDWebImage ist Bibliothek zum asynchronen Laden und Cachen von Bildern in der
App. Durch das Cachen der Bilder verringert sich der Traffic der App und die Bilder
können dem Benutzer schneller angezeigt werden. Das asynchrone Laden ermöglicht
dem Benutzer, weiterhin mit dem User Interface zu interagieren, solange die Bilder in
einem anderen Thread im Hintergrund heruntergeladen werden.</p>
      </sec>
      <sec id="sec-4-7">
        <title>4.2.2 Android</title>
        <p>Die mobile Anwendung für Android Smartphones wurde unter Java 1.8 und für den
Android Versionsbereich 4.0.4 bis 6.0 entwickelt. Im Folgenden wird ein kurzer
Überblick über die verwendeten Bibliotheken gegeben.</p>
        <sec id="sec-4-7-1">
          <title>6 https://github.com/RestKit/RestKit</title>
        </sec>
        <sec id="sec-4-7-2">
          <title>7 https://github.com/AFNetworking/AFNetworking</title>
        </sec>
        <sec id="sec-4-7-3">
          <title>8 https://github.com/jdg/MBProgressHUD</title>
        </sec>
        <sec id="sec-4-7-4">
          <title>9 https://github.com/rs/SDWebImage</title>
        </sec>
      </sec>
      <sec id="sec-4-8">
        <title>ArcGIS Android (Version 10.2.7)10</title>
        <p>Ebenso wie die iOS App verwendet auch die Android Anwendung die entsprechende
ArcGIS Bibliothek für die Darstellung des Kartenmaterials und weitere geographische
Funktionen, wie das Abfragen von Informationen aus einzelnen Kartenlayern.</p>
      </sec>
      <sec id="sec-4-9">
        <title>Volley (Version 1.x)11</title>
      </sec>
      <sec id="sec-4-10">
        <title>OkHttp (Version 3.2.0)12</title>
        <p>Die Bibliothek Volley wurde für die Kommunikation mit dem Webservice über die
REST-Schnittstelle verwendet.</p>
        <p>
          OkHttp ist eine leistungsstarke Open Source Bibliothek zur Kommunikation mit einem
Webservice. OkHttp wurde in der Gelege App verwendet, um Fotos hoch- bzw.
herunterzuladen. Die Volley Bibliothek konnte dafür nicht eingesetzt werden, da sie für
das Übermitteln von größeren Daten, wie in diesem Fall Bilder, nicht ausgelegt ist.
[
          <xref ref-type="bibr" rid="ref2">Android Open Source Project 2017</xref>
          ]
        </p>
      </sec>
      <sec id="sec-4-11">
        <title>GreenDAO (Version 2.0.0)13</title>
        <p>Gelegedaten werden in der in Android integrierten SQLite Datenbank z.B. für die
Offline-Speicherung hinterlegt. Für das entsprechende Object-Relational Mapping
wurde die Bibliothek GreenDAO eingesetzt, welche eine einfache Kommunikation mit
der Datenbank ermöglicht.</p>
      </sec>
      <sec id="sec-4-12">
        <title>4.3 Weboberfläche</title>
        <p>Die Weboberfläche wurde mittels des JavaScript Frameworks AngularJS14 (Version
1.5.5) umgesetzt. Für das Generieren des Webprojektes wurde am Anfang der
WebApp-Generator yeoman15 verwendet. Yeoman erstellt automatisch das nötige
10 https://developers.arcgis.com/android/
11 https://github.com/google/volley
12 http://square.github.io/okhttp/
13 http://greenrobot.org/greendao/
14 https://angularjs.org/
15 http://yeoman.io/
Ecosystem um ein Webprojekt erfolgreich durchführen zu können und bietet hilfreiche
Funktionen wie z.B. die Build-Automatisierung durch Grunt16 oder Gulp17.
Für den Build-Prozess wird in der WebApp Grunt verwendet. Dieses dient als
Taskrunner und optimiert Prozesse, die das Entwickeln der Anwendung erleichtern. Dazu
gehört z.B. ein lokaler Server mit BrowserSync, mit dessen Hilfe Änderungen sofort im
Browser angezeigt werden können. Zudem bietet Grunt die Möglichkeit beim Deployen
der Anwendung gewisse Prozesse zu automatisieren. Dazu gehört die Minimierung
von JavaScript oder HTML, sowie die Komprimierung und Kompilierung von Sass18 zu
css. Die Verwaltung der Pakete, also Bibliotheken und Frameworks zur Unterstützung,
wird mithilfe des Paketmanagers Bower19 durchgeführt.</p>
        <p>Neben den zuvor beschriebenen Technologien wurden außerdem die folgenden
Frameworks und Plugins verwendet:</p>
      </sec>
      <sec id="sec-4-13">
        <title>Bootstrap for Sass (Version 3.2.0)20</title>
        <p>Umsetzung des Bootstrap Frameworks in Sass, mit der das allgemeine Layout der
Weboberfläche erstellt wurde.</p>
      </sec>
      <sec id="sec-4-14">
        <title>Angular Plugins</title>
        <p>Angular-animate (Version 1.5.5)21 wurde für kleinere Animationen, Angular-messages
(Version 1.5.5)22 für das Anzeigen von Informationen und Feedback und Angular-route
(Version 1.5.5)23 für das Routing zwischen verschiedenen Ansichten verwendet.
Zusätzlich wurde Angular-material (Version 1.0.8)24 eingebunden, da es diverse
vordefinierte Komponenten bietet.
16 https://gruntjs.com/
17 http://gulpjs.com/
18 http://sass-lang.com/
19 https://bower.io/
20 https://github.com/twbs/bootstrap-sass
21 https://docs.angularjs.org/guide/animations
22 https://docs.angularjs.org/api/ngMessages/directive/ngMessages
23 https://docs.angularjs.org/api/ngRoute/service/$route
24 https://material.angularjs.org/latest/</p>
      </sec>
      <sec id="sec-4-15">
        <title>4.4 Server</title>
        <p>Der GelegeApp-Server wurde mittels des auf JavaScript basierenden Frameworks
Node.js25 implementiert, welches aufgrund früherer, positiver Erfahrungen in der
Entwicklung von Webservices ausgewählt wurde. Die Speicherung der diversen Daten
erfolgt in einer MongoDB26 Datenbank. Neben der einfachen Integration in eine
Node.js Umgebung wurde diese Datenbank insbesondere wegen der nativen
Unterstützung von Geopositionen und entsprechenden geografischen Abfragen (z.B.
Entfernungsabfragen) gewählt.</p>
        <p>Der folgende Abschnitt bietet einen Überblick über die wichtigsten Node.js Pakete, die
bei der Implementierung des Servers verwendet wurden.</p>
      </sec>
      <sec id="sec-4-16">
        <title>Express (Version 4.13.3)27</title>
        <p>Das Express Framework ermöglicht die einfache Erstellung von Webanwendungen
und bietet beispielsweise Funktionen zum Einrichten von REST-Schnittstellen.</p>
      </sec>
      <sec id="sec-4-17">
        <title>JSON Web Token (Version 5.4.1)28</title>
        <p>Wie zuvor beschrieben wird nach dem Login ein Nutzertoken generiert, der für die
weitere Kommunikation verwendet wird. Für die Generierung und Überprüfung dieser
Tokens in der GelegeApp wird die Node.js Implementierung der JSON Web Token
Bibliothek verwendet.</p>
        <p>Proj4.js (Version 2.3.14)29
Proj4.js ermöglicht die Transformation von Koordination in verschiedene
Koordinatensysteme. Im GelegeApp-Server wird es für die Umwandlung von
Gelegekoordinaten beim Export verwendet.</p>
      </sec>
      <sec id="sec-4-18">
        <title>Mongoose (Version 4.2.8) 30</title>
        <sec id="sec-4-18-1">
          <title>Zur Kommunikation mit der MongoDB wurde die Bibliothek Mongoose ausgewählt.</title>
        </sec>
        <sec id="sec-4-18-2">
          <title>Grundsätzlich ist MongoDB schemafrei, Mongoose bietet allerdings eine Abstraktion, die das Definieren und Verwenden von Schemata ermöglicht.</title>
          <p>25 https://nodejs.org/en/
26 https://www.mongodb.com/
27 http://expressjs.com/
28 https://jwt.io/
29 https://github.com/proj4js/proj4js
30http://mongoosejs.com/</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Erste Erfahrungen zum Einsatz der Anwendung</title>
      <p>
        Im Anschluss an einen ersten Feldtest im März 2016 wurde die GelegeApp in der
Brutperiode 2016 bereits erfolgreich für eines der drei Bremer Schutzgebiete
eingesetzt [
        <xref ref-type="bibr" rid="ref1">Beyer et al. 2017</xref>
        ]. Für diesen Einsatz, von Ende April bis Ende Juni,
wurden in der Datenbank 171 Kiebitz-, 20 Rotschenkel, 22 Großer Brachvogel-, ein
Bekassinen- und 52 Uferschnepfenmeldungen verzeichnet.
      </p>
      <p>Anfang 2017 wurden einige Erweiterungen und Wartungsarbeiten an dem System
vorgenommen und so z.B. die Unterstützung von verschiedenen Schutzgebieten
implementiert. Für die Brutperiode 2017 konnte die Nutzung der Anwendung auf alle
drei Bremer Schutzgebiete ausgeweitet werden.</p>
    </sec>
    <sec id="sec-6">
      <title>6 Fazit und Ausblick</title>
      <p>Das vorgestellte System “GelegeApp” unterstützt den BUND Bremen erfolgreich beim
Schutz von Wiesenvogelgelegen in den Bremer Schutzgebieten. Es ermöglicht
Mitgliedern unter anderem, Gelege zu erfassen und deren Entwicklung, z.B. im Bezug
auf die Eieranzahl, genauer zu beobachten.</p>
      <p>Das System kann leicht um weitere Vogelarten, Status und Schutzmaßnahmen
erweitert werden und könnte somit grundsätzlich auch in anderen Gebieten verwendet
werden. Die Übertragung des Systems auf andere Anwendungsfälle müsste allerdings
gesondert evaluiert werden.</p>
    </sec>
    <sec id="sec-7">
      <title>7 Literaturverzeichnis</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Beyer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Brockmann</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Bunke</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Dresing</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Martinez-Marivela</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ; Menke,
          <string-name>
            <given-names>K.</given-names>
            ; SunderPlasmann, H.;
            <surname>Schoppenhorst</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          (
          <year>2017</year>
          )
          <article-title>: Kooperativer Wiesenvogelschutz in Flussniederungen des Bremer Beckens -</article-title>
          <source>Bericht der Brutperiode</source>
          <year>2016</year>
          , Bremen, Germany, http://www.bundbremen.net/fileadmin/bundgruppen/bcmslvbremen/naturschutz/artenschutz/wiesenvogel/ GSP-Bericht_
          <year>2016</year>
          _-_20170124_-_geringe_Aufloseung.pdf ,
          <source>(aufgerufen am 08.05</source>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Android</given-names>
            <surname>Open Source Project</surname>
          </string-name>
          (
          <year>2017</year>
          )
          <article-title>: Transmitting Network Data Using Volley</article-title>
          , https://developer.android.com/training/volley/index.html ,
          <source>(aufgerufen am 14.05</source>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>