Skip navigation
All Places > GeoDev Germany > Blog > 2016 > June
2016

Gestern haben wir wieder ein GeoDev Meetup im Werk1 München organisiert. Wir hatten 3 sehr spannende Vorträge im Programm und ich möchte mich noch einmal besonders bei den Referenten bedanken, ohne die das Meetup nicht möglich gewesen wäre:

 

  1. Josef Schindler, TerraLoupe: "Large scale 3D geo data analysis"
  2. Abhishek Manandhar, Building Radar: "Satellite Supported Search Engine for Construction Leads"
  3. Christine Wiltawsky, Esri: "What is possible with the ArcGIS JavaScript API 4.0"

 

Besonderes Highlight Gestern: Unsere Freunde von Geoawesomeness übertrugen das Meetup live auf Periscope. Hierdurch kamen nicht nur die rund 30 Anwesende vor Ort in den Genuß der Vorträge. Vielmehr hatten wir weltweit über 200 virtuelle Teilnehmer, die uns live auf Twitter folgten :-) Ihr wollte Euch das noch mal anschauen? Bitte sehr: Geoawesomeness on Periscope: "#GeoDev#Meetup #Munich"

 

Das nächste Meetup findet am 28.9.2016 in München statt. Weitere Infos findet Ihr hier: GeoDev Meetup #3 2016.

 

Arbeitet Ihr an einem spannenden Projekt, entwickelt Ihr eine coole Lösung? Dann stellt Eure Arbeit doch beim nächsten mal vor. Wir würden uns freuen. Schickt hierzu einfach eine Email mit Titel, Referent und Abstract an l.schmitz@esri.de.

 

Ich freue mich auf ein Wiedersehen mit hoffentlich vielen bekannten und neuen Gesichtern.

Lars Schmitz

 

 

PS: Hier noch ein paar Erinnerungsfotos...

 

IMG_20160629_184446.jpgIMG_20160629_190311.jpgIMG_20160629_190511.jpg

IMG_20160629_191546.jpg

IMG_20160629_193919.jpg

IMG_20160629_195005.jpg

Mit AppStudio for ArcGIS muss eine App nur einmal erstellt werden und kann dann ganz einfach als native Apps für Android, iOS, Linux, OS X oder Windows bereitgestellt werden. Diese Apps können innerhalb der Organisation freigegeben oder in den gängigen App-Stores der Öffentlichkeit zur Verfügung gestellt werden. Mit der Web-Variante des AppStudios können Apps sehr einfach mit ready-to-use Templates konfiguriert werden. Mit der Desktop-Variante können Entwickler die Templates an eigene Bedürfnisse anpassen oder „from scratch“ vollständig eigene erstellen. Mit dem AppStudio erstellte Apps basieren auf dem ArcGIS Runtime SDK for Qt/QML.

 

AppStudio for ArcGIS 1.2 beinhaltet neue Funktionalität und es wurden die AppStudio Templates, die Webseite, die Desktop-Entwicklerwerkzeuge und der AppStudio Player aktualisiert.

Die Highlights sind:

 

  • Unterstützung für Portal for ArcGIS

AppStudio Apps können jetzt auch in Portal for ArcGIS (on-premises) verwaltet werden. Mit dem AppStudio Player kann auf Portal for ArcGIS zugegriffen werden.

 

  • Neue AppConsole für Debugging

Mit diesem Werkzeug können Entwickler Software Messages loggen und somit sehen, was intern in der App passiert. Es können auch Logging-Daten von Geräten im gleichen Netzwerk empfangen werden.

 

AppStuddio_Console.png

 

  • Verbesserungen und Bug Fixes der AppStudio Templates

Beispielsweise kann im Map Tour Template nun die OSM Basemap genutzt werden und Fotos werden besser dargestellt.

 

Weitere Infos dazu gibt es hier.


Soeben ist auf unserer Lernplattform Learn ArcGIS das Buch The ArcGIS Imagery Book erschienen. Hierbei handelt es sich um ein interaktives PDF, das den Leser in 9 kurzweiligen Kapiteln in die Fernerkundung einführt.

 

  1. Imagery Is Visible Intelligence
  2. The Nature Of Remote Sensing
  3. Defining Imagery
  4. Perceiving The Imperceiptable
  5. Turning Imagery Into Information
  6. Creating Mirror Worlds
  7. Imagery In The 4th Dimension
  8. The Ultimate Big Data
  9. The Future Is Now

 

