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é ?

#1 Tue 08 June 2010 10:18

Remi01
Participant actif
Date d'inscription: 18 Jan 2007
Messages: 74

Reprojection WMS à la volée

Bonjour,

J'ai tenté de reprojeter un flux WMS de Lambert II étendu natif en Lambert93 pour le rendre compatible avec mes données.
J'ai déclaré un couche dans Mapserver (qui est donc client du WMS) puis tenter de resservir ce flux en Lambert93 à OpenLayers/Tilecache. Malheureusement ça ne fonctionne pas :

Invalid SRS Given : SRS must be valid for all requested layers ...


Voila la déclaration de mon bloc Mapfile

METADATA du bloc WEB de mon Mapfile :

Code:

 METADATA
        "wms_title"           "WMS"
        "wms_onlineresource"  "http://xxxx/xxx.map&"
        "wms_srs"             "EPSG:2154 EPSG:27582"
        END

Déclaration de la couche :

Code:

        
LAYER
          NAME "xxx"
           METADATA
           "wms_title" "xxx1"
            "wms_srs"   "EPSG:27582 EPSG:2154"
          END
          TYPE RASTER
          STATUS ON
          CONNECTION "http://xxx&map=carte.map&VERSION=1.1.0&LAYERS=Layer1&FORMAT=image/png"
          CONNECTIONTYPE WMS
          PROJECTION
           "init=epsg:27582"
          END
END

Mon bloc est fonctionnel et me permet d'afficher les couches sans reprojection à la volée ...

Il me semble que ce genre de manip est théoriquement possible, si c'est le cas est-ce que quelqu'un aurait une piste...

Merci !

Dernière modification par Remi01 (Tue 08 June 2010 10:47)

Hors ligne

 

#2 Tue 15 June 2010 16:13

Remi01
Participant actif
Date d'inscription: 18 Jan 2007
Messages: 74

Re: Reprojection WMS à la volée

Re-bonjour,

Personne n'a de suggestion sur ce point ?

Hors ligne

 

#3 Tue 15 June 2010 16:45

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

Re: Reprojection WMS à la volée

Bonjour,

Est ce que le message d'erreur provient de MapServer ou d'OpenLayers ? Dans ce dernier cas il faut vérifier que la projection définie au niveau de l'objet map et celles définies dans les couches sont identiques.

Quelle est la requête WMS envoyée par OL ?

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 Tue 15 June 2010 17:05

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Reprojection WMS à la volée

Je pense que le message provient de MapServer, auquel est demandé un code EPSG qu'il n'est pas censé fournir.
Est-ce que tous les appels WMS (OpenLayers -> Tilecache; Tilecache->MapServer) se font bien avec un des codes configurés (27582 ou 2154) ?

Guillaume

Hors ligne

 

#5 Wed 16 June 2010 16:00

Remi01
Participant actif
Date d'inscription: 18 Jan 2007
Messages: 74

Re: Reprojection WMS à la volée

Merci à vous ! J'ai fait de nouvelles tentatives mais sans succès ...

L'erreur vient bien de Mapserver ...

Firebug me donne ça concernant l'appel de la couche via OpenLayers vers Mapserver (pas de tilecache dans un premier temps) :

BBOX    188817.63510252,6209719.5771524,689197.36489748,6495469.4228476
EXCEPTIONS    application/vnd.ogc.se_inimage
FORMAT    image/png
HEIGHT    540
LAYERS    p_reproj
REQUEST    GetMap
SERVICE    WMS
SRS    EPSG:2154
STYLES   
TRANSPARENT    true
VERSION    1.1.1
WIDTH    945
map    mapfiles/environnement.map


Donc il y'a bien mention du code EPSG:2154 correspondant à la projection que je souhaite, et il est bien déclaré au niveau du Mapfile ... Je vois pas ce qui cloche .... (j'ai vérifié l'existence des codes EPSG 2154 et 27582 pour Mapserver, c'est ok).


Voila la déclaration du bloc Mapfile

METADATA du bloc WEB  :

Code:

 METADATA
        "wms_title"           "WMS"
        "wms_onlineresource"  "http://xxxx/xxx.map&"
        "wms_srs"             "EPSG:2154 EPSG:27582"
        END

Déclaration de la couche :

Code:

        
LAYER
          NAME "xxx"
           METADATA
           "wms_title" "xxx1"
            "wms_srs"   "EPSG:27582 EPSG:2154"
          END
          TYPE RASTER
          STATUS ON
          CONNECTION "http://xxx&map=carte.map&VERSION=1.1.0&LAYERS=Layer1&FORMAT=image/png"
          CONNECTIONTYPE WMS
          PROJECTION
           "init=epsg:27582"
          END
END

Dernière modification par Remi01 (Wed 16 June 2010 16:04)

Hors ligne

 

#6 Wed 16 June 2010 16:45

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Reprojection WMS à la volée

Je pense qu'il fait mettre uniquement EPSG:27582 dans le wms_srs de ta couche. Ainsi il interrogera le serveur distant avec ce code, tout en le reprojetant éventuellement pour le servir ensuite dans un des srs référencés dans l'objet WEB.
C'est comme ça que j'interprète ce qui est là : http://mapserver.org/ogc/wms_client.html

Bon courage,

Guillaume

Hors ligne

 

#7 Wed 16 June 2010 20:15

fph
Juste Inscrit !
Date d'inscription: 21 Apr 2010
Messages: 2

Re: Reprojection WMS à la volée

Rémi LAGOIN a écrit:

J'ai tenté de reprojeter un flux WMS de Lambert II étendu natif en Lambert93 pour le rendre compatible avec mes données.
J'ai déclaré un couche dans Mapserver (qui est donc client du WMS) puis tenter de resservir ce flux en Lambert93 à OpenLayers/Tilecache. Malheureusement ça ne fonctionne pas :


Est-ce que le fichier epsg contient la définition 2154 ?

Hors ligne

 

#8 Thu 17 June 2010 17:40

Remi01
Participant actif
Date d'inscription: 18 Jan 2007
Messages: 74

Re: Reprojection WMS à la volée

Guillaume Sueur a écrit:

Je pense qu'il fait mettre uniquement EPSG:27582 dans le wms_srs de ta couche. Ainsi il interrogera le serveur distant avec ce code, tout en le reprojetant éventuellement pour le servir ensuite dans un des srs référencés dans l'objet WEB.
C'est comme ça que j'interprète ce qui est là : http://mapserver.org/ogc/wms_client.html

Bon courage,

Guillaume


Bingo ! Un grand merci Guillaume, ça fonctionne !

Merci également à fph pour avoir proposé une piste.

Hors ligne

 

#9 Thu 17 June 2010 18:12

Remi01
Participant actif
Date d'inscription: 18 Jan 2007
Messages: 74

Re: Reprojection WMS à la volée

J'ai plusieurs questions qui me viennent du coup ...

Avant de poser des questions techniques je préfère commencer par une première question plutôt fondamentale :

- Peut on librement reprojeter des données provenant d'un flux WMS externe public pour les rendre compatible avec ses propres données (usage interne) - j'imagine que oui... Y'a t'il des conditions générales, ou c'est au cas par cas que ça se joue ? Et pour un usage plus large (diffusion à des tiers), comment ça se passe ?

Merci pour vos éventuelles réponses ...

Hors ligne

 

#10 Thu 17 June 2010 18:41

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Reprojection WMS à la volée

Re,

Dans le principe tu dois pouvoir. Néanmoins, il faudrait jeter un oeil au getCapabilities pour voir s'il n'y a pas un accessconstraints ou un truc du genre.

Guillaume

Hors ligne

 

Pied de page des forums

Powered by FluxBB