[mapserver-users] Problem with MapServer & proj4

Clemiou clems_mars at hotmail.com
Tue Apr 15 14:30:13 EDT 2008


Hi!

First, excuse me for my English. I'm french and you will find many mistakes in this mail, i'm sure. ^^

I have a little problem with Proj4 and Mapserver. I'm a new user of MS since the last week and I can print some maps without difficulties.
For my student placement, I must provide to the users, the possibility to zoom in, to zoom out & to pan. So, I try OpenLayers.
But I forgot to put PROJECTION items in my mapfile. So I install Proj4 (phpinfo() tell me that it's ok and mapserv -v too).
But when I want print my map, I obtain this message: loadProjection(): Projection support is not available.
I think that he miss a link or something like that because mapserv has been built with --with-proj  option. In addition, as I said, I can see SUPPORT=PROJ in the phpinfo() and in the result of masperv -v command.

Thank you for your help and sorry for my poor english.

Sincerely yours
Clement

PS: I give you my files, the mapfile and my php file which use OpenLayers.

mapfile:

###############################################################
## france.map                                                ##
## Fichier au format mapserveur pour afficher la France      ##
## Regroupe (normalement ^^) la France entière plus la Corse ##
## Les sources seront au format ECW.                         ##
##                                                           ##
## (c) Copyright MIVA Web Editions                           ##
##                                                           ##
###############################################################

MAP
PROJECTION
  "init=epsg:4326"
END
###########################################
# Taille de l'image à afficher. En pixels.#
###########################################

SIZE 700 700

###########################################################
# Paramètres divers; status, chemin des symboles utilisés.#
###########################################################

STATUS ON
SYMBOLSET "/var/www/html/maps/symbols/symbols.sym"


###########################################################
# Etendue spaciale de notre carte. Dans de rare cas, elle #
# est calculée par MapServer. Position de l'image.        #
# Pour les fichiers .tif, on trouve des informations la   #
# concernant dans le fichier du même nom .tfw.            #
#                                                          #
# Les paramètres correspondent dans l'ordre à:              #
#     -MinX,MinY,MaxX,MaxY                                  #
###########################################################

EXTENT 550501 1700039 595100 2644900

######################
# Unité de l'echelle #
######################

UNITS METERS

##########################################
# Chemin des fichiers sources (ici ECW). #
##########################################

SHAPEPATH "/var/www/html/maps/data/"

#############################################################
# Partie Web: fourni des informations pour la génération de #
# l'image.                                                  #
#############################################################

WEB

    TEMPLATE "/var/www/html/OpenLayers-2.6-rc2/examples/mapserver.html"
    
    ###########################################################
    # Chemin du dossier dans lequel MapServeur va sauvegarder #
    # l'image crée.                                           #
    ###########################################################
    
    IMAGEPATH "/var/www/html/maps/tmp"
    
    ##########################################################
    # Chemin du dossier dans lequel MapScript viendra lire   #
    # l'image. /!\ Attention, le chemin doit être indiqué à  #
    # partir du dossier /html.                               #
    ##########################################################
    
    IMAGEURL "/maps/tmp"
    
END

###########################################################
# Les layers. Ce sont les différentes couches de l'image. #
# Logiquement, une couche pour une partie de France. Nous #
# devrions donc en avoir 11 en comptant la corse.         #
#                                                          #
# Pour reconstituer notre France, nous allons créer un    #
# index qui va gérer les 2 parties.                      #
###########################################################

###########################
# Le layer de la France . #
###########################

LAYER
    NAME "FRANCE"
    TYPE RASTER
    STATUS ON
    TILEINDEX france.shp
    TILEITEM Location  
    PROJECTION
          "init=epsg:27582"
    END
   
    ###########################################################
    # Correspond au fichier qu'il faut charger pour la couche.#
    # Dans le cas ou on charge une image à la fois.              #
    ###########################################################
    
    #DATA France.ecw
    
    #####################################
    # On crée une classe pour ce layer. #
    #####################################
    
    CLASS
        STYLE
            COLOR 110 50 100
            OUTLINECOLOR 200 200 200
            SYMBOL 0
        END # Fin de STYLE FRANCE.
    END # Fin de CLASS FRANCE.
    
END # Fin du LAYER FRANCE.


END # Fin du MAP.
phpfile:

<?php

// ---------------------------------------------------------------------//
// Voyage.php                                                           //
// www.leguide.aero                                                     //
// Partie permettant au visiteur de visualiser son voyage sur la carte. //
// Celui-ci doit pouvoir interagir avec l'utilisateur en lui permettant //
// de choisir et visualiser ses points de départ et d'arrivée. Par      //
// ailleurs, le fait de déplacer la carte avec la souris doit se faire  //
// dynamiquement. Enfin, le fait de cliquer à un endroit de la carte    //
// doit faire centrer ce point au millieu de celle-ci.                  //
//                                                                      //
// (c) Copyright MIVA Web Editions                                      //
// ---------------------------------------------------------------------//
  
// ----------------------------------------------------------------------------//
// Rappelons que le module php_MapScript est chargé par defaut au démarrage.   //
// La déclaration de ce chargement se trouve dans le fichier php_mapscript.ini //
// ----------------------------------------------------------------------------//

// ----------------------------------------------------------------------------//
// Déclaration de la variable contenant le chemin vers les fichiers .map.      //
// MapScript doit le trouver par defaut mais il est plus sur de lui fournir.   //
// ----------------------------------------------------------------------------//

$map_path = "/var/www/html/ms/map_files/";

// ----------------------------------------------------------------------------//
// On crée un nouvel objet puis on charge dans celui-ci notre fichier .map.    //
// La deuxième instruction le dessine et la troisième le sauvegarde dans le    //
// répertoire /maps/tmp/ après avoir crée le fichier image correspondant. Par  //
// defaut, ce fichier image est au format GIF.                                 //
// ----------------------------------------------------------------------------//

$mapi = ms_newMapObj($map_path."france.map");
$image = $mapi->draw();
$image_url = $image->saveWebImage();

// ----------------------------------//
// Page HTML pour afficher la carte. //
// ----------------------------------//

?>

<HTML>
  <HEAD>
    <TITLE>LeGuide.aero: Pr&eacute;parez votre voyage en toute s&eacute;rennit&eacute;... ^^</TITLE>
    <LINK rel="stylesheet" href="../OpenLayers-2.6-rc2/theme/default/style.css" type="text/css" ></LINK>
    <STYLE type="text/css">
        #map {
            width: 700px;
            height:700px;
            border: 1px solid black;
        }
    </STYLE>
    <SCRIPT src="../OpenLayers-2.6-rc2/lib/OpenLayers.js" ></SCRIPT>
    <SCRIPT type="text/javascript">
     
        var lon = 40;
        var lat = 40;
        var zoom = 20;
        var map, layer;

        function init()
        {
           
            layer = new OpenLayers.Layer.MapServer( "OpenLayers WMS", 
                    "http://localhost/cgi-bin/mapserv?map=/var/www/html/ms/map_files/france.map", {layers: 'FRANCE'},
                    {gutter: 1});
            map.addLayer(layer);
			
            map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
            map.addControl( new OpenLayers.Control.LayerSwitcher() );
        }
        
    </SCRIPT>
  </HEAD>
  <BODY onload="init()">
  	<DIV id="map"></DIV>
  </BODY>
</HTML>

_________________________________________________________________
Découvrez les profils Messenger de vos amis !
http://home.services.spaces.live.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20080415/d4fc6ad7/attachment.html


More information about the mapserver-users mailing list