Das Buch ist frei verfügbar und kann entweder online gelesen oder heruntergeladen werden.

 

Zurzeit gibt es zwei nebeneinander existierende Versionen der ArcGIS API for JavaScript. Einerseits die schon länger bestehende 3.xx API, welche nun mit der Version 3.17 ein neues Update bekommen hat, - und die erst vor kurzem veröffentlichte neue Generation 4. Beide APIs werden funktional weiterentwickelt und unterstützt. Es gibt zwei Gründe, warum beide APIs parallel weiterführt werden. Erstens, die 4.xx API ist aufgrund einer grundlegend überarbeiteten Architektur nicht mehr kompatibel zu den Vorgängerversionen und zweitens, die neue 4.xx API enthält noch nicht alle Funktionen der 3.xx API. Das bedeutet für Entwickler, dass sie sich momentan für eine der APIs entscheiden müssen. Für die richtige Wahl hilft dabei eine Entscheidungsmatrix.

 

Neu in der ArcGIS API for JavaScript 3.17 sind neben einigen Bugfixes und kleineren Verbesserungen folgende Highlights:

 

  • Smart Mapping: Datums-basierte Visualisierung

Smart Mapping sind coole Werkzeuge auf ArcGIS Online/Portal zur Visualisierung von Karten. Mit Datums-basierter Visualisierung können Karten durch Datumsattribute in Features entsprechend farblich oder in der Transparenz angepasst werden.

 

smartmapping-date.png

 

  • Verbesserung von Feature-Tables

Es werden nun Attachements unterstützt, es können mehr Informationen angezeigt werden und es gibt nun mehr Optionen für Entwickler zum Anpassen von Feature-Tables.

 

featuretable-attachments.png

 

  • Verbesserter OGC Support

     Es wurden mehr Möglichkeiten zur Visualisierung von WMS- und WFS Layer implementiert.

 

Eine Vollständige Liste aller Änderungen gibt es hier.


Am 12.6. bin ich der Einladung von 12min.me Hamburg gefolgt, um dort einen Kurzvortrag zum Thema "Working With Startups: Innovations in Mapping" zu geben. Ich muss sagen, dass mir das Event sehr gut gefallen hat. Mit rund 160 Teilnehmern war das Meetup sehr gut besucht, die Teilnehmer waren durch die Bank aufgeschlossen und interessiert. So soll es sein :-)

 

In meinem Vortrag habe ich das Esri Startup Program und seine Bedeutung für Esri vorgestellt. Anhand von 5 Mitgliedern des Programms habe ich gezeigt, in welcher Breite GIS heute erfolgreich eingesetzt werden kann. Konkret habe ich folgende Startups vorgestellt:

  1. NavVis, Indoor mapping and navigation
  2. Building Radar, Search engine for construction projects
  3. Mobalo, Local Smartphone advertising
  4. greenspin, Satelite-based smart farming
  5. Conias Risk, Risk Analysis Solutions

 

Mein besonderer Dank gilt Oliver Rößling von Absolute Software GmbH, der als treibende Kraft hinter 12min.me steckt und dies mit sehr viel Leidenschaft vorantreibt.

 

Abschließend möchte ich Euch ein paar Erinnerungsfotos nicht vorenthalten...

 

highres_450911430.jpeg

highres_450923293.jpeg

highres_450923342.jpeg

highres_450923350.jpeg

 

Esri Startup Program

Das Quartz-Release ist die nächste Generation von ArcGIS Runtime mit neuer Architektur, verbesserter Performance und vielen neuen Funktionen. Einen Vorgeschmack darauf gab es schon seit einer Weile mit den ersten Betas für iOS, Android und Java. Nun sind auch für OS X, Windows .NET, Qt und Xamarin öffentliche Quartz-Betas verfügbar. Der Funktionsumfang ist zwischen den SDKs noch unterschiedlich, nicht alles ist überall schon implementiert. Dies ist in den jeweiligen Release-Notes nachzulesen.

 

Schwerpunkte der Quartz Betas sind:

  • Unterstützung vom Online -und Offline Workflows
  • 3D Funktionalität

java_3D.png

2525D_sym1.png

  • Direktes Einbinden von Raster-und KML Dateien
  • Windows 10 Unterstützung

 

Entwickler können sich über ArcGIS for Developers für die Beta-Tests registrieren. Mehr Infos zu den ArcGIS Runtime Quartz SDKs gibt es hier.

 

