IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SIG : Système d'information Géographique Discussion :

[MapServer/OpenLayers]Afficher un shapefile contenant un layer de TYPE LINE


Sujet :

SIG : Système d'information Géographique

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Points : 28
    Points
    28
    Par défaut [MapServer/OpenLayers]Afficher un shapefile contenant un layer de TYPE LINE
    Bonjour à tous,

    Je souhaite afficher le contenu d'un shapefile en utilisant MapServer avec Openlayers. J'ai réussit à le faire dans le cas où le type du layer est POLYGON mais je n'arrive pas à le faire quand le type du layer est LINE.

    Voici les infos du fichier shape à afficher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    INFO: Open of `C:\ms4w\Apache\htdocs\my_shape_files\shape_ams\EXP_SEGMENT_FONCTIONNEL.shp'
    using driver `ESRI Shapefile' successful.
    
    Layer name: EXP_SEGMENT_FONCTIONNEL
    Geometry: Line String
    Feature Count: 6
    Extent: (633527.743437, 2517184.387950) - (669562.958005, 2556945.272294)
    Layer SRS WKT:
    (unknown)
    ID_SEGMENT: Real (24.5)
    ID_RESEAU: Real (24.5)
    TYPE_ETB_O: String (5.0)
    ID_ETB_ORI: Real (24.5)
    TYPE_ETB_E: String (5.0)
    ID_ETB_EXT: Real (24.5)
    CODE_OUVRA: String (30.0)
    ID_RAMONAB: Real (24.5)
    CLASSIFICA: String (80.0)
    LONGUEUR_S: Real (24.5)
    PME: Real (24.5)
    EXPL_DEGS_: String (80.0)
    COMMENTAIR: String (255.0)
    PK_INIT: Real (24.5)
    ID_ENTITE_: String (30.0)
    STATUT_CON: String (1.0)
    AUTEUR: String (80.0)
    DATE_DERNI: Date (10.0)
    Voici le contenu du mapfile que j'ai écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    MAP
      IMAGETYPE      PNG
      EXTENT         633527.743437 2517184.387950 669562.958005 2556945.272294
      SIZE           400 300
      SHAPEPATH      "/ms4w/Apache/htdocs/my_shape_files/shape_ams"
      IMAGECOLOR     255 255 255
      LAYER
        NAME         EXP_SEGMENT_FONCTIONNEL
        DATA         EXP_SEGMENT_FONCTIONNEL
    	TYPE         Line
        STATUS       DEFAULT
        CLASS
          NAME       "AMS Example"
          STYLE
            COLOR        232 232 232
            OUTLINECOLOR 32 32 32
          END
        END
      END
    END
    et enfin voici le contenu du fichier .html cotenant le code javascript de openlayers:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>MapServer Layer: AMS Example</title>
        <script src="../../lib/OpenLayers.js"></script>
        <script type="text/javascript">
            var map, layer, mybounds;
    
            function init(){
                map = new OpenLayers.Map("map");
                layer = new OpenLayers.Layer.MapServer( "Exemple AMS", "http://localhost:8081/cgi-bin/mapserv.exe?map=/ms4w/Apache/htdocs/my_examples_MS/ams_exp.map", {layers: "EXP_SEGMENT_FONCTIONNEL", format: 'image/png', isBaseLayer: false, opacity: 1});
                map.addLayer(layer);
    			mybounds = new OpenLayers.Bounds(633527.743437,2517184.387950,669562.958005,2556945.272294);
    			map.zoomToExtent(mybounds);
                map.addControl( new OpenLayers.Control.LayerSwitcher() );
            }
            
        </script>
      </head>
      <body onload="init()">
        <div id="title">MapServer Layer: AMS Example</div>
        <div id="map"></div>
      </body>
    </html>
    Quelqu'un a-t-il une idée de ce qui ne va pas ici dans mon code?

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    J'ai essayé de faire afficher ce même layer avec mapserver sans utiliser openlayers et ça a marché. Le problème est donc dans le code javascript faisant appel aux methodes de openlayers. J'ai débugué le code en question mais je ne trouve aucune anomalie. C'est peut-être dans la requête de openlayers à mapserver (là ou je fait appel à la methode OpenLayers.Layer.MapServer() )que réside le problème mais je ne suis pas sure et je ne sais pas comment faire pour le savoir puisque le code ne donne aucune erreur. Quelqu'un a-t-il une idée SVP??? Je ne sais plus quoi faire!

Discussions similaires

  1. Réponses: 13
    Dernier message: 27/09/2006, 18h33
  2. Afficher les coordonnées d'un layer dans des champs texte
    Par renaud26 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 15/08/2006, 14h53
  3. Comment afficher une popup contenant un progress bar ?
    Par jlassira dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 16/03/2006, 18h49
  4. afficher un BufferImage contenant une BMP monochrome
    Par JavaLeDireAToutLeMonde dans le forum 2D
    Réponses: 3
    Dernier message: 08/12/2005, 10h44
  5. Comment afficher un Bitmap contenant une couche alpha ?
    Par pwozniak dans le forum Composants VCL
    Réponses: 9
    Dernier message: 17/01/2005, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo