GéoInf17 : Evaluation - rattrapage

Barème : ~ équipondéré.

1) OL3 - fonction de style

Utiliser le code ci-dessous comme point de départ et qui affiche une carte centrée sur la Suisse avec une couche de base de type Bing.

<html>
<head>
<title>ol3 - ExaRattrapage - Swiss votations UEMARS2001</title>
<script type="text/javascript" src="js/config.js"></script>
<script type="text/javascript">
var map;
$(document).ready(function () {
map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.BingMaps({
key: 'AqE05oJsq-bWa50FPOW2S0eQm9Oqqygc1VTi_WPhUIoKR_-jgA559CRbfndgWAIz',
imagerySet: 'CanvasGray'
})
})
]
});
map.getView().setCenter(ol.proj.transform([8.2, 46.8], "EPSG:4326", "EPSG:3857"));
map.getView().setZoom(9);
/* A vous de jouer ...
* - ajouter une couche utilisant le flux votations.geojson fourni
* - ajuster son style selon instructions et illustration
*/
});
</script>
<style type="text/css">
#map {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
</body>
</html>

On vous fournit un flux GeoJSON des districts de Suisse avec quelques attributs dont le champ 'uemars2001' qui contient les résultats d'une votation concernant l'adhésion à l'UE (ce flux a été exporté depuis ce dataset stocké chez Carto.com).

Il s'agit :

d'ajouter une couche de superposition qui utilise ce flux et ensuite d'en adapter le style comme suit

en fonction de la valeur du champ 'uemars2001' et selon illustration on souhaite distinguer les districts qui ont répondu :

NON à l'adhésion à l'UE à moins de 75% (à colorer en vert)

à moins de 80% (en jaune)

à moins de 85% (en orange)

le reste en rouge.

2) CartoCSS - plan de Vevey

Votre collègue, Candide, est parti en congés sans terminer l'habillage cartographique du projet “Vevey map”. Il vous demande de le terminer selon l'illustration ci-dessous et les informations suivantes qu'il a bien voulu vous laisser :

Je te laisse mes accès à mon compte carto.com (login: candid74, pass: geoinf17)

Le projet Vevey map est ici : https://candid74.carto.com/builder/d489f126-6dc6-4c56-8b18-33a3ec175507

Ma carte se compose de 4 couches : waterways, railways, roads et buildings

Actuellement chacune a un style par défaut qui est insuffisant (hormis waterways qui est bien comme ça)

Je souhaite représenter la couche :

railways en trait-tillé

roads en distinguant les routes selon valeur du champ fclass ('primary' en orange, 'secondary' en rose et 'tertiary', 'residential', 'pedestrian' en gris)

buildings en distinguant les batiments selon valeur du champ type comme suit : les entités qui portent une valeur pour ce champ (ex. 'church', 'train_station', etc) sont en rouge, et tous les autres batiments en gris

Rappel : dans le fichier de style g4districts.mss de l'exemple Ex4E_2.html du cours nous avons utilisé quelque-chose de très pratique qui peut être utile ici.

Quelles sont les instructions CartoCSS pour chaque couche et qui répondent à ces souhaits en produisant le résultat illustré ci-dessous ?

3) Un peu de SQL Spatial

Avec le compte de votre collègue Candide vous avez accès à la géotable https://candid74.carto.com/dataset/montest

Cette géotable a été créée avec les instructions SQL suivantes :

INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('POINT(6.64763 46.78106)', 4326), 'pieton1', 'Simon');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('POINT(6.64465 46.78159)', 4326), 'pieton2', 'Henri');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('POINT(6.64890 46.77856)', 4326), 'pieton3', 'Adonaldo');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('POINT(6.64764 46.78042)', 4326), 'pieton4', 'Paula');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('LINESTRING(6.64547 46.78299,6.65159 46.78078)', 4326), 'route1', 'De la patinoire au badminton');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('LINESTRING(6.64841 46.77851,6.65108 46.78337)', 4326), 'route2', 'De la plage vers le Sud');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('LINESTRING(6.64734 46.78504,6.64431 46.78126)', 4326), 'route3', 'Rue des Pêcheurs');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('LINESTRING(6.64720 46.78514,6.65107 46.78337,6.65201 46.78296,6.65279 46.78284,6.65314 46.78282,6.65314 46.78282)', 4326), 'route4', 'Route des Iris');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('LINESTRING(6.65142 46.78363,6.65248 46.78392,6.65495 46.77952,6.65495 46.77952,6.65495 46.77952)', 4326), 'route5', 'Chemin de Grève');
INSERT INTO montest (the_geom, name, description) VALUES (ST_GeometryFromText('POLYGON((6.64359 46.78883,6.64372 46.78788,6.64426 46.78729,6.64524 46.78664,6.64567 46.78633,6.64651 46.78572,6.64713 46.78538,6.64743 46.78513,6.64782 46.78444,6.64842 46.78388,6.64904 46.78328,6.64932 46.78309,6.64977 46.78291,6.65037 46.78273,6.65121 46.78253,6.65222 46.782,6.65316 46.78279,6.65378 46.78309,6.65458 46.78354,6.65518 46.78407,6.65582 46.78472,6.65597 46.78560,6.65597 46.78560,6.65597 46.78560,6.65597 46.78560,6.65597 46.78560,6.64359 46.78883))', 4326), 'zone1', 'Zone inondable');

Il s'agit de répondre au questions suivantes, en utilisant la console SQL quand c'est pertinent :

A chaque appel de la fonction ST_GeometryFromText des instructions SQL ci-dessus est associé au second paramètre la valeur 4326. A quoi ce paramètre sert-il pour cette fonction ?

Quelles sont les localisations des piétons exprimées en coordonnées selon le système de référence spatial Suisse (EPSG:21781) ? - ST_Transform

Quelles sont les routes concernées par une possible innondation de la zone1 ? - ST_Intersects

Quelle est la distance moyenne entre tous les piétons ? - ST_Distance

La visualisation ci-dessous peut être utile pour vérifier le résultat de vos requêtes.