SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
NGEO – OpenLayers meets Angular
Roman Zoller
2/21www.camptocamp.com /
OpenLayers – Übersicht
■ Open Source JavaScript-Bibliothek für die Anzeige von Karten
(Rasterdaten in Kacheln)
■ Features
○ Vektorlayer in diversen Formaten
○ Mobile Browser
○ Rendering: Canvas und WebGL
○ Plugins
3/21www.camptocamp.com /
OpenLayers – Beispiel
<div id="map"></div>
<script>
new ol.Map({
layers: [
new ol.layer.Tile({source: new ol.source.OSM()})
],
view: new ol.View({
center: [0, 0],
zoom: 2
}),
target: 'map'
});
</script>
Quelle: http://openlayers.org/en/latest/doc/tutorials/concepts.html
4/21www.camptocamp.com /
OpenLayers – Beispiel
5/21www.camptocamp.com /
AngularJS – Übersicht
■ Beliebtes Framework für Single-Page-Webanwendungen
■ Model-View-ViewModel (MVVM, Variante von MVC)
■ Version 1: https://angularjs.org/
■ Aktuelle Version: https://angular.io/
6/21www.camptocamp.com /
AngularJS – Beispiel
■ Zwei-Wege-Datenbindung
<html ng-app>
<input type="text" ng-model="search">
<p>Du suchst gerade nach: {{ search }}</p>
Quelle: https://angularjs.de/artikel/angularjs-tutorial-deutsch
Siehe auch: https://stackoverflow.com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background
7/21www.camptocamp.com /
AngularJS – Beispiel
8/21www.camptocamp.com /
Ngeo
■ AngularJS-Integration der wichtigsten OpenLayers-Features
■ Zusatzfunktionen
○ Layer tree
○ Messen, Zeichnen, Höhenprofil
○ Suche mit Autovervollständigung
■ Keine eigenständige Anwendung, sondern eine Bibliothek mit
wiederverwendbaren Bausteinen
■ Kein vorgegebenes Layout (CSS)
9/21www.camptocamp.com /
Ngeo – Beispiel
// HTML
<div ngeo-map="$ctrl.map"></div>
// Controller
this.map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
Quelle: http://camptocamp.github.io/ngeo/master/examples/simple.html
10/21www.camptocamp.com /
Ngeo – Beispiel
11/21www.camptocamp.com /
Ngeo – Layer tree
<div ngeo-layertree="$ctrl.tree"
ngeo-layertree-map="$ctrl.map"
ngeo-layertree-nodelayer="$ctrl.getLayer(node)"></div>
■ ngeo-layertree: Der Layer tree, jeder Knoten hat ein Attribut „name“
(String), optional ein Attribut „children“ (Array von Knoten).
■ ngeo-layertree-map: Referenz auf das OpenLayers map Objekt.
■ ngeo-layertree-nodelayer: Funktion, welche das Layer für einen
bestimmten Knoten zurückgibt.
Dokumentation: https://camptocamp.github.io/ngeo/master/apidoc/ngeo.layertreeDirective.html
Demo: http://camptocamp.github.io/ngeo/master/examples/layertree.html
12/21www.camptocamp.com /
Ngeo – Layer tree
13/21www.camptocamp.com /
Ngeo – Layer tree
14/21www.camptocamp.com /
Ngeo – Interaction
Quelle: https://camptocamp.github.io/ngeo/master/examples/interactionbtngroup.html
15/21www.camptocamp.com /
Ngeo – Search
Quelle: https://camptocamp.github.io/ngeo/master/examples/search.html
16/21www.camptocamp.com /
Ngeo – Weitere Informationen
■ Code
○ https://github.com/camptocamp/ngeo
■ Dokumentation
○ https://camptocamp.github.io/ngeo/master/apidoc
■ Beispiele
○ https://camptocamp.github.io/ngeo/master/examples
17/21www.camptocamp.com /
Anwendungsbeispiele
■ Geoportal Luxembourg
○ http://map.geoportail.lu/
■ GeoMapFish
○ http://geomapfish.org/ => Links zu diversen Anwendungen
18/21www.camptocamp.com /
Geoportal Luxembourg
19/21www.camptocamp.com /
GeoMapFish
http://geomapfish.org/
20/21www.camptocamp.com /
Ausblick
■ ES6 (aka ES2015)
○ Kompilierung mit Google Closure Compiler
○ ES6 Features werden schrittweise eingeführt
○ ES6 Module in Arbeit
- Einbindung von Teilen von Ngeo ohne Verwendung von Closure Compiler
■ Angular 2 / Typescript
○ Evtl. später
NGEO – OpenLayers meets Angular

