Advertisement
rodolpheg

Untitled

Feb 24th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. <?php
  2. // Connexion à la base de données "cours7" se trouvant sur le serveur localhost. Nous nous y connectons avec l'identifiant "postgres", et nous entrons le mot de passe que nous avons créé au moment de l'initialisation de la BD PostgreSQL
  3. $db = new PDO("pgsql:host=localhost; dbname=gmq717", "postgres", "gmq717");
  4.  
  5. // Nous créons une requête SQL à partir des variables récupérées dans l'URL
  6. if ($_GET['var'] == 'pop') {
  7. // Si la variable est 'pop', alors nous ne voulons pas simplement la valeur brute de la variable, mais la densité de la population dans cette aire de diffusion : densité = pop / superficie en km2. Comme nous sommes dans un système de coordonnées géographiques, il faut projeter les coordonnées dans un système qui respecte bien les superficies localement : https://mern.gouv.qc.ca/wp-content/uploads/CO_codes_epsg_quebec.pdf
  8. $sql = 'SELECT pop / (ST_AREA(ST_TRANSFORM(geom, 32098)) / 1000000.0) as var, da_number, ST_AsGeoJSON(geom, 6) as geom FROM "montreal_postgis" WHERE ' . $_GET['var'] . ' > ' . $_GET['varMin'] . ' AND ' . $_GET['var'] . ' < ' . $_GET['varMax'] . ';';
  9. } else {
  10. // Si la variable n'est pas 'pop', fournir la valeur brute.
  11. $sql = 'SELECT ' . $_GET['var'] . '::INTEGER as var, da_number, ST_AsGeoJSON(geom, 6) as geom FROM "montreal_postgis" WHERE ' . $_GET['var'] . ' > ' . $_GET['varMin'] . ' AND ' . $_GET['var'] . ' < ' . $_GET['varMax'] . ';';
  12. }
  13. // Construire la requête sur le PDO à partir du code SQL
  14. $query = $db->query($sql);
  15. // tant qu'il y a une "prochaine ligne" disponible, afficher cette prochaine ligne
  16. while ($raw = $query->fetch()) {
  17. echo json_encode($query->fetch());
  18. };
  19. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement