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 :

Problème de KML ne s'affichant pas


Sujet :

IGN API Géoportail

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut Problème de KML ne s'affichant pas
    Bonjour,

    Je souhaite charger un fichier KML avec loader sur l'API du géoportail. J'utilise donc le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    overlays:{'KML':[{name:'Test', url:'http://MON/CHEMIN/Test.kml'}]}
    Mais la couche KML ne s'affiche pas sur ma carte. Je précise que ce code fonctionne avec d'autres fichiers KML plus légers.
    Le fichier est très lourd (300 Mo), cela pourrait-il être à l'origine de mon problème ?
    Si oui, m'est-il alors possible de faire en sorte que seulement une partie de mon fichier KML (un "carreau" de la carte) se charge lors de la visualisation, correspondant à la portion de carte en cours de visualisation, afin de réduire le poids ? Comment programmer cela ?

    Merci par avance et bonne fin de semaine

  2. #2
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Il devrait s'afficher au bout de quelques dizaines de minutes.

    Mieux vaudrait recourir à un serveur WFS (voire WM(T)S

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Hmm, m'est-il possible de mettre en ligne mes propres données sur un serveur WM(T)S ? Car le fichier KML dont je dispose ne figure pas parmi les couches du géoportail, il m'est donc impossible de le récupérer ainsi.
    Merci par avance

  4. #4
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    Désolé pour le manque de précision, il s'agit de mettre en place votre propre serveur de données, de type geoserver (http://geoserver.org/), dans lequel vous pourrez intégrer vos données métiers et les diffuser en ligne sous forme de flux WFS, WMS ou WMTS.
    Si vous avez des attributs à interroger derrière vos objets géographiques, le WMS ou WMS (suivant ce que vous mettrez en place) devront être configurés en permettant l'opération GetFeatureInfo (c'est une option pour ce type de flux).

    Vous covisualiserez ainsi les ressources issues du Géoportail et vos propres données métier tout comme dans cet exemple : http://preview.tinyurl.com/gsumkz9

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    D'accord je vois, merci beaucoup pour votre réponse ! Je vais chercher de ce côté alors.
    Bonne soirée

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    J'ai essayé cette solution et ça fonctionne très bien du côté geoserver. Merci beaucoup !

    Cependant, l'exemple de code fourni ici ne me semble pas être compatible avec mon code, car j'ai opté pour une solution différente : si je me rappelle bien, j'ai codé "avec loader", tandis que cet exemple de code est "sans loader". Existe-t-il une solution pour intégrer des couches du geoserver avec le code "avec loader" ? Ou faut-il que je change mon code ?
    Merci par avance et bonne journée

  7. #7
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Sans avoir votre code pour voir ce qu'il en est et éventuellement reproduire ce qui est fait, j'éprouve des difficultés à répondre (enfin pour ma part)

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Ok c'est vrai, voici mon code :

    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
    <!DOCTYPE html>
    <html>
      <head>
        <title>Test</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <style type="text/css">
    
        div#viewerDiv {
            width:800px;
            height:600px;
            background-color:white;
            background-position:center center;
            background-repeat:no-repeat;
        }
        </style>
      </head>
      <body>
        <div id="viewerDiv"></div>
        <script type="text/javascript">
        var iv= null;
        window.onload= function() {
            iv= Geoportal.load(
                'viewerDiv',
                ['MA CLE'],
                    {lon:2,
                    lat:43
                },18,
                {language:'fr',
                onView:function(options){var viewer= this.getViewer();},
    
                overlays:{'WMS':[{name:'cours_d_eau', url:'http://localhost:8080/geoserver/cite/wms?service=WMS&version=1.1.0&request=GetMap&layers=cite:cours_d_eau&styles=&bbox=102391.0,6050406.6,1242369.6,7113854.9&width=768&height=716&srs=EPSG:2154&format=text%2Fhtml%3B%20subtype%3Dopenlayers'}]},
                layers:['ORTHOIMAGERY.ORTHOPHOTOS','HYDROGRAPHY.HYDROGRAPHY','GEOGRAPHICALNAMES.NAMES', 'TRANSPORTNETWORKS.ROADS'],
                layersOptions:{'HYDROGRAPHY.HYDROGRAPHY':{visibility:true, opacity:1}, 'GEOGRAPHICALNAMES.NAMES':{visibility:true, opacity:1}, 'TRANSPORTNETWORKS.ROADS':{visibility:true, opacity:1}}
                }
            );
        };
        </script>
        <script type="text/javascript" charset="utf-8" src="http://api.ign.fr/geoportail/api/js/2.0/Geoportal.js"></script>
      </body>
    </html>
    Il me semblait logique d'écrire mon code de la sorte pour récupérer mes données du geoserver. Mais la partie en gras est l'URL de prévisualisation de ma couche dans geoserver, que j'ai copié. Le problème étant qu'il s'agit d'un travail en localhost, alors que pour qu'un utilisateur quelconque de mon site puisse récupérer ces données, il faudra qu'il appelle un "vrai lien", surement de type "www.geoserver.org/...".
    Mon problème est donc que je ne sais pas exactement quel lien mettre pour récupérer ces données et je n'arrive pas à trouver ma réponse sur internet... Actuellement, la console de mon navigateur me renvoie (sans surprise) "404 not found".

  9. #9
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    Il y a une certaine confusion :
    • l'exemple de la galerie utilise le SDK nouvellement mis à disposition
    • Votre code appelle l'API V2.0 qui est bientôt déprécié (d'ailleurs la 2.0 n'est pas la plus récente de l'API V2)


    Cela diffère donc quelque peu.

    Je tente la réponse suivante :

    Si vous restez sur l'API V2, il faut vous référer au chapitre "Ajout de couches métier" de cette page : http://api.ign.fr/tech-docs-js/fr/we...on_de_la_carte qui vous renvoie d'ailleurs sur les paramètres nécessaires pour configurer une couche WMS.
    De fait vous vous apercevrez qu'il faut indiquer l'URL de votre service sous cette forme : http://localhost:8080/geoserver/cite/wms puis renseigner le nom de votre couche et les paramètres associés.

    Par exemple, ce que pourrait contenir le overlays :
    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
            "WMS",
            'sandre.layer.name',
            "http://services.sandre.eaufrance.fr/geo/mdo_FXX?",
            {//paramètres_du_wms: contient tous les paramètres nécessaires au paramètrage du service WMS
                layers:'MasseDEauRiviere',
                format:'image/png',
                transparent:'true'
            },
            { //options_couche: contient les paramètres pour gérer le comportement de la couche WMS
                singleTile:false,
                projection:'EPSG:4326',
                units:'degrees',
                // maxExtent expressed in EPSG:4326 :
                //maxExtent: new OpenLayers.Bounds(-180,-90,180,90),
                maxExtent: new OpenLayers.Bounds(-4.52096,39.4787,11.6976,51.3959),
                minZoomLevel: 5,
                maxZoomLevel:15,
                opacity:1,
                isBaseLayer: false,
                visibility: false,
                // add GetFeatureInfo button :
                afterAdd: addGetFeatureInfoControl,
                originators:[
                    {
                        logo:'sandre',
                        pictureUrl: 'img/logo_sandre.gif',
                        url: 'http://sandre.eaufrance.fr'
                    }
                ]
            }
    Exemple: http://api.ign.fr/tech-docs-js/examp...alMap_wms.html

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Je suis un peu perdu... Le lien que j'ai mis est bel et bien de la forme "http://localhost:8080/geoserver/cite/wms" comme vous l'avez dit. J'ai simplement copié collé le lien de la prévisualisation du geoserver, mais ça ne fonctionne pas, bien que j'aie pris soin de renseigner les paramètres de l'url.
    (Mon url complet est le suivant : http://localhost:8080/geoserver/cite...nlayers#toggle)

    J'ai d'ailleurs suivi le tutoriel dont vous parlez. Je ne comprends vraiment pas ce qui ne marche pas, je dois passer à côté de quelque chose.
    En tout cas merci beaucou pde votre aide

  11. #11
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    overlays:{
    	'WMS':[{name:'Couches geolo', 
                         url:'http://geoservices.brgm.fr/geologie', 
                        options:{//paramètres_du_wms: contient tous les paramètres nécessaires au paramètrage du service WMS
                                      params:{layers:'SCAN_D_GEOL50',
                                      format:'image/png',
                                      transparent:'true'}
                                     }
                       }
                     ] 
                 }
    Et vous remplacez

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Super ça marche, merci beaucoup !
    Bonne journée

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    J'ai encore un problème... Je voudrais que les données du geoserver s'affichent sur une carte de mon site, sans avoir besoin de démarrer geoserver au préalable. Actuellement, si je ferme geoserver, les données ne s'affichent plus sur la carte. Comment m'est-il possible de récupérer les données sans démarrer geoserver ?

    Ah et aussi, quand j'ouvre la prévisualisation de ma couche de données, geoserver m'affiche automatiquement les informations en-dessous de la carte, lorsque je clique sur un cours d'eau (son nom, son code...). Comment puis-je récupérer ces données sur ma carte ?

    Merci par avance et bonne journée

  14. #14
    Membre confirmé Avatar de lboulanger
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2014
    Messages : 262
    Points : 529
    Points
    529
    Par défaut
    Bonjour,

    En effet, Geoserver doit être lancé pour que votre flux WMS soit accessible.

    Pour le deuxième point, il vous faut mettre en place une requête de type GetFeatureInfo sur votre couche, et traiter le résultat de la requête afin de l'afficher, par exemple dans une popup. Tout cela doit être fait du côté de votre application, avec des fonctionnalités d'OpenLayers 2 (exemples : http://dev.openlayers.org/examples/g...nfo-popup.html, http://dev.openlayers.org/examples/g...o-control.html), mais attention cette API n'est (quasiment) plus maintenue.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Merci pour votre réponse. Pensez-vous qu'il m'est possible de connecter le serveur de mon site internet à geoserver, pour que mon serveur récupère le flux wms de geoserver et l'affiche sur mon site internet ? Car le but est que les utilisateurs puissent avoir accès à ces données sur une carte de mon site, donc si mon serveur ne peut pas se connecter à geoserver je ne vois pas comment ça pourrait fonctionner...
    Et pour ce qui est des informations, je vais regarder ça, merci pour votre aide.

    Bonne journée et merci encore

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    up

  17. #17
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    Si vous faites de l'auto-hébergement, vous pourrez très bien installer geoserver sur le serveur de votre site internet.
    Le cas échéant, cela dépend de votre hébergeur ou bien il faut vous mettre à l'auto-hébergement.
    C'est possible avec certains FAI comme Free qui vous propose un sous domaine monserveur.freeboxos.fr. Par contre cela veut dire que chez vous, vous disposez d'un géoserver (sur un ordinateur, serveur dédié) branché 24/24.
    Cela implique d'avoir une IP fixe, d'activer le mode routeur de la box et de faire une redirection de ports de telle façon à ce que le geoserver puisse être vu de l'extérieur.

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup pour votre réponse. Malheureusement notre serveur n'est pas auto-hébergé, mais géré par un hébergeur. Je vais donc essayer de trouver une solution alternative, probablement en découpant mon KML en "tiles", puisqu'il semble impossible de passer par geoserver dans mon cas.
    Bonne journée

  19. #19
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Votre site reste chez votre hébergeur et le geoserver est autohébergé, c'est une solution

  20. #20
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Il se trouve que mon employeur dispose en fait d'un serveur qu'il n'utilise pas, on a donc installé tomcat dessus pour pouvoir ensuite y installer le geoserver, donc on va peut-être pouvoir trouver une solution comme ça. Merci beaucoup pour votre aide

Discussions similaires

  1. Réponses: 8
    Dernier message: 14/04/2014, 12h19
  2. Lignes kml ne s'affichent pas
    Par hm7845 dans le forum IGN API Géoportail
    Réponses: 6
    Dernier message: 16/10/2013, 21h02
  3. Problème avec un VBO qui ne s'affiche pas
    Par shenron666 dans le forum OpenGL
    Réponses: 1
    Dernier message: 28/10/2007, 18h55
  4. [SimpleXML] Problème avec simpleXML : il n'affiche pas le contenu de mon élément
    Par ploxien dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/05/2007, 19h43
  5. MC ne s'affiche pas, problème de boucle?
    Par jfrsm dans le forum Flash
    Réponses: 1
    Dernier message: 12/02/2007, 09h50

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