GeoAdmin API & Mobile API, 2012

Preview:

DESCRIPTION

Presentation about the GeoAdmin API's done during the make.opendata.ch event

Citation preview

make.opendata.ch

GeoAdmin API

Cédric Moulletgeo.admin.ch / swisstopo

Picture by floofy

Federal Act on Geoinformation (GeoIG), 1. Juli 2008Art. 1 Aim

This Act has the aim of ensuring that geodata relating to the territory of the Swiss Confederation is made

available for general use to the authorities of the Confederation, the cantons and communes, the private sector, the public and to academic and scientific

institutions in a sustainable, up-to-date, rapid and easy manner, in the required quality and at a

reasonable cost.

Law

Howdid we achieve this

Open Source Software

Picture by ul_Marga

Access not ownership is where all content is going… (Kevin Kelly)

Open Access

Open Standards

Architecture

API Architecture

Data (Tiles / Databases)

GeoServices

API Mobile API

map.geo.adm

in.ch

globe

tsm

revision

are

mobile.geo.adm

in.ch

Free API’s

API Architecture: Geoservices

• REST Services• Geocoding• Reverse geocoding• Feature• Profile• Height

api.geo.admin.ch

http://api.geo.admin.ch/main/wsgi/doc/build/services/sdiservices.htmlhttp://api.geo.admin.ch/main/wsgi/doc/build/services/sdiservices.html#swisssearch-geocodinghttp://api.geo.admin.ch/main/wsgi/doc/build/services/sdiservices.html#swisssearch-reversegeocodinghttp://api.geo.admin.ch/main/wsgi/doc/build/services/sdiservices.html#featurehttp://api.geo.admin.ch/main/wsgi/doc/build/services/sdiservices.html#profile-jsonhttp://api.geo.admin.ch/main/wsgi/doc/build/services/sdiservices.html#height

API Architecture: API

OpenLayers ExtJS 3.4

GeoExt

GeoAdmin API

<script type="text/javascript"> function init() { var api = new GeoAdmin.API(); api.createMap({ div: "mymap1" }); }</script><body onload="init();"> <div id="mymap1" style="width:500px;height:340px;border:1px solid grey;padding: 0 0 0 0;margin:10px !important;"></div> <script type="text/javascript" src="http://api.geo.admin.ch/loader.js"></script></body>

Javascript

API Architecture: Mobile API

OpenLayers Sencha Touch

GeoExt Mobile (GXM)

GeoAdmin Mobile API

Ext.setup({ onReady: function(){ m = new GeoAdminMobile.Map({handedness: 'right', contextinfo: true, featureinfo: true }); var wmts2 = GeoAdmin.layers.buildLayerByName

("ch.bfs.gebaeude_wohnungs_register", {isBaseLayer: false});

m.map.addLayers([wmts2]); } });

Javascript

Mashups ?Feel free !

• Permalink (WMS – KML (doc) - Address)• StreetView• GeoCoder• Routing• GoogleEarth• GPX• REST API• All the power of OpenLayers and ExtJShttp://map.geo.admin.ch/?Y=539275&X=182725&zoom=7&bgLayer=ch.swisstopo.pixelkarte-farbe&layers=WMS%7C%7COrthophoto%20Yverdon%20banquise%20(22.02.2012)%7C%7Chttp://ogc.heig-vd.ch/mapserver/wms?%7C%7Cr-pod_yverdon_banquise-2&layers_opacity=1http://map.geo.admin.ch/?Y=541750&X=163000&zoom=5&bgLayer=ch.swisstopo.pixelkarte-farbe&layers=KML%7C%7Chttps://docs.google.com/uc?id=0B_gmqEgDEiu5OGY0MDhmNmYtNTA5YS00MzVlLWI4ZWUtMzc1NzU4ZjU3NmM3&layers_opacity=1&layers_visibility=truehttp://www.geo.admin.ch/internet/geoportal/fr/commons/help/viewer_help.html#parsys_95922http://map.geo.admin.ch/?swisssearch=berges%2037%20payernehttp://api.geo.admin.ch/main/wsgi/doc/build/api/streetview.htmlhttp://api.geo.admin.ch/main/wsgi/doc/build/api/geocoder.htmlhttp://api.geo.admin.ch/main/wsgi/doc/build/api/routing.htmlhttp://sitn.ne.ch/http://api.geo.admin.ch/main/wsgi/doc/build/api/sdiapiexamples4.htmlhttp://api.geo.admin.ch/main/wsgi/doc/build/services/sdiservices.htmlhttp://www.openlayers.org/http://www.sencha.com/products/extjs/

Tips and tricks

• Develop with localhost• Use the mailing lists• Always test on IE ;-)• Use Google Chrome for mobile development (mobile=true)• You need the source code ? Just ask !

• All stations http://www.bav.admin.ch/dokumentation/publikationen/00475/01497/index.html?lang=fr

• Hiking trailshttp://map.geo.admin.ch/?Y=660000&X=190000&zoom=1&bgLayer=ch.swisstopo.pixelkarte-farbe&layers=ch.swisstopo.vec25-wander&layers_opacity=1&layers_visibility=true&lang=en

• Road networkhttp://map.geo.admin.ch/?Y=660000&X=190000&zoom=1&bgLayer=ch.swisstopo.pixelkarte-farbe&layers=ch.swisstopo.vec25-strassennetz&layers_opacity=1&layers_visibility=true&lang=en

• Historical routeshttp://map.geo.admin.ch/?Y=660000&X=190000&zoom=1&bgLayer=ch.swisstopo.pixelkarte-farbe&layers=ch.astra.ivs-reg_loc&layers_opacity=1&layers_visibility=true&lang=en

• Traffic counting stations (see tooltips)

Good luck

MobileTechnology

Mobile App

Mobile Website

Why HTML5 ?

• Not proprietary• No browser dependence• Advanced functions within browser• Standardardized API: Geolocation – Canvas –

Appcache - etc..

HTML5 test: http://html5test.com/

http://www.html5rocks.com/

Perspective

Perspective ?

• 3D: WebGL• 4D: Historical data view• Offline

Thanks cloud !

..and it works! some awards:

Picture by swisstopo

Thank you for your attention and welcome to www.geo.admin.ch