Quartz.png

     Quartz API Architecture

Am 3.-4. November findet in Berlin das diesjährige WhereCamp statt. Auch dieses Jahr unterstützen wir diese spannende Veranstaltung wieder. Deshalb geben wir gerne den folgenden Call for Participation an Euch weiter. Seid Ihr in einer der u.a. Bereiche tätig? Habt Ihr Interesse, Eure Arbeit im Rahmen eines Vortrages vorzustellen? Dann meldet Euch bis spätestens 21. September an.

 

 

●   Navigation Industry

●   Spatial Data & Components

●   Spatial Probes

●   Navigation Satellite Industry

●   User & location experiences

●   Indoor applications

●   Geo-IoT and Wearable

●   Navigation application

●   Autonomous (e)Vehicles

●   Autonomous (e)Cars

●   Autonomous Drones

●   Smart urban Vehicles

●   Public Transport/Mobility Patterns

●   Logistics with route optimization

In Teil 1 wurden die grundlegende Problematik der Cross-Plattform-Entwicklung und die drei möglichen Lösungsansätze mit Web-, Hybrid- und Nativ-Apps beleuchtet. In diesem 2. Teil geht es um Möglichkeiten der plattformübergreifenden Programmierung von Geo-Apps mit ArcGIS. Esri stellt dazu eine Reihe von Entwicklerwerkzeugen zur Verfügung:

ArcGIS APIs und SDKs für Cross-Plattform-Apps

Das ArcGIS Portfolio beinhaltet eine Reihe von Entwickler-APIs und SDKs zur Erstellung von benutzerdefinierten Geo-Apps für verschiedenste Plattformen und Geräte wie Smartphones, Tablets, Webbrowser und Desktops. Diese Optionen bieten die nötige Flexibilität, um für das jeweilige Client-System die Funktionalität umzusetzen, die genau auf die Anforderungen der Nutzer zugeschnitten ist.

Web-Apps und Hybride-Apps

 

JS_data-driven-3D.png

Die ArcGIS API for JavaScript bietet effiziente Unterstützung beim Erstellen und Bereitstellen von intuitiven mobilen und Web-Apps, bei denen Content und Services von ArcGIS zum Einsatz kommen. Damit lassen sich Apps zum Anzeigen und Bearbeiten von ArcGIS Karten, für den Zugriff auf Feature-Services, zum Geokodieren von Orten und Adressen oder die Verwendung von Geoverarbeitungsservices entwickeln. Diese Anwendungen unterstützen gängige Webbrowser wie Chrome, Firefox, Internet Explorer (7 oder höher), Edge, Safari (3 oder höher) sowie mobile Browser, so dass sie überall und auf verschiedensten Geräten genutzt werden können.

Mit Esri Leaflet, einer leichtgewichtigen Alternative zum ArcGIS API for JavaScript, stellt Esri Open-Source-Werkzeuge zum Einbinden von ArcGIS Services in Leaflet bereit. Leaflet ist eine freie JavaScript Bibliothek für die Darstellung interaktiver Karten in Web-Apps.
Beide Web-APIs können auch zur Erstellung von Hybride-Apps genutzt werden.

Native-Apps

ArcGIS bietet ArcGIS Runtime SDKs für Anwendungs-Frameworks, die bei der plattformübergreifenden Entwicklung zum Einsatz kommen. Dank dieser Optionen genügt es, Apps einmal zu entwickeln und anschließend ganz einfach für verschiedene Plattformen bereitzustellen. Mithilfe dieser ArcGIS Entwicklerwerkzeuge lassen sich Native-Apps erstellen, über die überall und jederzeit auf ArcGIS Inhalte oder Features zugegriffen werden kann. Dabei können gleichzeitig die systemeigenen Funktionen der Geräte wie die integrierte GPS-Software, Kamera, Messaging-Dienste und vieles mehr zum Einsatz kommen. Bei eingeschränkter Internetverbindung können Karten und Daten trotzdem abgerufen oder bearbeitet werden; Änderungen werden später durch Synchronisierung übernommen.

NativeApps.png

Mit dem ArcGIS Runtime SDK for Java können fokussierte Mapping- und Analyseanwendungen für Windows, Linux und mit dem nächsten Major Release (Quartz) auch für Mac OS X erstellt werden. Das SDK beinhaltet Beispielcode und Projektvorlagen, in denen die Implementierung der API demonstriert wird, sowie Best Practices für die Programmierung, um Benutzern den Einstieg zu erleichtern. Für die Anwendungsentwicklung stehen außerdem verschiedene SDK-JARs und ein Eclipse-Plug-In zur Verfügung.

