banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 23 June 2008 14:17

bianca
Participant actif
Date d'inscription: 14 Mar 2008
Messages: 60

Générer une image calée avec du PHP mapscript

Bonjour à tous,

Je suis en train de  découvrir mapserver et je cherche à générer une image pour un extend et un zoom donné et à charger cette image dans un movie clip au niveau de mon click de zoom.

j'ai essayé deux solutions :
- la première : consiste à récupérer les coordonnées géographiques de ma zone ainsi que les dimensions de l'image

Code:

<?php
define( "MAPFILE", "websig.map" );
// j'initialise les variables avec les données issues de flash
  $minx = $_POST['minX']; 
  $maxx = $_POST['maxX']; 
  $miny = $_POST['minY'];
  $maxy = $_POST['maxY'];
  $LargeurVue = $_POST['largeur'];
  $HauteurVue = $_POST['hauteur'];



  $map = ms_newMapObj(MAPFILE);

  $map->setextent($minx  , $miny , $maxx , $maxy );
  $map->setSize($LargeurVue,$HauteurVue);

  $image=$map->draw();
  $image_url=$image->saveWebImage();
?>

pb :  l'image générée n'a pas l'extend géographique envoyé

- la seconde avec un zoompoint

Code:

<?php
define( "MAPFILE", "websig.map" );


// j'initialise les variables avec les données issues de flash
  $minx = $_POST['minX']; 
  $maxx = $_POST['maxX']; 
  $miny = $_POST['minY'];
  $maxy = $_POST['maxY'];
  $LargeurVue = $_POST['largeur']; //largeur en pixel
  $HauteurVue = $_POST['hauteur']; //hauteur en pixel
  $xDes = $_POST['xDes'];  //le x en pixel de mon click
  $yDes = $_POST['yDes'];  //le y en pixel de mon click
  $ZoomFactor= $_POST['zoomfactor']; // ZoomFactor=1/(le pourcentage d'agrandissement ou réduction) 
  

  $my_point = ms_newPointObj();
  $my_point->setxy($xDes,$yDes);

  $rect_extent = ms_newRectObj();
  $rect_extent->setextent($minx  , $miny , $maxx , $maxy );

  $map = ms_newMapObj(MAPFILE);

  $map->setextent($minx  , $miny , $maxx , $maxy );
  $map->zoompopint($ZoomFactor ,$my_point,$LargeurVue ,$HauteurVue,$rect_extent);

  $image=$map->draw();
  $image_url=$image->saveWebImage();
?>

pb : les dimensions de l'image ne correspondent pas avec celle demandées
et je ne comprend pas comment fonctionne le zoomFactor : valeur positive pour un agrandissement e négative pour une réduction mais à quoi correspond le facteur d'agrandissement ?



si quelqu'un pouvait me donner un coup de main, je suis en train de sécher ?

Hors ligne

 

Pied de page des forums

Powered by FluxBB