Mais conteúdo relacionado

Destaque (7)

Dal gusto
Dal gusto Dal gusto
Dal gusto
 
Media sosial dan relationship
Media sosial dan relationshipMedia sosial dan relationship
Media sosial dan relationship
 
Cartes OACI
Cartes OACICartes OACI
Cartes OACI
 
Effective safety committee operations
Effective safety committee operationsEffective safety committee operations
Effective safety committee operations
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
 
6 Panel Comic Book Page
6 Panel Comic Book Page6 Panel Comic Book Page
6 Panel Comic Book Page
 
5ª aula
5ª aula5ª aula
5ª aula
 

Semelhante a NGEO – OpenLayers meets Angular

WebGL für Geospatial
WebGL für GeospatialWebGL für Geospatial
WebGL für GeospatialCamptocamp
 
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJSWebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJSOliver Hader
 
JavaServer Faces 2.2 (Herbstcampus 2013)
JavaServer Faces 2.2 (Herbstcampus 2013)JavaServer Faces 2.2 (Herbstcampus 2013)
JavaServer Faces 2.2 (Herbstcampus 2013)Michael Kurz
 
HTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
HTML5 abwärtskompatibel - Gerätevielfalt & ZugänglichkeitHTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
HTML5 abwärtskompatibel - Gerätevielfalt & ZugänglichkeitJonathan Weiß
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreGregor Biswanger
 
OKLab Leipzig (2019 Update)
OKLab Leipzig (2019 Update)OKLab Leipzig (2019 Update)
OKLab Leipzig (2019 Update)joergreichert
 
OpenLayers 3 Alpha - Introduction - 2013
OpenLayers 3 Alpha - Introduction - 2013OpenLayers 3 Alpha - Introduction - 2013
OpenLayers 3 Alpha - Introduction - 2013Moullet
 
Abschlussprasi Grs Geobrowser Wms
Abschlussprasi Grs Geobrowser WmsAbschlussprasi Grs Geobrowser Wms
Abschlussprasi Grs Geobrowser WmsJohannes Brötz
 
openFrameworks workshops_07122013_erst
openFrameworks workshops_07122013_erstopenFrameworks workshops_07122013_erst
openFrameworks workshops_07122013_erstJeongHo Park
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkQAware GmbH
 
Lehmanns Rails Erweitern
Lehmanns Rails ErweiternLehmanns Rails Erweitern
Lehmanns Rails Erweiternjan_mindmatters
 
Eine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishEine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishArnulf Christl
 
Rhomobile
RhomobileRhomobile
RhomobileJan Ow
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurtdasjo
 
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-AppSlides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-AppDigicomp Academy AG
 

Semelhante a NGEO – OpenLayers meets Angular (20)

WebGL für Geospatial
WebGL für GeospatialWebGL für Geospatial
WebGL für Geospatial
 
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJSWebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
JavaServer Faces 2.2 (Herbstcampus 2013)
JavaServer Faces 2.2 (Herbstcampus 2013)JavaServer Faces 2.2 (Herbstcampus 2013)
JavaServer Faces 2.2 (Herbstcampus 2013)
 
HTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
HTML5 abwärtskompatibel - Gerätevielfalt & ZugänglichkeitHTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
HTML5 abwärtskompatibel - Gerätevielfalt & Zugänglichkeit
 
JavaMagazin - AngularJS
JavaMagazin - AngularJSJavaMagazin - AngularJS
JavaMagazin - AngularJS
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
 
OKLab Leipzig (2019 Update)
OKLab Leipzig (2019 Update)OKLab Leipzig (2019 Update)
OKLab Leipzig (2019 Update)
 
OpenLayers 3 Alpha - Introduction - 2013
OpenLayers 3 Alpha - Introduction - 2013OpenLayers 3 Alpha - Introduction - 2013
OpenLayers 3 Alpha - Introduction - 2013
 
Best Practices 
Java und JVM in Containern
Best Practices 
Java und JVM in ContainernBest Practices 
Java und JVM in Containern
Best Practices 
Java und JVM in Containern
 
Abschlussprasi Grs Geobrowser Wms
Abschlussprasi Grs Geobrowser WmsAbschlussprasi Grs Geobrowser Wms
Abschlussprasi Grs Geobrowser Wms
 
openFrameworks workshops_07122013_erst
openFrameworks workshops_07122013_erstopenFrameworks workshops_07122013_erst
openFrameworks workshops_07122013_erst
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with Spark
 
Lehmanns Rails Erweitern
Lehmanns Rails ErweiternLehmanns Rails Erweitern
Lehmanns Rails Erweitern
 
Eine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishEine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFish
 
AngularJs
AngularJsAngularJs
AngularJs
 
Rhomobile
RhomobileRhomobile
Rhomobile
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurt
 
Einführung in YAML4
Einführung in YAML4Einführung in YAML4
Einführung in YAML4
 
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-AppSlides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-App
 

Mais de Camptocamp

ERP et customisation : comment éviter l’usine à gaz ?
ERP et customisation : comment éviter l’usine à gaz ?ERP et customisation : comment éviter l’usine à gaz ?
ERP et customisation : comment éviter l’usine à gaz ?Camptocamp
 
10 points-clés incontournables pour réussir votre projet ERP
10 points-clés incontournables pour réussir votre projet ERP10 points-clés incontournables pour réussir votre projet ERP
10 points-clés incontournables pour réussir votre projet ERPCamptocamp
 
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...Camptocamp
 
Geo mapfish 2_foss4g-eu_2017
Geo mapfish 2_foss4g-eu_2017Geo mapfish 2_foss4g-eu_2017
Geo mapfish 2_foss4g-eu_2017Camptocamp
 
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017Camptocamp
 
Data processing qgis3_foss4g-eu_2017
Data processing qgis3_foss4g-eu_2017Data processing qgis3_foss4g-eu_2017
Data processing qgis3_foss4g-eu_2017Camptocamp
 
AGIT 2017: GeoMapFish_2.2, the open source WebGIS
AGIT 2017: GeoMapFish_2.2, the open source WebGISAGIT 2017: GeoMapFish_2.2, the open source WebGIS
AGIT 2017: GeoMapFish_2.2, the open source WebGISCamptocamp
 
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map EngineAGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map EngineCamptocamp
 
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDIAGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDICamptocamp
 
[Geocom2017] geOrchestra and ngeo
[Geocom2017] geOrchestra and ngeo[Geocom2017] geOrchestra and ngeo
[Geocom2017] geOrchestra and ngeoCamptocamp
 
[Geocom2017] Georchestra & monitoring
[Geocom2017] Georchestra & monitoring[Geocom2017] Georchestra & monitoring
[Geocom2017] Georchestra & monitoringCamptocamp
 
MapFish Print 3
MapFish Print 3MapFish Print 3
MapFish Print 3Camptocamp
 
georchestra SDI: Project Status Report
georchestra SDI: Project Status Reportgeorchestra SDI: Project Status Report
georchestra SDI: Project Status ReportCamptocamp
 