Das ArcGIS Runtime SDK for .NET ermöglicht die Erstellung von ArcGIS Anwendungen für Windows Desktop, Windows RT (Store) und Windows Phone. Dank dem Universal Apps-Konzept von Windows 10 können native Cross-Plattform-Apps erstellt werden, die unabhängig vom Formfaktor auf allen Windows 10-Geräten ausführbar sind.

Das ArcGIS Runtime SDK for Xamarin ist das jüngste Mitglied der ArcGIS Runtime Familie und steht zum Zeitpunkt der Erstellung dieses Blogs als Tech Preview für alle Interessierten zum Download bereit. Mit Xamarin können .NET Entwickler Cross-Plattform-Apps neben Windows auch für iOS und Android erstellen. Dieses ArcGIS Runtime SDK ist eigenständig, basiert aber im Kern auf dem ArcGIS Runtime SDK for .NET.

Mit dem ArcGIS Runtime SDK for Qt/QML lassen sich Cross-Plattform-Apps für Android, iOS, OS X, Windows und Linux entwickeln. Die Apps unterstützen die modulare Bereitstellung d. h. es müssen nur die Teile der Bibliothek gepflegt werden, die für die Apps erforderlich sind.

App Builder für Cross-Plattform-Apps

Mit den APIs und SDKs müssen Apps immer „from scratch“ programmiert oder der Code bei kleinsten Änderungen wieder angefasst werden. Oftmals muss aber nur die Farbe, Beschreibung oder das Logo für ein anderes Unternehmen geändert oder Funktionen der App für verschiedene Anwendungsszenarien aktiviert oder deaktiviert werden. Hierbei bieten sich Template-basierte App Builder an, mit denen Apps ohne jegliches Entwickler-Know-How konfiguriert und erstellt werden können.

Der Web AppBuilder for ArcGIS ist eine sofort verwendbare Anwendung zum Erstellen fokussierter ArcGIS Web-Apps mithilfe von intuitiven Widgets und Werkzeugen. Mit Web AppBuilder for ArcGIS können eigene Apps auf ArcGIS Online oder dem eigenen WebServer gehostet und auf jedem Endgerät genutzt werden. Ebenso lassen sich konfigurierbare Web-App-Vorlagen für die Wiederverwendung und unternehmensweite Nutzung erstellen. Mit dem Web AppBuilder for ArcGIS erstellte Web-Apps können um eigene Funktionen erweitert werden. Das Ganze basiert auf der weiter oben beschriebenen ArcGIS API for JavaScript.

WebAppBuilder.png

Mit dem AppStudio for ArcGIS können native Cross-Plattform-Apps für Android, iOS, Windows, Mac OS X oder Linux konfiguriert und erstellt werden. Mit dem eigenen Branding können die Apps in allen gängigen App Stores veröffentlicht werden, ganz ohne Programmierkenntnisse! AppStudio for ArcGIS bietet eine Reihe von App-Templates. Entwickler können mit Hilfe des ArcGIS Runtime SDK for Qt/QML eigene App-Templates erstellen. Weiterhin bietet AppStudio for ArcGIS für jede Plattform einen AppStudio Player, mit dem sich die App-Templates abspielen lassen. Damit ist es nicht unbedingt nötig, die eigene App zu kompilieren und in die jeweiligen App Stores einzustellen.

AppStudio.jpg

Eine Antwort auf die große Frage: „Was nehme ich denn nun?“ kann leider nicht pauschal gegeben werden. Das Ziel ist es, in der heutigen heterogenen IT-Landschaft mit geringem Entwicklungsaufwand so viele wie möglich zu erreichen. Dabei dürfen Dinge wie Zielgruppe, Performance, Funktionalität und Nutzerfreundlichkeit nicht vernachlässigt werden. Die Frage sollte daher zuerst lauten: „Was will ich erreichen?“. Esri bietet Lösungen für plattformübergreifende Web-, Hybrid- und Nativ-Apps an. Mit den AppBuildern können Entwickler-Workflows vereinfacht und verschlankt werden. Auf ArcGIS for Developers, dem zentralen Einstiegstor für ArcGIS Entwickler, gibt es ausführliche Informationen und Hilfe zu den verschiedenen Werkzeugen. Mit einer kostenlosen Developer Subskription können diese getestet werden.

