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

Rencontres QGIS 2025

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

#1 Wed 17 June 2009 00:46

GuZzO
Juste Inscrit !
Date d'inscription: 17 Jun 2009
Messages: 9

[Mapserver] Configuration du .map pour fonctionner avec QGis

Bonjour,

j'utilise QGis et j'arrive parfaitement à mes connecter à des serveurs WMS distant. Pour des raisons de mutualisations des données et de non-support de l'ecw, j'ai voulu monter un serveur carto pour afficher les fonds.

J'ai installer la dernière version de MS4W et je me suis servi de QGis pour générer un fichier .map. J'ai éditer le fichier en question mais je n'arrive pas à visualiser les fonds dans QGis....

J'ai voulu faire au plus simple pour reprendre du début et j'essaye maintenant juste d'afficher un shapefile de la France projeté en L2E.

[img]http://img14.imageshack.us/img14/9896/000qtc.th.jpg[/img]

Je dois avouer que malgré la lecture de ce forum et d'autres sources, le contenu du .map automatiquement généré reste assez obscure! Je crois y détecter un problème de projection?!

Code:

# Map file created from QGIS project file C:/ms4w/Apache/htdocs/map/mywms.qgs
# Edit this file to customize for your map interface
# (Created with PyQgis MapServer Export plugin)
MAP
  NAME test
  # Map image size
  SIZE 512 512
  UNITS meters

  EXTENT -175172.350037 1594005.749963 1378632.350038 2703866.250017
  PROJECTION
    'proj=lcc'
    'lat_1=46.8'
    'lat_0=46.8'
    'lon_0=0'
    'k_0=0.99987742'
    'x_0=600000'
    'y_0=2200000'
    'a=6378249.2'
    'b=6356515'
    'towgs84=-168,-60,320,0,0,0,0'
    'pm=2.3372291666985'
    'units=m'
    'no_defs'
    ''
  END

  # Background color for the map canvas -- change as desired
  IMAGECOLOR 192 192 192
  IMAGEQUALITY 95
  IMAGETYPE png
  OUTPUTFORMAT
    NAME png
    DRIVER 'GD/PNG'
    MIMETYPE 'image/png'
    #IMAGEMODE PC256
    EXTENSION 'png'
  END
  # Legend
  LEGEND
      IMAGECOLOR 255 255 255
    STATUS ON
    KEYSIZE 18 12
    LABEL
      TYPE BITMAP
      SIZE MEDIUM
      COLOR 0 0 89
    END
  END

  # Web interface definition. Only the template parameter
  # is required to display a map. See MapServer documentation
  WEB
    # Set IMAGEPATH to the path where MapServer should
    # write its output.
    IMAGEPATH '/tmp/'

    # Set IMAGEURL to the url that points to IMAGEPATH
    # as defined in your web server configuration
    IMAGEURL '/tmp/'

    # WMS server settings
    METADATA
      'wms_title'           'test'
      'wms_onlineresource'  'http://my.host.com/cgi-bin/mapserv?map=wms.map&'
      'wms_srs'             'EPSG:4326'
    END

    #Scale range at which web interface will operate
    # Template and header/footer settings
    # Only the template parameter is required to display a map. See MapServer documentation
  END

  LAYER
    NAME 'DEP'
    TYPE POLYGON
    DATA 'C:\SIG\Vecteurs\Referentiels\DEP.shp'
    METADATA
      'wms_title' 'DEP'
    END
    STATUS DEFAULT
    TRANSPARENCY 100
    PROJECTION
    'proj=lcc'
    'lat_1=46.8'
    'lat_0=46.8'
    'lon_0=0'
    'k_0=0.99987742'
    'x_0=600000'
    'y_0=2200000'
    'a=6378249.2'
    'b=6356515'
    'towgs84=-168,-60,320,0,0,0,0'
    'pm=2.3372291666985'
    'units=m'
    'no_defs'
    ''
    END
    CLASS
       NAME 'DEP' 
       STYLE
         SYMBOL 0 
         SIZE 2 
         OUTLINECOLOR 0 0 0
         COLOR 144 50 207
       END
    END
  END

END

La commande:
http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/apache/htdocs/map/mywms.map&REQUEST=GetCapabilities&SERVICE=WMS&VERSiON=1.1.0

retourne le code suivant:

Code:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> 
  <!DOCTYPE WMT_MS_Capabilities (View Source for full doctype...)> 
- <!--  end of DOCTYPE declaration 
  --> 
- <WMT_MS_Capabilities version="1.1.0">
- <!--  MapServer version 5.2.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=PDF OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE 
  --> 
- <Service>
  <Name>OGC:WMS</Name> 
  <Title>test</Title> 
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  <ContactInformation /> 
  </Service>
- <Capability>
- <Request>
- <GetCapabilities>
  <Format>application/vnd.ogc.wms_xml</Format> 
- <DCPType>
- <HTTP>
- <Get>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  </Get>
- <Post>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  </Post>
  </HTTP>
  </DCPType>
  </GetCapabilities>
- <GetMap>
  <Format>image/png</Format> 
  <Format>image/gif</Format> 
  <Format>image/png; mode=24bit</Format> 
  <Format>image/jpeg</Format> 
  <Format>image/vnd.wap.wbmp</Format> 
  <Format>image/tiff</Format> 
  <Format>image/svg+xml</Format> 
- <DCPType>
- <HTTP>
- <Get>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  </Get>
- <Post>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  </Post>
  </HTTP>
  </DCPType>
  </GetMap>
- <GetFeatureInfo>
  <Format>text/plain</Format> 
  <Format>application/vnd.ogc.gml</Format> 
- <DCPType>
- <HTTP>
- <Get>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  </Get>
- <Post>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  </Post>
  </HTTP>
  </DCPType>
  </GetFeatureInfo>
- <DescribeLayer>
  <Format>text/xml</Format> 
- <DCPType>
- <HTTP>
- <Get>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  </Get>
- <Post>
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&" xlink:type="simple" /> 
  </Post>
  </HTTP>
  </DCPType>
  </DescribeLayer>
  </Request>
- <Exception>
  <Format>application/vnd.ogc.se_xml</Format> 
  <Format>application/vnd.ogc.se_inimage</Format> 
  <Format>application/vnd.ogc.se_blank</Format> 
  </Exception>
  <VendorSpecificCapabilities /> 
  <UserDefinedSymbolization SupportSLD="1" UserLayer="0" UserStyle="1" RemoteWFS="0" /> 
- <Layer queryable="0" opaque="0" noSubsets="0">
  <Name>test</Name> 
  <Title>test</Title> 
  <SRS>EPSG:4326</SRS> 
  <LatLonBoundingBox minx="-11.0688" miny="40.929" maxx="11.1177" maxy="51.3402" /> 
- <!--  WARNING: This layer has its status set to DEFAULT and will always be displayed when doing a GetMap request even if it is not requested by the client. This is not in line with the expected behavior of a WMS server. Using status ON or OFF is recommended. 
  --> 
- <Layer queryable="0" opaque="0" cascaded="0" noSubsets="0">
  <Name>DEP</Name> 
  <Title>DEP</Title> 
  <LatLonBoundingBox minx="-11.1694" miny="52.9596" maxx="11.2334" maxy="62.6445" /> 
- <Style>
  <Name>default</Name> 
  <Title>default</Title> 
- <LegendURL width="54" height="23">
  <Format>image/png</Format> 
  <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://my.host.com/cgi-bin/mapserv?map=wms.map&version=1.1.1&service=WMS&request=GetLegendGraphic&layer=DEP&format=image/png&STYLE=default" /> 
  </LegendURL>
  </Style>
  </Layer>
  </Layer>
  </Capability>
  </WMT_MS_Capabilities>

et la commande suivante

http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/apache/htdocs/map/mywms.map&SERVICE=WMS&VERSION=1.1.1&REQUEST=getmap&LAYERS=DEP

retourne une erreur:

Code:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> 
  <!DOCTYPE ServiceExceptionReport (View Source for full doctype...)> 
- <ServiceExceptionReport version="1.1.1">
  <ServiceException code="MissingParameterValue">msWMSLoadGetMapParams(): WMS server error. Missing required parameter SRS</ServiceException> 
  </ServiceExceptionReport>

cependant j'arrive à afficher ma carte dans Firefox avec la commande:
http://localhost/cgi-bin/mapserv.exe?mode=map&map=C:/ms4w/Apache/htdocs/map/mywms.map

et finalement quand je fais:

http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/apache/htdocs/map/mywms.map&REQUEST=GetCapabilities&SERVICE=WMS

sous Qgis, il m'affiche une couche disponible mais si j'essaye de l'afficher j'ai un message d'erreur super explicite:

Ne peut dessiner 001 parce que:


001 est le nom de ma connexion vers le serveur WMS...
[img]http://img195.imageshack.us/img195/8315/001gqx.th.jpg[/img]




Question subsidiaire: j'ai essayé de visualiser ce même fichier .map avec la méthode du tutoriel d'openlayer (ICI)

Et j'obtiens un affichage très bizarre, l'image est découpé par tronçon qui peuvent se répéter plusieurs fois:

[img]http://img188.imageshack.us/img188/157/002kxw.th.jpg[/img]


Voilà pour le détail de mes soucis...
J'espère avoir assez détaillé sans être trop lourd!

Merci par avance pour l'aide que vous pourrez m'apporter!!

G.

Hors ligne

 

#2 Wed 17 June 2009 00:52

GuZzO
Juste Inscrit !
Date d'inscription: 17 Jun 2009
Messages: 9

Re: [Mapserver] Configuration du .map pour fonctionner avec QGis

Si j'essaye de modifier la projection dans le fichier .map:

# Map file created from QGIS project file C:/ms4w/Apache/htdocs/map/mywms.qgs
# Edit this file to customize for your map interface
# (Created with PyQgis MapServer Export plugin)
MAP
  NAME test
  # Map image size
  SIZE 512 512
  UNITS meters

  EXTENT -175172.350037 1594005.749963 1378632.350038 2703866.250017
  PROJECTION
    'EPSG:27572'
  END

  # Background color for the map canvas -- change as desired
  IMAGECOLOR 192 192 192
  IMAGEQUALITY 95
  IMAGETYPE png
  OUTPUTFORMAT
    NAME png
    DRIVER 'GD/PNG'
    MIMETYPE 'image/png'
    #IMAGEMODE PC256
    EXTENSION 'png'
  END
  # Legend
  LEGEND
      IMAGECOLOR 255 255 255
    STATUS ON
    KEYSIZE 18 12
    LABEL
      TYPE BITMAP
      SIZE MEDIUM
      COLOR 0 0 89
    END
  END

  # Web interface definition. Only the template parameter
  # is required to display a map. See MapServer documentation
  WEB
    # Set IMAGEPATH to the path where MapServer should
    # write its output.
    IMAGEPATH '/tmp/'

    # Set IMAGEURL to the url that points to IMAGEPATH
    # as defined in your web server configuration
    IMAGEURL '/tmp/'

    # WMS server settings
    METADATA
      'wms_title'           'test'
      'wms_onlineresource'  'http://my.host.com/cgi-bin/mapserv?map=wms.map&'
      'wms_srs'             'EPSG:27572'
    END

    #Scale range at which web interface will operate
    # Template and header/footer settings
    # Only the template parameter is required to display a map. See MapServer documentation
  END

  LAYER
    NAME 'DEP'
    TYPE POLYGON
    DATA 'C:\SIG\Vecteurs\Referentiels\DEP.shp'
    METADATA
      'wms_title' 'DEP'
    END
    STATUS DEFAULT
    TRANSPARENCY 100
    PROJECTION
    'EPSG:27572'
    END
    CLASS
       NAME 'DEP'
       STYLE
         SYMBOL 0
         SIZE 2
         OUTLINECOLOR 0 0 0
         COLOR 144 50 207
       END
    END
  END

END


j'ai une erreur:

msProcessProjection(): Projection library error. projection not named

Dernière modification par GuZzO (Wed 17 June 2009 00:53)

Hors ligne

 

#3 Wed 17 June 2009 09:16

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [Mapserver] Configuration du .map pour fonctionner avec QGis

Bonjour,

Relis la doc de MapServer "section projection" pour l'utilisation d'un code EPSG wink

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#4 Wed 17 June 2009 12:07

GuZzO
Juste Inscrit !
Date d'inscription: 17 Jun 2009
Messages: 9

Re: [Mapserver] Configuration du .map pour fonctionner avec QGis

arf...   effectivement il me manque déjà un init=

PROJECTION
   "init=epsg:27572"
END


je resteste chez moi ce soir!

Hors ligne

 

#5 Sun 21 June 2009 01:23

GuZzO
Juste Inscrit !
Date d'inscription: 17 Jun 2009
Messages: 9

Re: [Mapserver] Configuration du .map pour fonctionner avec QGis

j'ai réessayer (avec succès!) en modifiant le bloc PROJECTION!
j'avais aussi d'autres erreurs mineures mais c'était clairement le bloc PROJECTION qui posait les plus gros problèmes!

tout s'est résolu avec ces modifs, merci pour les commentaires qui 'mont réorienté!

Hors ligne

 

Pied de page des forums

Powered by FluxBB