Fabien Nicollet / @fnicollet / fnicollet@gmail.com flex-tutorial.fr / html5-tutorial.fr



Documents pareils
ArcGIS 10 Christophe Tourret Gaëtan Lavenu

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Responsive Web design, périphériques mobiles et accessibilité

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Conférence SIG 2011 Versailles 5-6 Octobre 2011 Atelier Technique ArcGIS for Server en 10.1

ArcGIS 10.1 for Server

Cartographie et SIG interactifs en ligne Séance 1 : Présentation générale du webmapping : principe et techniques

Université de Toulouse-Le Mirail janvier 2012 Département de Géographie-Aménagement-Environnement Laurent Jégou

ArcGIS Server / 9.4. Gaëtan LAVENU Jean-Marie DULISCOUET

Programmation Web. Madalina Croitoru IUT Montpellier

Les applications webmapping en opensource. 1 Christophe Adriaensen

Perspectives en matière de portails géographiques et de 3D

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Les nouveautés de FME 2014

ArcGIS Server 9.3 Partie 2. Les API d'accès à ArcGIS Server. Thomas DAVID Gaëtan LAVENU

Intégration ESRI - SAP Geo-Enablement de l ERP SAP Exemple : GEO.e. Christophe Lapierre Enrique Yaptenco Professional Services - ESRI Suisse

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Présentation du Framework BootstrapTwitter

Démonstration de la mise en cache via HTML 5 sur iphone

Quand l'open Data profite à OpenStreetMap, quand OpenStreetMap profite aux citoyens et entreprises. Julien Fastré

Séminaire Partenaires Esri France 7-8 juin Paris Les API ArcGIS pour les smartphones

Configuration et optimisation d'arcgis Server Gaëtan LAVENU ESRI France Sylvain BARD-MAÏER ESRI France

Point sur les solutions de développement d apps pour les périphériques mobiles

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Le cloud computing au service des applications cartographiques à haute disponibilité

gvsig: nouveautés version 2.1 et plus

PostGIS, un module de PostgreSQL pour les données spatiales

les techniques d'extraction, les formulaires et intégration dans un site WEB

Mise en place d'une chaîne de production raster multi-échelles

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

Démonstrateur libre Application des données Open Street Map à l analyse géographique de réseaux de voirie et Transports Collectifs

Le Géoportail de la Wallonie

Pierre Racine Professionnel de recherche Centre d étude de la forêt Département des sciences du bois et de la forêt, Université Laval, Québec

Bonnes pratiques de développement JavaScript

La collecte et la gestion des données dans le cadre de la prospection d énergie solaire

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Séminaire Partenaires Esri France 7-8 juin Paris La Road Map ArcGIS

Devenez un véritable développeur web en 3 mois!

Cartographie libre du monde OpenStreetMap

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Pour en expliquer le principe, on se limitera à deux exemples :

Travaux dirigés n 10

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

4D Web 2.0 Pack DATA LIVES HERE. TM. Internet Riche et Solutions Mobiles en toute simplicité. 4D Ajax Framework 4D Ajax for Dreamweaver 4D for Flex

Laurent Jégou novembre 2014 M2 Sigma U351_33 WebMapping. Séance 2 Les systèmes de gestion de bases de données spatiales : L'exemple de PostGIS

Business Intelligence

CONFÉRENCE WEB 2.0. UPDATE ASBL Michaël Barchy 23 janvier 2013

UN SITE WEB RESPONSIVE EN UNE HEURE?

RESPONSIVE WEB DESIGN

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Open Data. Enjeux et perspectives dans les télécommunications

Documentation Administrateur

Formation : WEbMaster

Optimiser pour les appareils mobiles

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

ISTEX-SNU. ISTEX en quelques clics dans votre portail documentaire. Séminaire technique ISTEX 18 mars 2015

SPIP. Gestion de la performance dans SPIP. Préoccupa)on historique

CARTOGRAPHIE EN LIGNE ET GÉNÉRALISATION

opentaxepub Documentation

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Rémi BOVARD Ingénieur BSc HES en géomatique

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?

Nouveautés ArcGIS 10.1 for Server

SQL SERVER 2008, BUSINESS INTELLIGENCE

Responsive Web Design. La Rochelle, Avril 2014

Laurent Jégou 07/12/2012 M2 Sigma

HTML. Google Maps. Approfondir. 3 :HIKONB=^UZ^Z]:?k@l@g@h@a"; Codez une fois, déployez sur Android, ios, Kindle... Smartphones. Matériel.

Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?

Hébergement MMI SEMESTRE 4

GEOTREK, une application opensource pour la gestion et la valorisation des sentiers. Parc national des Ecrins Juin 2014 / Forum TIC de l ATEN

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Géolocalisation. Remy Sharp

Programme TechDay Romandie

De l OpenData aux citoyens : potentiel et limites des plateformes collaboratives

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Dago Oscar Hervé DJAHI

Media queries : gérer différentes zones de visualisation

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

TUTORIEL CartoDB 11/03/15

SOA : une brique de la 4 ième génération de l architecture informatique? Hervé Crespel Président du club urba-ea

PostgreSQL, le cœur d un système critique

Quel logiciel DE CRM choisir pour votre force de vente terrain?

Introduction à la B.I. Avec SQL Server 2008

Programme ASI Développeur

Préconisations Portail clients SIGMA

Comment créer son propre monitoring. (Version simple PHP)

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Galigeo G14: Location Intelligence

Transcription:

Fabien Nicollet / @fnicollet / fnicollet@gmail.com flex-tutorial.fr / html5-tutorial.fr

Intro Cartographie et jargon Démos Tour d horizon CartoDB LeafletJS

Dev chez Business Geografic (Villeurbanne) : développement de progiciels cartographiques (web + mobile) Blogger @ flex-tutorial.fr depuis 2008 Blogger @ html5-tutorial.fr depuis peu Twitter sur @fnicollet

Domaine qui requiert des compétences transversales (de la BDD au web) Diversités des formats de données (fichiers / BDD) Formats propriétaires devenus standards (similaire au PSD) Agrégation de données souvent difficile Volume de données très importants Problématiques des projections

Encore beaucoup d outils clients lourds (par poste) Organismes souvent «emprisonnés» dans des logiques propriétaires (licences) Beaucoup de standards (OGC) Standard souvent non respectés ou adaptés Projection EPSG:900913 / 3857 KML propulsé par Google Maps/Earth pour devenir un standard OGC

http://maptal.es/tales/9#intro

http://viz-carbontool.appspot.com/tool

http://www.protectedplanet.net/

http://haiti.ngoaidmap.org/

Latitude / Longitude (LatLng) Latitude = axe Nord-Sud, Longitude = axe Ouest-Est «Inversé» par rapport au couple (x, y) en maths Emprise / Bounds / LatLngBounds Rectangle défini par 2 LatLng Projection Projection de la terre sur un plan définie par une transformation mathématique Compromis entre côté pratique (respect des distances et de l échelle) et esthétique -> distortions

Boudé à cause du support SVG (plugin) depuis longtemps Retour en force avec l arrivée de technologies comme Canvas Peut grandement réduire les temps de réponse (/10 pour Google Maps Android) Pas une solution magique Données raster Puissance de rendu HTML5 encore faible Difficile à tuiler (connexions) Utile pour solutions hybrides (tooltips)

Formats ECW et TIFF assez populaires Données très lourdes (Go) et difficiles à manipuler sans client lourd Difficile / long à reprojeter Peut être acheté à des organismes comme l IGN -> très cher -> très précieux Une réalité dans le secteur public, la photo aérienne Google Maps étant souvent suffisante pour le privé Peut devenir une grosse contrainte sur un projet et imposer une projection de référence

Traditionnellement sous forme d image WMS (full bounds) Utilisé pour représenter des données statiques Possibilité de mise en cache Démocratisation des systèmes de tuiles grâce à Google Maps Nouveaux standards OGC : WMS-C et TMS Standard, oui mais pas trop Grilles / encryptage propriétaire

Innovation permanente dans le domaine du SIG et de la démocratisation de la carto Techniquement incroyable sur certains points Qualité de la donnée Fonds de plan avec photo aérienne Street View Licence agressives sur certains points Téléchargement de données offline interdit Affichage des logos / copyrights qui empêchent la personalisation API payante pour les sites à gros trafic (> 25K affichages par jour)