Die heutige IT-Landschaft ist sehr heterogen. Wir haben es mit verschiedenen Plattformen, Gerätetypen, Formfaktoren, Betriebssystemen und Programmiersprachen zu tun. Einen sehr interessanten Überblick dazu gibt der State of the Developer Nation Q1 2016 Report auf visionmobile.com. Die vollständige Verfügbarkeit einer eigenen App für alle Anwender ist in dieser Landschaft eigentlich nicht mehr realisierbar. Je höher die Verfügbarkeit werden soll, desto teurer wird es oder mehr Kompromisse müssen eingegangen werden.

Um eine optimale Verfügbarkeit für eine mobile Native-App zu erreichen, müsste diese mindestens dreimal! für die momentan dominierenden mobilen Plattformen iOS, Android und Windows Phone entwickelt werden. Das ist teuer. Um Entwicklungskosten zu sparen, könnte sich der Entwickler für weniger Plattformen entscheiden, nur erreicht er dadurch auch weniger Anwender.

Schon an diesem Beispiel wird deutlich, dass in der Planungsphase einer App Konzepte entwickelt werden sollten, um mit geringem Entwicklungsaufwand – und damit geringeren Kosten – eine möglichst hohe Verfügbarkeit von Apps auf verschiedenen Plattformen zu erreichen. Damit sind wir schon beim Thema Cross-Plattform-Entwicklung, eines der wichtigsten Problemstellungen, mit denen sich Entwickler heutzutage auseinandersetzen müssen.

Cross-Plattform-Entwicklung bedeutet, den Code für eine App nur einmal zu entwickeln und diese auf mehreren, meist zueinander inkompatiblen Plattformen auszurollen. Cross-Plattform-Entwicklung bedeutet auch immer, einen Kompromiss zwischen angestrebter Zielgruppe, Entwicklungsaufwand, Nutzererfahrung (UI/UX) und Funktionalität zu finden.

 

Cross_Plattform_1.png

 

Wie in der Grafik zu sehen, gibt es verschiedene Ansätze mit jeweiligen Vor- und Nachteilen für die plattformübergreifende Programmierung. Eine gute Möglichkeit ist sicherlich die Bereitstellung als Web-App. Der Code wird nur einmal geschrieben und gehostet auf einem Webserver. Die Web-App läuft dann im Browser auf nahezu allen aktuellen Geräten. Mit JavaScript/HTML5 können mittlerweile sehr mächtige und performante Anwendungen erstellt werden. Neben dem permanenten Online-Zwang ist die technische Grenze dabei der Browser selbst, der den Zugriff auf viele Sensoren der Geräte, Adressbücher, den gesamten lokalen Speicher usw. nicht zulässt. Beispielsweise lassen sich damit Apps für den Außendienst mit Offline-Nutzung von größeren Datenmengen nicht realisieren.

Im Gegensatz dazu sind Native-Apps speziell auf die jeweilige Plattform zugeschnitten und können somit auf die volle Power der Hardware, UI-Komponenten, Speicher und Funktionalität der Geräte zugreifen. Das wäre der richtige Ansatz für eine mobile App mit Offline-Funktionalität für den Außendienst. Wegen dieser „Spezialisierung“ ist die plattformübergreifende Entwicklung von Native-Apps nur mit speziellen Werkzeugen wie z.B. Qt/QML, Microsoft UWP oder Xamarin möglich. Code von Apps, entwickelt mit den plattformeigenen SDKs, können im Nachgang nicht mehr cross-plattform-fähig gemacht werden. Das sollte also vorher gut überlegt werden.

Hybride-Apps sind ein Mittelweg zwischen beiden Möglichkeiten. Mit Frameworks wie PhoneGap oder Titanium Appcelerator u.ä. kann JavaScript-Code zu Native-Apps für verschiedene Plattformen kompiliert, und damit die Grenzen des Browsers überwunden werden. Hybride-Apps sehen zwar aus und fühlen sich an wie Web-Apps, sie können aber auf mehr Ressourcen der Geräte zugreifen.

Das Entwickeln von Geo-Apps mit Esri Technologie ist von dieser Problematik natürlich nicht ausgenommen. In Teil 2 dieses Blogs werden Lösungen und Werkzeuge für ArcGIS Entwickler für die Cross-Plattform-Entwicklung erläutert.

Filter Blog

By date: By tag: