SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Lesbasesdela
cartographiesurleWeb
(versioncourte)
MathieuLeplatre
@leplatrem
www.makina-corpus.com
Auprogramme...
●
Fondementsdelacartographie (projections,basededonnées)
●
Anatomied'unecartesurleWeb(Leaflet)
●
Architecturepourlacartographie (Tuiles,GeoJSON)
●
Questions(…etréponses !)
Donnéesgéographiques
Coordonnées :positionsurlaTerre
●
Longitude(x) – Latitude (y)
●
Degrésdécimaux(-180 +180, -90 +90)→ →
●
GPS
Géodésie :laformedelaTerre
Ellipsoid (GPS,WGS84)
Illustration:http://mapschool.io
Projections
●
Équations (lat/lng pixels)↔
●
Représentationplane ( compromis)→
●
Changementderéférentielspatial
Illustration:http://mapschool.io
Référentielspatial
●
Systèmedecoordonnées(cartésien)
●
Ellipsoïde,géoïde (WGS84)
●
Axesmajeurs(équateur,Greenwich)
●
Unité(degrés,mètres)
●
…
●
Conique, cylindrique,conforme,...
→WGS84(GPS,EPSG :4326)
→Mercatorcylindrique(Google,EPSG :3857)
Données«vecteur»
●
Point(x,y,z)
●
Ligne(listeordonnéedepoints)
●
Polygone(enveloppe+trous)
Illustration:http://mapschool.io
Données« raster »
●
~Images
●
Fondsdecarte(satellite,plan,…)
●
Donnéesd'élévation
Illustration:http://mapschool.io
BasededonnéesPostGIS
●
Typedecolonnes(Point,LineString,Polygon...)
●
Fonctionsgéographiques (distance,surface,emprises...)
●
Indexesspatiaux(arbresderectangles...)
$ sudo apt-get install postgis
$ psql -d mabase
> CREATE EXTENSION postgis;
Exemple (1/2)
CREATE TABLE bureau_vote (
commune VARCHAR(128),
numero INTEGER,
geom geometry(Polygon, 4326)
)
Table classique
Attributs
Colonne
géométrie
vecteur
Type de géométrie Référentiel
spatial
UnecartesurleWeb
UnepageWeb
●
DocumentHTML(DOM)
●
Ressources(images)
●
JavaScript(codenavigateur)
●
CSS(apparence)
UnepageWebmoderne
●
SVG(vecteur)
●
Canvas(raster)
●
CSS3(animations)
●
JSON(données)
●
JavaScript(interactions)
●
« Mobilefirst »
→Navigateurmoderne(<3ans)
ScalableVectorGraphics
●
DérivédeXML
●
Résolutioninfinie
●
Interprétéparlenavigateur (DOM)
●
Événements(survol,clic...)
●
Détails volume→
→Exemples http://d3js.org
Illustration:LogoParcsNationauxdeFrance
Canvas
●
Zonededessin(pinceaux,JavaScript)
●
Universel (2D,3D,images,...)
●
Pasinterprété(<canvas>)
●
Pasd'événementsDOM
→Exemples
http://babylonjs.com
http://ol3js.org
Geotrek
rando !
CSS3
●
Feuilledestyle(apparence,thème)
●
Interprétéparlenavigateur
●
Transitions(apparition,...)
●
Animations(rotations,...)
●
Effets3D(perspectives,...)
→Exemples
MozillaDemoStudio
Bibliothèquecartographique
<script src="leaflet.js"></script>
<link rel="stylesheet" href="leaflet.css" />
<div id="carte"></div>
<script>
var map = L.map('carte')
.fitWorld();
L.tileLayer('http://tile.osm.org/{z}/{x}/{y}.png')
.addTo(map);
L.marker([51.5, -0.09])
.addTo(map);
</script>
http://leafletjs.com
Anatomied'unecarte...
●
→JS+DOM
●
Initialisation=remplissage<div>
●
<img> (Fondsdecarte)
●
Lat/Long pixels→ (SVG,CSS)
●
Vecteur SVG→
●
Événements (interactions)
Exemplesetdevinettes
●
http://municipalestoulouse2014.makina-corpus.com/
●
http://dessine-moi-une-ville.makina-corpus.net/
●
http://leaflet.github.io/Leaflet.heat/demo/
●
http://leplatrem.github.io/Leaflet.gribouille/
●
http://ol3js.org/en/master/examples/animation.html
●
http://danzel.github.io/Leaflet.utfgrid/example/map.html
●
http://bl.ocks.org/nrenner/raw/8184978
●
http://rbspd3.herokuapp.com/
●
http://forecast.io/
Architecturepourlacartographie
Lenavigateur
●
Téléchargement(page,bibliothèques…)
●
Initialisationdelacarte(emprise,couches)
●
Obtentiondesdonnées(vecteur+raster)
---optionel---
●
Rendudesdonnées(géométrie+style tracé)→
Leserveur
●
Servirdesfichiers(application+données)
---optionel---
●
ExécutiondesrequêtesPostGIS (filtrage,attributs,…)
●
Formatagedesrésultats (XML,JSON,…)
●
Rendudesdonnées(géométrie+style tracé)→
« Laclassique »
ServeursWeb Navigateur
PostGIS Python
Moteur
Rendu
Vecteur
Tuiles
FondsFichiers
« Laclassique »
ServeursWeb Navigateur
PostGIS Python
Moteur
Rendu
Vecteur
Tuiles
FondsFichiers
Apache, Nginx...
Django, TileStache...
Mapnik, QGisServer...
Leaflet,
Openlayers3...
Formats(1/2)
●
Imagesraster(PNGouJPG)
●
z/x/y.png
●
WMTS
●
ProjectionEPSG:3857(Google)
→Donnéesfixes
(fournisseur)
…→ oudynamiques
(moteurderendu)
Arborescence
de fichiers !
Formats(2/2)
●
GeoJSONpourlesdonnéesvecteurs
●
ProjectionEPSG:4326(WGS84)
●
Interactivité ?
●
Volume ?
●
Fréquence ?
→Dynamique
(python,PHP,Java…)
SELECT
ST_AsGeoJSON(geom)
FROM ...
Toutlemondepeutfairedelacartographie...
Lacartographie,c'estsimple.
●
Justeuntypededonnéesspécial
●
LibJS représentationsexy→
●
Pasoupeudecode
Illustration:ChefGusteau,PixarInc.
…aveclesbonsoutilsetcompromis !
Lacartographie,c'estcompliqué.
●
Performance(Web)
●
Volumétrie(précision)
●
Fréquencederafraîchissement (cache)
●
Besointrop éloignédesdonnées(malstructurées)
●
INSPIRE(quandl'interopérabilitéempêche l'opérabilité)
Illustration:AntonEgo,PixarInc.
●
TopoJSON
●
Mapnik
●
UTFGrid
●
Protobuf
●
VectorTiles
●
MBTiles
●
Clustering
●
MapServer
●
QGisServer
●
…
→Besoind'experts !
Illustration:F.Bonifas,MakinaCorpus
MakinaCorpus -LogicielsLibres|Cartographie|Mobile
Formations-Développement–Conseil
●
PostGIS -Leaflet–JavaScript
http://makina-corpus.com
Questions ?
...etréponses !

Mais conteúdo relacionado

Mais de Makina Corpus

Happy hacking with Plone
Happy hacking with PloneHappy hacking with Plone
Happy hacking with PloneMakina Corpus
 
Développer des applications mobiles avec phonegap
Développer des applications mobiles avec phonegapDévelopper des applications mobiles avec phonegap
Développer des applications mobiles avec phonegapMakina Corpus
 
Running a Plone product on Substance D
Running a Plone product on Substance DRunning a Plone product on Substance D
Running a Plone product on Substance DMakina Corpus
 
Why CMS will not die
Why CMS will not dieWhy CMS will not die
Why CMS will not dieMakina Corpus
 
Publier vos données sur le Web - Forum TIC de l'ATEN 2014
Publier vos données sur le Web -  Forum TIC de l'ATEN 2014Publier vos données sur le Web -  Forum TIC de l'ATEN 2014
Publier vos données sur le Web - Forum TIC de l'ATEN 2014Makina Corpus
 
Créez votre propre fond de plan à partir de données OSM en utilisant TileMill
Créez votre propre fond de plan à partir de données OSM en utilisant TileMillCréez votre propre fond de plan à partir de données OSM en utilisant TileMill
Créez votre propre fond de plan à partir de données OSM en utilisant TileMillMakina Corpus
 
Team up Django and Web mapping - DjangoCon Europe 2014
Team up Django and Web mapping - DjangoCon Europe 2014Team up Django and Web mapping - DjangoCon Europe 2014
Team up Django and Web mapping - DjangoCon Europe 2014Makina Corpus
 
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...Makina Corpus
 
CoDe, le programme de développement d'applications mobiles de Makina Corpus
CoDe, le programme de développement d'applications mobiles de Makina Corpus CoDe, le programme de développement d'applications mobiles de Makina Corpus
CoDe, le programme de développement d'applications mobiles de Makina Corpus Makina Corpus
 
Petit déjeuner "Alternatives libres à GoogleMaps" du 11 février 2014 - Nantes...
Petit déjeuner "Alternatives libres à GoogleMaps" du 11 février 2014 - Nantes...Petit déjeuner "Alternatives libres à GoogleMaps" du 11 février 2014 - Nantes...
Petit déjeuner "Alternatives libres à GoogleMaps" du 11 février 2014 - Nantes...Makina Corpus
 
Petit déjeuner "Les nouveautés de la cartographie en ligne" du 12 décembre
Petit déjeuner "Les nouveautés de la cartographie en ligne" du 12 décembrePetit déjeuner "Les nouveautés de la cartographie en ligne" du 12 décembre
Petit déjeuner "Les nouveautés de la cartographie en ligne" du 12 décembreMakina Corpus
 
Alternatives libres à Google Maps
Alternatives libres à Google MapsAlternatives libres à Google Maps
Alternatives libres à Google MapsMakina Corpus
 
Atelier "Les nouveautés de la cartographie en ligne"
Atelier "Les nouveautés de la cartographie en ligne"Atelier "Les nouveautés de la cartographie en ligne"
Atelier "Les nouveautés de la cartographie en ligne"Makina Corpus
 
Importing Wikipedia in Plone
Importing Wikipedia in PloneImporting Wikipedia in Plone
Importing Wikipedia in PloneMakina Corpus
 
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.Makina Corpus
 
Des cartes d'un autre monde - DjangoCong 2012
Des cartes d'un autre monde - DjangoCong 2012Des cartes d'un autre monde - DjangoCong 2012
Des cartes d'un autre monde - DjangoCong 2012Makina Corpus
 
Solutions libres alternatives à Google Maps
Solutions libres alternatives à Google MapsSolutions libres alternatives à Google Maps
Solutions libres alternatives à Google MapsMakina Corpus
 

Mais de Makina Corpus (19)

Happy hacking with Plone
Happy hacking with PloneHappy hacking with Plone
Happy hacking with Plone
 
Développer des applications mobiles avec phonegap
Développer des applications mobiles avec phonegapDévelopper des applications mobiles avec phonegap
Développer des applications mobiles avec phonegap
 
Running a Plone product on Substance D
Running a Plone product on Substance DRunning a Plone product on Substance D
Running a Plone product on Substance D
 
Why CMS will not die
Why CMS will not dieWhy CMS will not die
Why CMS will not die
 
Publier vos données sur le Web - Forum TIC de l'ATEN 2014
Publier vos données sur le Web -  Forum TIC de l'ATEN 2014Publier vos données sur le Web -  Forum TIC de l'ATEN 2014
Publier vos données sur le Web - Forum TIC de l'ATEN 2014
 
Créez votre propre fond de plan à partir de données OSM en utilisant TileMill
Créez votre propre fond de plan à partir de données OSM en utilisant TileMillCréez votre propre fond de plan à partir de données OSM en utilisant TileMill
Créez votre propre fond de plan à partir de données OSM en utilisant TileMill
 
Team up Django and Web mapping - DjangoCon Europe 2014
Team up Django and Web mapping - DjangoCon Europe 2014Team up Django and Web mapping - DjangoCon Europe 2014
Team up Django and Web mapping - DjangoCon Europe 2014
 
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
Petit déjeuner "Développer sur le cloud, ou comment tout construire à partir ...
 
CoDe, le programme de développement d'applications mobiles de Makina Corpus
CoDe, le programme de développement d'applications mobiles de Makina Corpus CoDe, le programme de développement d'applications mobiles de Makina Corpus
CoDe, le programme de développement d'applications mobiles de Makina Corpus
 
Petit déjeuner "Alternatives libres à GoogleMaps" du 11 février 2014 - Nantes...
Petit déjeuner "Alternatives libres à GoogleMaps" du 11 février 2014 - Nantes...Petit déjeuner "Alternatives libres à GoogleMaps" du 11 février 2014 - Nantes...
Petit déjeuner "Alternatives libres à GoogleMaps" du 11 février 2014 - Nantes...
 
Petit déjeuner "Les nouveautés de la cartographie en ligne" du 12 décembre
Petit déjeuner "Les nouveautés de la cartographie en ligne" du 12 décembrePetit déjeuner "Les nouveautés de la cartographie en ligne" du 12 décembre
Petit déjeuner "Les nouveautés de la cartographie en ligne" du 12 décembre
 
Alternatives libres à Google Maps
Alternatives libres à Google MapsAlternatives libres à Google Maps
Alternatives libres à Google Maps
 
Atelier "Les nouveautés de la cartographie en ligne"
Atelier "Les nouveautés de la cartographie en ligne"Atelier "Les nouveautés de la cartographie en ligne"
Atelier "Les nouveautés de la cartographie en ligne"
 
Importing Wikipedia in Plone
Importing Wikipedia in PloneImporting Wikipedia in Plone
Importing Wikipedia in Plone
 
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
Petit Déjeuner : HTML5 et CSS3, les interfaces de demain.
 
Geotrek
GeotrekGeotrek
Geotrek
 
Plomino
Plomino Plomino
Plomino
 
Des cartes d'un autre monde - DjangoCong 2012
Des cartes d'un autre monde - DjangoCong 2012Des cartes d'un autre monde - DjangoCong 2012
Des cartes d'un autre monde - DjangoCong 2012
 
Solutions libres alternatives à Google Maps
Solutions libres alternatives à Google MapsSolutions libres alternatives à Google Maps
Solutions libres alternatives à Google Maps
 

Petit déjeuner "Les bases de la cartographie sur le Web"