«Wikipedia» de la cartographie Communauté active, MAJs régulières (http://goo.gl/s1z2h) Plusieurs sets de données Données «brutes» Rendus précalculés (tuiles) Recherches par adresse (géocodage) POIs (transports, services, ) Possibilité de modifier la symbologie grâce à des services SaaS comme CloudMade ou MapBox Seule vraie solution pour les réfugiés de Google Maps

Se concentrer sur les aspects «cools» du SIG Mélanger sa donnée à de la donnée existante pour lui donner un sens Avoir une carte différente des autres (symbologie) Garder une interaction avec l utilisateur Ne pas se noyer dans une stack technique trop complexe (langages, formats, stockages, APIs, )

CloudMade Map Styles Editor (http://maps.cloudmade.com/editor) Idéale pour débuter

Plus axée «dev» avec solutions logicielles TileMill (http://mapbox.com/tilemill/) Possibilités plus poussées avec langage MSS

«Geodatabase in the cloud», Open Source Solution de stockage (import CSV, KML, PostGIS, ) vers bases PostGIS (extension de Postgres) et API sur Node.js Supporte plus plusieurs millions de points Permet de créer des analyses / thématiques Grâce au CSS nommé Carto (création de classes) API avec requêtes SQL PostGIS

http://www.cartodb.com Données Open Data Rennes http://www.data.rennes-metropole.fr/lesdonnees/catalogue/ SHP (WGS84) Attention aux tables multiples (packages)

Simple #arbres_thabor { marker-fill:#ff6600; marker-line-color:white; marker-line-width:3; marker-opacity:1; marker-line-opacity:1; marker-placement:point; marker-type:ellipse; marker-allow-overlap:true; } Par attribut [drs_tpe='cb']{ marker-fill:red }

Simple intersection SELECT * FROM espaces_verts WHERE ST_Intersects( the_geom, ST_SetSRID('POINT(-1.742 48.096)'::geometry, 4326)) Query by distance http://developers.cartodb.com/gallery/maps/dista nceslider.html#/example SELECT * FROM stations_le_velo_star WHERE ST_Intersects( the_geom, ST_Buffer(ST_SetSRID('POINT(-1.742 48.096)'::geometry, 4326), 0.06))

OpenLayers (http://openlayers.org) Librairie «historique», la plus fonctionnelle Trop lourde pour la plupart des usages A laisser aux pros du SIG Tile 5 (http://www.tile5.org/) Basé sur technos HTML5 (Canvas, WebGL, Raphael, DOM, ). Assez beta Polymaps (http://polymaps.org/) Spécialisée dans le rendu SVG Communauté faible Modest Maps (http://modestmaps.com/) Multiples implémentations (JS, AS3, Py, PHP, C++, Processing, ) Créateurs très bons (Stamen / MapBox) Librairie extensible

API la plus utilisée sur internet pour la création de mashup Maintenant full-html5, même si cela a apporté des régressions (Street View perfs, full screen, ) Difficile d intégrer Google Maps au sein de son API -> plutôt l inverse Fuite de gros poissons (Foursquare, Wikipedia Mobile ) vers d autres fournisseurs suite au business model dévoilé par Google

Projet Open Source (GitHub, 1500 followers) réalisé par CloudMade http://leaflet.cloudmade.com/ La taille c est important: 81Ko minifié 21Ko gzippé (téléchargé) Utilise les fonctionnalités HTML5 / CSS3 A-Grade browser support (dégradation -> IE7) Performances proches du natif sur ios Structure OOP, modulaire et facilement extensible Le nouvel ami des réfugiés de Google Maps (Foursquare, GIS Cloud, Wikipedia Mobile, )

<!DOCTYPE html> <html> <head> <title>leaflet</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="http://code.leafletjs.com/leaflet-0.3.1/leaflet.css" /> <!--[if lte IE 8]> <![endif]--> <link rel="stylesheet" href="http://code.leafletjs.com/leaflet-0.3.1/leaflet.ie.css" /> <script src="http://code.leafletjs.com/leaflet-0.3.1/leaflet.js"></script> </head> <body> <div id="map" style="width: 600px; height: 400px"></div> <script> var map = new L.Map('map'); var cloudmadeurl = 'http://{s}.tile.cloudmade.com/bc9a493b41014caabb98f0471d759707/997/256/{z}/{x}/{y}.png', cloudmadeattribution = 'Map data 2011 OpenStreetMap contributors, Imagery 2011 CloudMade', cloudmade = new L.TileLayer(cloudmadeUrl, {maxzoom: 18, attribution: cloudmadeattribution}); </script> </body> </html> map.setview(new L.LatLng(45.76, 4.84), 11).addLayer(cloudmade);

Full Screen (CSS) body { padding: 0; margin: 0; } html, body, #map { height: 100%; } Désactiver le scrolling de la page <meta name="viewport" content="width=device-width, initialscale=1.0, maximum-scale=1.0, user-scalable=no" /> Un peu de code pour la geolocation Essayez par vous-même: http://goo.gl/kjz6f

Extension à Leaflet (JS + CSS): jquery nécessaire (uniquement pour $.ajax) https://github.com/vizzuality/cartodb-leaflet/ Vos tables doivent être public (normal) Contenu des info-window défini en SQL: infowindow: "SELECT cartodb_id,drs_nom,drs_places FROM {{table_name}} WHERE cartodb_id={{feature}}",