top of page

Open Street Map

Voilà ce qui apparait en utilisant nos deux #Pollubikes

Premier bilan des travaux avec Open Street Map :

dimanche 15 septembre 2019

Voici ce qu'on a réussi à faire :

  • Intégrer la carte dans un cadre;

  • Ajouter des marqueurs basiques pointant des cordonnées GPS précises (comme dans grandes villes par exemple);

  • Intégrer la carte en mode Satellite/Plan;

  • Intégrer des popups lorsque l'on clique sur marqueurs/cercles créés;

  • Possibilité d'ajouter manuellement un cercle sur la carte en précisant des cordonnées GPS précises (latitude, longitude);

  • Ainsi qu'un dégradé de couleur des cercles en fonction des valeurs du PM10 (données par l'utilisateur pour le moment).

     Pour le moment, à chaque fois que l'on actualise la carte, les cercles ajoutés par l'utilisateur ne sont pas sauvegardés, de plus il y a un certain bug lorsqu'on alterne la vue satellite/plan, et cela vient probablement du fait que les deux types de cartes se chargent en même temps, ce qui peut créer des légers bugs graphiques.

Nous n'avons pas encore travaillés en PHP/MySQL pour intégrer des points ayant des cordonnées celles contenues dans une base de données..

Pour repérer les positions du Pollubike, la première idée est d'utiliser Google map.

Problème il faudra payer, d'où l'idée d'utiliser un produit collaboratif : Open Street Map.

Type de site : Collaborative mapping

Description : Service collaboratif de cartographie

Slogan : La carte coopérative libre

Langages de programmation : JavaScript, Ruby

Premiers essais : septembre 2019 par Gabriel et Théo.

pointcouleur.jpg

Second bilan : dimanche 13 octobre 2019

Jeudi 10 octobre, nous avons mis en commun aujourd'hui le projet openstreet map. Nous avons réussi à afficher la carte et ajouter des marqueurs. Toutefois nous devons encore mettre les coordonnées de ces marqueurs manuellement. Nous aimerons automatiser ce processus, cependant nous n'arrivons pas à prendre les données sur le serveur php pour les intégrer sur notre script javascript. Nous cherchons donc à pousser nos connaissances sur php. Malheureusement, on ne peut pas s'inspirer du code déjà existant puisque Google maps ne fonctionne pas de la même manière qu' openstreet map.

mapPage.png

Aperçu de l'interface de gestion d'OpenStreetMap

Travail en commun : jeudi 14 novembre 2019

Aujourd'hui nous avons pu mettre en commun la page html et le code Javascript pour openstreet map. Cela n'a pas été aussi simple que cela puisse paraître, car en effet on a rajouté manuellement une partie du Javascript car tout ne servait pas pour cette première version du site. On s'est ainsi heurtés à plusieurs problèmes comme des mauvaises définition de variable, mais nous avons finalement réussi à obtenir la carte OpenStreetMap.

Nous chercherons dans un second temps à intégrer le script plaçant les points indiquant la pollution et à automatiser le système en le connectant à la base de données. Nous travaillons aussi pour rendre plus ergonomique l'interface du site. 

Résoudre nos problèmes d'affichage  : mardi 19 novembre 2019

 Un problème quant à l'affichage des données de la base de données sur la carte OpenStreetMap était le gestion de l'ajout des points sur la carte. Il est lié au fait que lorsque l'on récupère les données en php, elles sont misent en forme de "dictionnaire" ou "tableaux associatifs". Or traiter ce genre de tableaux est plutôt difficile lorsqu'il s'agit à nouveau de gérer en Javascript un "tableau associatif" qui contient tous les points de la base de données et les ajoutent sur la carte. La solution à ce problème est notamment de découper le tableau PHP des donnés de la base de donnés en plusieurs sous-tableaux, ce qui sera donc beaucoup plus simple à manipuler pour ajouter les points sur la carte.

L'ajout de points sur OSM

L'idée initiale
La première idée était de pouvoir exploiter la base de données brut pour ensuite ajouter les points sur la carte OSM en JavaScript. Cependant cette solution menait à devoir "écrire" une partie du script d'OSM en PHP. (par exemple en exécutant l'instruction suivante : <?php echo '<script>alert("Hello World.")' ?>. Le problème étant que le langage JavaScript est un langage client qui ne peut donc par définition que s'exécuter sur un "client" (un ordinateur), et le PHP est un langage serveur qui ne peut se faire lire que par un serveur. Autrement dit, lorsque que l'on va "écrire" en JavaScript sur le script PHP, le serveur n'essayera pas de l'exécuter, mais simplement de l'afficher comme du texte. En revanche, il est à noter que ce cas n'est pas vrai lorsque le site web est développer en "local", c'est-à-dire développer directement sur un ordinateur, car dans ce cas l'ordinateur joue à la fois le rôle de "client" et de "serveur", ainsi l'ordinateur pourra exécuter du JavaScript, malgré qu'il ait été écris en PHP.


L'idée proposée par Samy Laatar
Étant donné le problème initiale, nous avons contacté Ericsson afin d'être guidé pour la résolution de ce problème. La solution hypothétique proposée par Samy Lataar est d'exploiter le JSON. Le but est d'exporter la base de donnée avec des paramètres JSON. C'est une solution très utilisé aujourd'hui lors de développement de sites web avec exploitation de bases de données. C'est donc l'objectif vers lequel nous allons nous dirigé.

En parallèle nous essayons de réaliser une modélisation du déplacement des vélos sur la ville de Massy pour déterminer la fréquence d'actualisation des données.

L'idée initiale

Lors de la séance d'aujourd'hui, nous avons chercher  à poursuivre la modélisation d'une carte  grâce à un code python. En effet on peut désormais placer un point en chosissant ses coordonnées. Nous  chercherons ensuite à afficher des points sucessifs sur la carte en faisant varier le temps et la distance. De cette manière nous  pourrons observer quelle combinaison offre  la meilleure visibilité mais avec toutefois assez d'informations.

Par la suite, nous avons  changé la résolution de la carte pour ainsi faciliter le positionnement des points.

bottom of page