GeoMapFish, the Open Source WebGIS
GeoMapFish, the Open Source WebGISGeoMapFish, the Open Source WebGIS
GeoMapFish, the Open Source WebGISCamptocamp
 
Présentation GeoMapFish
Présentation GeoMapFishPrésentation GeoMapFish
Présentation GeoMapFishCamptocamp
 
Une IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & DockerUne IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & DockerCamptocamp
 
geOrchestra, a free, modular and secure SDI
geOrchestra, a free, modular and secure SDIgeOrchestra, a free, modular and secure SDI
geOrchestra, a free, modular and secure SDICamptocamp
 
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)Camptocamp
 
Odoo verticalization for NGO
Odoo verticalization for NGOOdoo verticalization for NGO
Odoo verticalization for NGOCamptocamp
 

Mais de Camptocamp (20)

ERP et customisation : comment éviter l’usine à gaz ?
ERP et customisation : comment éviter l’usine à gaz ?ERP et customisation : comment éviter l’usine à gaz ?
ERP et customisation : comment éviter l’usine à gaz ?
 
10 points-clés incontournables pour réussir votre projet ERP
10 points-clés incontournables pour réussir votre projet ERP10 points-clés incontournables pour réussir votre projet ERP
10 points-clés incontournables pour réussir votre projet ERP
 
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
Topsoft 2017: Praxisbericht: Welche Fehler bei der Implementierung eines ERP-...
 
Geo mapfish 2_foss4g-eu_2017
Geo mapfish 2_foss4g-eu_2017Geo mapfish 2_foss4g-eu_2017
Geo mapfish 2_foss4g-eu_2017
 
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
Ge orchestra open_source_inspire_sdi-project_status_foss4g-eu_2017
 
Data processing qgis3_foss4g-eu_2017
Data processing qgis3_foss4g-eu_2017Data processing qgis3_foss4g-eu_2017
Data processing qgis3_foss4g-eu_2017
 
AGIT 2017: GeoMapFish_2.2, the open source WebGIS
AGIT 2017: GeoMapFish_2.2, the open source WebGISAGIT 2017: GeoMapFish_2.2, the open source WebGIS
AGIT 2017: GeoMapFish_2.2, the open source WebGIS
 
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map EngineAGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
AGIT 2017: Cesium 1.35, WebGL Virtual Globe and Map Engine
 
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDIAGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
AGIT 2017: geOrchestra 16.12, the open source INSPIRE SDI
 
[Geocom2017] geOrchestra and ngeo
[Geocom2017] geOrchestra and ngeo[Geocom2017] geOrchestra and ngeo
[Geocom2017] geOrchestra and ngeo
 
[Geocom2017] Georchestra & monitoring
[Geocom2017] Georchestra & monitoring[Geocom2017] Georchestra & monitoring
[Geocom2017] Georchestra & monitoring
 
MapFish Print 3
MapFish Print 3MapFish Print 3
MapFish Print 3
 
georchestra SDI: Project Status Report
georchestra SDI: Project Status Reportgeorchestra SDI: Project Status Report
georchestra SDI: Project Status Report
 
GeoMapFish, the Open Source WebGIS
GeoMapFish, the Open Source WebGISGeoMapFish, the Open Source WebGIS
GeoMapFish, the Open Source WebGIS
 
Présentation GeoMapFish
Présentation GeoMapFishPrésentation GeoMapFish
Présentation GeoMapFish
 
OpenLayers 3
OpenLayers 3OpenLayers 3
OpenLayers 3
 
Une IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & DockerUne IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & Docker
 
geOrchestra, a free, modular and secure SDI
geOrchestra, a free, modular and secure SDIgeOrchestra, a free, modular and secure SDI
geOrchestra, a free, modular and secure SDI
 
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
 
Odoo verticalization for NGO
Odoo verticalization for NGOOdoo verticalization for NGO
Odoo verticalization for NGO
 

NGEO – OpenLayers meets Angular