Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Wed 30 January 2008 16:29

jack_taty
Juste Inscrit !
Date d'inscription: 22 Jan 2008
Messages: 4

[Mapserver] Wrapper mapscript WMS : image carte vide avec code basique

Bonjour à tous,

Après avoir monté (merci Yves smile ) un wrapper WFS PHP autour de mapserver, je tente maintenant de l'adapter afin qu'il puisse également gérer le WMS. Les modifications ont été minimes mais je n'ai obtenu qu'une sortie "vide" (cf ci après).

Après avoir strippé mon code au maximum et être retombé logiquement sur l'exemple du site de mapserver (http://mapserver.gis.umn.edu/docs/howto/wxs_mapscript), j'ai encore la même sortie. N'ayant qucun message d'erreur, le problème est assez dur à debugger. Si l'un d'entre vous a déjà rencontré ce problème ou a une idée, je lui serait grandement reconnaissant.

Merci !

Voici, respectivement, le code de mon "wrapper" PHP, le mapfile et le contenu en héxa du "fichier" .png:

Code:

<?php
dl("php_mapscript.dll");

// The mapscript object that represents the WFS request
$request = ms_newOwsRequestObj();

$request->setParameter("SERVICE", "WMS");
$request->setParameter("FORMAT", "image/png");
$request->setParameter("LAYERS", "states");
$request->setParameter("STYLES", "");
$request->setParameter("HEIGHT", "200");
$request->setParameter("REQUEST", "GetMap");
$request->setParameter("VERSION", "1.1.1");
$request->setParameter("BBOX", "-20,-40,60,40");
$request->setParameter("WIDTH", "200");
$request->setParameter("SRS", "epsg:4326");

$mapFilePath = 'C:\ms4w\Apache\htdocs\baseWMSTest\testmap.map'; 
ms_ioinstallstdouttobuffer();
$oMap = ms_newMapobj($mapFilePath);
$oMap->owsdispatch($request);
$contenttype = ms_iostripstdoutbuffercontenttype();
$buffer = ms_iogetstdoutbufferstring();
ms_ioresethandlers();

header('Content-type: '.$contenttype );
echo $buffer;

?>

Voici le mapfile basé sur le tuto de http://biometry.gis.umn.edu/tutorial/  (seul les proj ont été rajoutées). Le shapefile est bien trouvé :

MAP
  IMAGETYPE      PNG
  EXTENT         -97.238976 41.619778 -82.122902 49.385620
  SIZE           400 300
  SHAPEPATH      "./data"
  IMAGECOLOR     255 255 255

      PROJECTION
     "init=epsg:4326"
     "proj=latlong"
     "ellps=WGS84"
     "datum=WGS84"
     "lon_0=0"
     "lat_0=-90"
     "units=m"
    END

    LAYER # States polygon layer begins here
    NAME         states
    DATA         states_ugl
    STATUS       OFF
    TYPE         POLYGON

    CLASS
      NAME       "The Upper Great Lakes States"

      STYLE
        COLOR        232 232 232
        OUTLINECOLOR 32 32 32
      END
    END
  END

END


Voici le contenu en héxa du "fichier" .png :

Code:

89 50 4e 47 0d 0a 1a 0a

Dernière modification par jack_taty (Wed 30 January 2008 16:41)

Hors ligne

 

Pied de page des forums

Powered by FluxBB