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

IGN API Géoportail Discussion :

Openlayers, geoportail et projections


Sujet :

IGN API Géoportail

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Openlayers, geoportail et projections
    Bonjour,

    Je continue à bidouiller pour faire une carte, en récupérant et en adaptant des bouts de code. J'essaie d'utiliser la version minimum du geoportail avec openlayers, 3 couches de base et un kml (et ensuite plusieurs kml). Mais j'ai un souci de "centrage" des cartes.
    1 - La carte IGN ne s'affiche pas au démarrage. Elle s'affiche ensuite quand je change de base layer puis je reviens dessus.
    2 - Mon KML se situe quelque part dans l'océan Arctique pour les cartes IGN. Idem pour les photos aériennes. Par contre, sur le calque OSM, tout va bien, il est bien placé ...

    Je pense que c'est une histoire de projection ... quelle projection utiliser, à quel endroit la définir ? Je vous mets mon code ci-dessous.

    Merci de votre indulgence ...



    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    map= new OpenLayers.Map('viewerDiv', OpenLayers.Util.extend({
    		projection: new OpenLayers.Projection("EPSG:4326"),
    		//displayProjection: new OpenLayers.Projection("EPSG:4326"),
            // add controls :
            controls:[
                new OpenLayers.Control.PanZoomBar(),
                new OpenLayers.Control.NavToolbar(),
                new OpenLayers.Control.LayerSwitcher({'ascending':false}),
                new OpenLayers.Control.ScaleLine(),
                new OpenLayers.Control.MousePosition(),
                new OpenLayers.Control.KeyboardDefaults(),
                new OpenLayers.Control.Attribution(),
                new Geoportal.Control.PermanentLogo(),
                new Geoportal.Control.TermsOfService()
            ]},
            // add IGN's GeoRM :
            gGEOPORTALRIGHTSMANAGEMENT));
    
    	// ajout des layers de base
    	var layer_wms = new OpenLayers.Layer.WMS(
    			"Cartographie",
    			"http://vmap0.tiles.osgeo.org/wms/vmap0",
    			{layers: "basic"}
    	);
    
        
        var options = {
            name: "Cartes IGN",
            url: "http://gpp3-wxs.ign.fr/" + clef_geoportail + "/wmts",
            layer: "GEOGRAPHICALGRIDSYSTEMS.MAPS",
            matrixSet: "PM",
            style: "normal",
            numZoomLevels: 19,
    		attribution: '<a href="http://www.geoportail.fr/" target="_blank"><img src="http://api.ign.fr/geoportail/api/js/2.0.0beta/theme/geoportal/img/logo_gp.gif"></a> <a href="http://www.geoportail.gouv.fr/depot/api/cgu/licAPI_CGUF.pdf" alt="TOS" title="TOS" target="_blank">Mentions légales</a>'
        };
        var layer_cartes = new OpenLayers.Layer.WMTS(options);
    	
        options.name = "Photos IGN";
        options.layer = "ORTHOIMAGERY.ORTHOPHOTOS";
        options.numZoomLevels = 20;
        var layer_photos = new OpenLayers.Layer.WMTS(options);                
    	
    	// ajout des layers KML
    	              
    	var couche_rw = new OpenLayers.Layer.GML("KML", "rw_01.kml", {			
    			strategies: [new OpenLayers.Strategy.Fixed()],
    			protocol: new OpenLayers.Protocol.HTTP({
                    url: "rw_01.kml",
                    format: new OpenLayers.Format.KML({
                        extractStyles: true, 
                        extractAttributes: true,
                        maxDepth: 2
                    })
                })
    		});             
    
        map.addLayers([ layer_cartes, layer_photos, layer_wms, couche_rw]);

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 124
    Points : 1 764
    Points
    1 764
    Par défaut Un début de piste ...
    J'ai cette page http://mga.alwaysdata.net/geoportail...s/ol_gpp3.html qui affiche un kml sur fonds OSM ou IGN

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    Génial. C'est exactement ce que je souhaitais faire. Merci beaucoup !

Discussions similaires

  1. OpenLayers + Geoportail + GWT
    Par ctlnPegas dans le forum IGN API Géoportail
    Réponses: 17
    Dernier message: 14/05/2014, 14h10
  2. projection: OpenLayers. Projection. CRS84
    Par cmail dans le forum IGN API Géoportail
    Réponses: 22
    Dernier message: 05/03/2011, 16h50
  3. Geoserver et Geoportail (projection?)
    Par mougoye dans le forum IGN API Géoportail
    Réponses: 8
    Dernier message: 14/08/2009, 21h15
  4. erreur sur OpenLayers.Projection('IGNF:RGF93');
    Par mga_geo dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 28/07/2009, 16h40
  5. Projection des couches Geoportail en Lambert 93
    Par Mick Helley dans le forum IGN API Géoportail
    Réponses: 35
    Dernier message: 09/06/2009, 09h36

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