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 Thu 04 June 2009 10:18

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

[Openlayers] Affichage des tuiles d'un raster

Bonjour à tous

Voici mon problème contre lequel je lutte depuis plusieurs jours.

Je possède un raster en .tif que je souhaiterais afficher sous Openlayers. MapServer fonctionne en WMS et me l'affiche parfaitement en une seule tuile (avec la requête GetMap).

Lorsque que j'essai de l'afficher sous OpenLayers il me l'affiche en plusieurs tuiles. Je me suis donc touner vers l'outil gdaltindex pour créer un index.shp avec la ligne de commande suivante :
gdaltindex index.shp C:\ms4w\Apache\htdocs\geoportail_aurh_commerce\data\lz1_ge_lehavre/c_lh_ext_ign_scan25_2008.tif

J'ai également rajouter le nécessaire dans mon mapfile.

Cependant ma carte refuse s'afficher. Mais les coordonnées sont réactives au pointeur de la souris lorsque je le promène à l'endroit supposé de la carte.

merci d'avance pour votre aide

voici mon fichier map

Code:

MAP
  IMAGETYPE      PNG24
  EXTENT          434871 191628 465019 219048
  SIZE           450 450
  SHAPEPATH      "C:\ms4w\Apache\htdocs\geoportail_aurh_commerce\data\lz1_ge_lehavre"
  FONTSET        "./fonts/fonts.list"
  SYMBOLSET      "./symbols/symbols.sym"

  PROJECTION 
     "init=epsg:27561"
  END
   
  WEB
    TEMPLATE   "C:\ms4w\Apache\htdocs\geoportail_aurh_commerce.html"
    IMAGEPATH  "C:\ms4w\Apache\htdocs\geoportail_aurh_commerce\temp\"
    IMAGEURL   "/geoportail_aurh_commerce/temp/"
    METADATA
      "wms_title" "raster"
      "wms_onlineresource"  "http://127.0.0.1/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map&"
      "wms_srs"             "EPSG:27561"
      "wms_format"             "image/png" 

   ### WFS 
              "wfs_title"                "fond communal"
            "wfs_onlineresource"       "http://127.0.0.1/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map&"
            "wfs_srs"               "epsg:27561"  
   
   END
END

LAYER
    NAME "Fond_communal"
    DATA         "ext_ign_bdtop_2008_commune"
    METADATA
                "wfs_title"    "ext_ign_bdtop_2008_commune" 
                "gml_featureid" "NAME" 
                "gml_include_items" "all"

    END
    DUMP TRUE
    STATUS       ON
    TYPE         POLYGON
    
    CLASS
     
    NAME "Fond communal"
         
      STYLE
    COLOR          215 235 190
        OUTLINECOLOR      142 142 142
      END
      END
END      


LAYER
    NAME "rasterlh"
    DATA         "c_lh_ext_ign_scan25_2008.tif"
    METADATA
    "wms_title" "c_lh_ext_ign_scan25_2008"
    END
    STATUS       ON
    TYPE RASTER
    TILEINDEX "../geoportail_aurh_commerce/data/lz1_ge_lehavre/index.shp"
    TILEITEM "Location"


END  

END

et mon fichier html

Code:

<html>
    <head>
    <script src="../openlayers/lib/OpenLayers.js"></script>
            
    <script type="text/javascript">

            var map;
            function init() {
                map = new OpenLayers.Map('map');

                
                //initialize the WMS layer here
                var wms = new OpenLayers.Layer.WMS(
                    "Fond communal",
                    "http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=rasterlh&STYLES=&SRS=EPSG:27561&BBOX=434871,191628,465019,219048&WIDTH=600&HEIGHT=600&FORMAT=image/png",
                    {layers: 'rasterlh'}
                );
      
                map.addLayers([wms]);
                
                
                
                var overview = new OpenLayers.Control.OverviewMap();
                map.addControl(overview);
                
                map.addControl(new OpenLayers.Control.LayerSwitcher());
                
                map.addControl(new OpenLayers.Control.MousePosition({
                div: document.getElementById("mouseposition")
                }));
                
                var panel = new OpenLayers.Control.Panel({
                div: document.getElementById("panel")
                });
                map.addControl(panel);

                var history = new OpenLayers.Control.NavigationHistory();
                map.addControl(history);
                panel.addControls([history.next, history.previous]);
                
                map.zoomToMaxExtent();
            
            }
                
        </script>
    </head>

    <body onload="init()">
        <div id="map"  style="width:100%; height: 80%"></div>
        <div id="mouseposition"></div>
        <div id="panel"></div>
        <div id="echelle"></div>
        <div id="zoom"></div>
    
    </body>
</html>

[edit Modérateur] Merci d'utiliser les balises CODE pour une meilleure visibilité !

Hors ligne

 

#2 Thu 04 June 2009 10:26

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

Re: [Openlayers] Affichage des tuiles d'un raster

Bonjour,

gdaltindex et le fait que OL affiche des tuiles sont deux choses différentes. Tu peux utiliser les deux, ou juste une des deux.

Ton problème vient de la définition de la couche dans le mapfile :

Code:

LAYER
    NAME "rasterlh"
    DATA         "c_lh_ext_ign_scan25_2008.tif"
    METADATA
    "wms_title" "c_lh_ext_ign_scan25_2008"
    END
    STATUS       ON
    TYPE RASTER
    TILEINDEX "../geoportail_aurh_commerce/data/lz1_ge_lehavre/index.shp"
    TILEITEM "Location"
END

Il faut supprimer la ligne DATA         "c_lh_ext_ign_scan25_2008.tif"

Autre chose : dans ton code javascript tu as laissé tous les paramètres WMS. Ceux-ci sont inutile car c'est OL qui les gère et les rajoute dans l'url qu'il appelle :

Code:

//initialize the WMS layer here
                var wms = new OpenLayers.Layer.WMS(
                    "Fond communal",
                    "http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map",
                    {layers: 'rasterlh'}
                );

Par contre il faudra éventuellement rajouter la projection utilisée dans les options de ta couche ou mieux au niveau de l'objet MAP (en fait tout dépend des projections des autres couches).

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

 

#3 Thu 04 June 2009 10:57

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

Merci et désolé pour les balises code

J'ai réaliser les modifs que vous m'avez indiqué et je là je n'ai plus rien qui s'affiche.

J'ai un peu de mal à tout saisir :

Comment Open layers peut connaître la bbox sans que je lui indique ?

Gdaltindex n'est pas censé découper mon raster en tuiles et les mettre bout à bout pour former un ensemble de tuiles cohérent ?

la projection que j'utilise (27561) n'a besoin que d'être cité dans le map du mafile à partir du moment où toutes mes couches WMS ou WFS sont dans la même projection ?

Le problème ne peut'il pas venir de l'index.shp ? Dans mon fichier dbf je n'ai que deux lignes qui s'affichent :

1 : location,C,255
2 : C:\ms4w\Apache\htdocs\geoportail_aurh_commerce\data\lz1_ge_lehavre/c_lh_ext_ign_scan25_2008.tif

cela me paraît bizarre, car si j'ai bien compris le fichier dbf est le fichier base de donnés du shape.

merci d'avance

Hors ligne

 

#4 Thu 04 June 2009 11:11

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

Re: [Openlayers] Affichage des tuiles d'un raster

Bonjour,

gdaltindex te permet d'indexer dans un fichier vecteur toutes les tuiles d'un répertoire. Au lieu de créer une couche par tuile, tu créer un index que tu appelles. Donc dans ton cas, cela ne sert à rien.

Comme tu peux le voir ton index ne contient qu'une ligne, celle de ta "tuile" unique wink donc utiliser un index dans ton cas n'est pas utile.

Concernant la projection, tu as compris. Tu définie la projection de ta carte, si la projection d'une de tes couches est différentes, cela se complique 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

 

#5 Thu 04 June 2009 11:29

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

Merci pour toutes ses précisions ! Je patauge un peu moins !

Je ne sais pas comment pas comment afficher mon raster en "un seul morceau" composé de plusieurs tuiles.

le paramètre DATA est inutile puisque le paramètre est défini dans le code javascript inclus dans le html ?

Et les paramètres enlevés dans le html sont des paramètres définis dans le mapfile ?

Pourquoi plus rien ne s'affiche alors que tout est défini ?

Hors ligne

 

#6 Thu 04 June 2009 11:56

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

Re: [Openlayers] Affichage des tuiles d'un raster

Nicolas,

nicolas.leclerc a écrit:

Merci pour toutes ses précisions ! Je patauge un peu moins !

Je ne sais pas comment pas comment afficher mon raster en "un seul morceau" composé de plusieurs tuiles.


C'est OpenLayers qui s'en occupe !

nicolas.leclerc a écrit:

le paramètre DATA est inutile puisque le paramètre est défini dans le code javascript inclus dans le html ?

Et les paramètres enlevés dans le html sont des paramètres définis dans le mapfile ?


Ben si tu utilises un index oui il est inutile, sinon il faut le laisser mais supprimer la configuration du tileindex !

nicolas.leclerc a écrit:

Pourquoi plus rien ne s'affiche alors que tout est défini ?


Parce qu'il y a d'autres erreurs. Déjà fait en sorte que ton WMS fonctionne sans le tileindex qui est inutile pour toi. Puis configure OL, si tu as des tuiles roses ou blanches, tente de récupérer l'url qu'envoie OL (via firebug, fonction "inspect" clique sur une tuile, copie colle l'url dans un nouvel onglet) quel est le message d'erreur ? La bbox est elle correcte ?

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

 

#7 Thu 04 June 2009 12:56

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

Donc après avoir suivi vos conseils :

je suis revenu à l'état de ce matin : MapServer fonctionne en WMS et me affiche parfaitement mon raster en une seule tuile (avec la requête GetMap).

Et donc  OpenLayers me l'affiche en plusieurs tuiles identiques. Cependant, si j'utilise le firebug et la fonction inspecter j'obtiens si je "vise" une tuile

Code:

<div style="overflow: hidden; position: absolute; z-index: 1; left: 376px; top: 114px; width: 256px; height: 256px;">
<img id="OpenLayersDiv126" class="olTileImage" style="width: 256px; height: 256px; position: relative;" src="http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=rasterlh&STYLES=&SRS=EPSG:27561&BBOX=434871,191628,465019,219048&WIDTH=256&HEIGHT=256&FORMAT=image/png&EXCEPTIONS=application%2Fvnd.ogc.se_inimage"/>
</div>

et cela est valable pour chaque tuile mais <img id="OpenLayersDiv126" change de numéro si je change de tuile ( plutot bon signe j'imagine)

J'ai donc tenté un import wms sous QGIS et bien la connexion se passe au mieux mais lors d'un import le raster apparait dans la légende mais pas dans la fenêtre de rendu.

la projection a bien l'air prise en compte car l'échelle est dynamique et le pointeur réactif (se transforme en main)

autrement si je change mon

Code:

 var wms = new OpenLayers.Layer.WMS(
                    "Fond communal",
                    "http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=rasterlh&STYLES=&SRS=EPSG:27561&BBOX=434871,191628,465019,219048&WIDTH=600&HEIGHT=600&FORMAT=image/png",
                    {layers: 'rasterlh'}
                );

en

Code:

var wms = new OpenLayers.Layer.WMS(
                    "Fond communal",
                    "http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map",
                    {layers: 'rasterlh'}
                );

Cela ne fonctionne plus

merci d'avance

Hors ligne

 

#8 Thu 04 June 2009 13:02

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

Re: [Openlayers] Affichage des tuiles d'un raster

Nicolas,

Après la modification de l'url, quelle est l'url de la tuile ?

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

 

#9 Thu 04 June 2009 14:12

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

lorsque je modifie l'url il apparait :

Code:

<div style="overflow: hidden; position: absolute; z-index: 1; left: 120px; top: 231px; width: 256px; height: 256px; display: none;">
<img id="OpenLayersDiv142" class="olTileImage" style="width: 256px; height: 256px; position: relative;" src="http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map&LAYERS=rasterlh&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&SRS=EPSG%3A4326&BBOX=-180,-90,-90,0&WIDTH=256&HEIGHT=256"/>
</div>

et a la place des tuiles ce message msWMSLoadGetParams():WMS Server error .Invalid SRS given : SRS must be valid for all requested layers.

Hors ligne

 

#10 Thu 04 June 2009 14:28

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

Re: [Openlayers] Affichage des tuiles d'un raster

quelques informations :

tu peux ajouter dans les options version='1.3.0' pour imposer la version dans la requête.

À priori il y a un soucis dans la configuration de ton mapfile au niveau de la projection. A t-elle été définie correctement ?

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

 

#11 Thu 04 June 2009 14:30

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

dans QGIS si j'ouvre mon raster de façon classique (ajouter une couche raster) et que je paramètres comme il faut (epsg 27561) dans emprises (en bas a droite) j'obtiens 432778,195858 : 451558,212137 et si je mets cela en extent et en bbox mon image même encore tuilée est plsu juste et de meilleure qualité. Mais ces chiffres ce sont l'extent ou le bbox ?

si j'ouvre le raster en wms sous QGIS bien que celui ci ne s'affiche pas je n'ai pas du tt les mêmes emprises. J'ai l'impression que ma couche se met en wgs84 quand elle arrive en wms

Dernière modification par nicolas.leclerc (Thu 04 June 2009 14:36)

Hors ligne

 

#12 Thu 04 June 2009 14:36

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

Re: [Openlayers] Affichage des tuiles d'un raster

Oui mais OpenLayers demande un EPSG à 4326 par défaut (regarde ton url). Soit tu fais en sorte que MapServer puisse reprojeter ta couche dans cette projection, soit tu définies la projection de ta carte (ton objet map) à la bonne projection :

Code:

map = new OpenLayers.Map($(containerId), {projection: new OpenLayers.Projection("EPSG:27561"),});

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

 

#13 Thu 04 June 2009 15:11

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

Votre message et mon edit se sont croisés !


je n'ai plus qu'une partie de ma barre d'outils je crains d'avoir mal inséré le code

Code:

<html>
    <head>
    <script src="../openlayers/lib/OpenLayers.js"></script>
            
    <script type="text/javascript">

            var map;
            function init() {
                map = new OpenLayers.Map('map');
                
                map = new OpenLayers.Map($(containerId), {projection: new OpenLayers.Projection("EPSG:27561"),});
                
                var wms = new OpenLayers.Layer.WMS(
                    "Fond communal",
                    "http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map",
                    {layers: 'rasterlh'}
                );
                     map = new OpenLayers.Map($(containerId), {projection: new OpenLayers.Projection("EPSG:27561"),});
                map.addLayers([wms]);
                
                var overview = new OpenLayers.Control.OverviewMap();
                map.addControl(overview);
                
                map.addControl(new OpenLayers.Control.LayerSwitcher());
                
                map.addControl(new OpenLayers.Control.MousePosition({
                div: document.getElementById("mouseposition")
                }));
                
                var panel = new OpenLayers.Control.Panel({
                div: document.getElementById("panel")
                });
                map.addControl(panel);

                var history = new OpenLayers.Control.NavigationHistory();
                map.addControl(history);
                panel.addControls([history.next, history.previous]);
                
                map.zoomToMaxExtent();
            
            }
                
        </script>
    </head>

    <body onload="init()">
        <div id="map"  style="width:100%; height: 80%"></div>
        <div id="mouseposition"></div>
        <div id="panel"></div>
 
    </body>
</html>

J'ai relu le post ou vous me disiez que la bbox et l'extent n'était pas la même chose, si je comprends bien la bbox représente la fenetre dans laquelle s'inscrit une map et l'extent est la localisation de la map par rapport à sa projection et l'emprise dans Qgis représente l'extent ?

merci d'avance

Hors ligne

 

#14 Thu 04 June 2009 15:14

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

Re: [Openlayers] Affichage des tuiles d'un raster

Peut être prendre le temps de comprendre wink, cela ne te choque pas ?:

Code:

                map = new OpenLayers.Map('map');
                
                map = new OpenLayers.Map($(containerId), {projection: new OpenLayers.Projection("EPSG:27561"),});

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

 

#15 Thu 04 June 2009 15:37

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

j'indique deux fois une valeur à la variable map c'est cela ?

j'avoue que je suis nul en javascript mais je m'aperçois que je vais devoir suivre quelques cours de javascripts ( merci le site du zéro) si je veux continuer avec OpenLayers

Hors ligne

 

#16 Thu 04 June 2009 15:45

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

Re: [Openlayers] Affichage des tuiles d'un raster

Oui tu as copié-collé directe le code que je t'ai donnée. L'important était l'option : dans l'objet map : map = new OpenLayers.Map(id,options); tu doit lui passer deux paramètres : une chaîne de caractère (id) et un tableau JavaScript (options).

Dans mon exemple, j'utilisai une variable $(containerId), mais chez toi tu l'as définie à 'map'. Vient ensuite l'option que l'on peut définir directement dans l'objet ou utiliser une variable :

Code:

options = {
  projection: new OpenLayers.Projection("EPSG:27561"),
  layers:'nomcouche'
}

Attention : Internet Explorer n'aime pas que l'on termine un tableau JavaScrtip par une virgule, ainsi ceci fera planté ie :

Code:

options = {
  projection: new OpenLayers.Projection("EPSG:27561"),
  autreOptions:'valeur',
}

Alors que le code plus haut non ! Et celui que je t'ai donnée oui wink

Code:

function init() {
                map = new OpenLayers.Map('map', {projection: new OpenLayers.Projection("EPSG:27561")});
                
                var wms = new OpenLayers.Layer.WMS(
                    "Fond communal",
                    "http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map",
                    {layers: 'rasterlh'}
                );

                map.addLayers([wms]);
  ...

tu noteras que l'objet  OpenLayers.Layer.WMS prend trois paramètres : le nom de la couche (chaîne de caractères), l'url (chaîne de caractères) et des options (tableau).

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

 

#17 Thu 04 June 2009 16:15

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

bien là je viens de prendre une double leçon ! D'une de ne plus faire de copier coller sans savoir réellement ce que l'on copie  et une leçon de javascript ! je tacherais de me souvenir de tout cela ! Merci beaucoup pour votre patience et votre temps.

j'ai donc intégré le nouveau code à tout cela et tous les outils s'affichent de nouveau or la carte ne s'affiche pas, malgré tout les tuiles se créent et ont le bon epsg.

Code:

<div style="overflow: hidden; position: absolute; z-index: 1; left: 126px; top: 236px; width: 256px; height: 256px;">
<img id="OpenLayersDiv146" class="olTileImage" style="width: 256px; height: 256px; position: relative;" src="http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map&LAYERS=rasterlh&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&SRS=EPSG%3A27561&BBOX=-180,-90,-90,0&WIDTH=256&HEIGHT=256"/>
</div>

est ce donc bien le problème de bbox ? faut il la définir dans le html ? L'emprise dans QGIS seraient donc bien l'extent ?

merci d'avance

Dernière modification par nicolas.leclerc (Thu 04 June 2009 16:17)

Hors ligne

 

#18 Thu 04 June 2009 16:21

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

Re: [Openlayers] Affichage des tuiles d'un raster

Visiblement il y a encore un soucis au niveau d'OpenLayers car la BBOX est en EPSG:4326 hmm

Code:

BBOX=-180,-90,-90,0

Un bout de code ? Une url public ?

Y.
PS : rajoute ce paramètre dans l'option de la carte : units: 'm'
PPS : pour l'objet WMS tu noteras ici que j'ai dit des bêtises, il y a 4 paramètres dans l'objet.


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

 

#19 Thu 04 June 2009 16:42

nicolas.leclerc
Participant actif
Date d'inscription: 8 Apr 2009
Messages: 78

Re: [Openlayers] Affichage des tuiles d'un raster

ca y est !!!!!!!!!!!!!!!

ça s'affiche en tuile cote à cote j'ai mis l'extent et les meters dans l'option de la carte

Code:

<html>
    <head>
    <script src="../openlayers/lib/OpenLayers.js"></script>
            
    <script type="text/javascript">

            var map;
            function init() {
                
                
               
    map= new OpenLayers.Map('map', 
    {maxExtent:new OpenLayers.Bounds(432778, 195858, 451558, 212137),
    maxResolution: 'auto',
    units:'meters',
    projection:'EPSG:27561'});

               var wms = new OpenLayers.Layer.WMS(
                    "Fond communal",
                    "http://192.168.25.22/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/geoportail_aurh_commerce/geoportail_aurh_commerce2.map",
                    {layers: 'rasterlh'}
                );

                map.addLayers([wms]);

                
                var overview = new OpenLayers.Control.OverviewMap();
                map.addControl(overview);
                
                map.addControl(new OpenLayers.Control.LayerSwitcher());
                
                map.addControl(new OpenLayers.Control.MousePosition({
                div: document.getElementById("mouseposition")
                }));
                
                var panel = new OpenLayers.Control.Panel({
                div: document.getElementById("panel")
                });
                map.addControl(panel);

                var history = new OpenLayers.Control.NavigationHistory();
                map.addControl(history);
                panel.addControls([history.next, history.previous]);
                
                map.zoomToMaxExtent();
            
            }
                
        </script>
    </head>

    <body onload="init()">
        <div id="map"  style="width:100%; height: 80%"></div>
        <div id="mouseposition"></div>
        <div id="panel"></div>
    </body>
</html>

Un grand merci !! Je ne m'en serai jamais sorti seul et j'ai énormément progressé grâce à vous !

je reviendrai sans doute dans pas longtemps poser de nouvelles questions...  smile


Bonne soirée et encore merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB