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 :

accès direct geoportail


Sujet :

IGN API Géoportail

  1. #1
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut accès direct geoportail
    Peut-on accéder directement au géoportail.fr (pas à l'API!) via un lien "URL complété" (genre http://www.geoportail.gouv.fr/accueil.php?zoom=....) pour accéder au geoportail en mode plein écran, sur un lieu précis avec les coordonnées Lambert II, à un zoom déterminé, avec seulement la "carte IGN" ?
    Merci.

  2. #2
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut presque
    On peut accéder à un lieu précis en coordonnées géographiques, à un zoom déterminé (ou une résolution) avec les couches que l'on veut :

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.geoportail.gouv.fr/accueil?c=2.424408532546652,48.84431352143278&z=16&l=GEOGRAPHICALGRIDSYSTEMS.MAPS.3D$GEOPORTAIL:OGC:WMTS@aggregate(1)&permalink=yes
    centre sur l'IGN au niveau 16.

  3. #3
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    1/ Et en coordonnée LambertII? Ce n'est pas possible?
    2/ Et pour avoir l'affichage plein écran?

    Cela devrait être possible.

  4. #4
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    L'accès au géoportail par permalien ne prend en compte que les paramètres que j'ai cités.

  5. #5
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Merci pour ces précisions concernant les coordonnées des points.
    Alors je modifie un peu mes intentions en laissant l'appel au geoportail pour revenir à l'API...

    Je reprends alors l'exemple 1.4 que j'essaye d'adapter à mes coordonnées LambertIIetendu....

    Cela devrait être possible automatiquement en modifiant la projection dans
    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
      var center= undefined;
            if (Args.c) {
                if (Args.c.length==2) {
                    center= {
                        lon: parseFloat(Args.c[0]),
                        lat: parseFloat(Args.c[1])
                    };
                    var bb= OpenLayers.Bounds.fromArray(Geoportal.Catalogue.TERRITORIES[Args.t].geobbox);
                    if (!bb.containsLonLat(center)) {
                        center= undefined;
                    }
                } else if (Args.c.length==1) {
                    if (Args.c==='geolocate') {
                        center= {geolocate: true};
                    } else if (Args.c.indexOf(',')==-1) {
                        center= {place: Args.c};
                    } else {
                        center= {address: Args.c};
                    }
                }
            }
    Mais je n'arrive pas vraiment à mes fins... Je pense qu'un sacré coup de main est nécessaire, comme d'hab!

    La solution serait de transformer toutes mes coordonnées lambert en coordonnées géographiques mais avant de le faire, je lance ici un dernier appel.

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 128
    Points : 1 764
    Points
    1 764
    Par défaut
    Je fais un truc comme cela si on me donne des coordonnées en Lambert IIe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
          p = this.options['lambe'].split(/[,;]/);
          var x = parseFloat(p[0]);
          var y = parseFloat(p[1]);
          var point = new OpenLayers.Geometry.Point(x,y).transform(new OpenLayers.Projection("IGNF:LAMBE"),OpenLayers.Projection.CRS84);
          this.lon = point.x;
          this.lat = point.y;
          this.map.setCenterAtLonLat(this.lon,this.lat);

  7. #7
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Reprenons...

    Suivant ta réponse, j'ai bidouillé un truc du genre :

    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
    var center= undefined;
            if (Args.c) {
                if (Args.c.length==2) {
                    center= {
                        lon: parseFloat(Args.c[0]),
                        lat: parseFloat(Args.c[1])
                    };
    center = new OpenLayers.Geometry.Point(center.lon,center.lat).transform(new OpenLayers.Projection("IGNF:LAMBE"),OpenLayers.Projection.CRS84);
                    var bb= OpenLayers.Bounds.fromArray(Geoportal.Catalogue.TERRITORIES[Args.t].geobbox);
                    if (!bb.containsLonLat(center)) {
                        center= undefined;
                    }
                } else if (Args.c.length==1) {
                    if (Args.c==='geolocate') {
                        center= {geolocate: true};
                    } else if (Args.c.indexOf(',')==-1) {
                        center= {place: Args.c};
                    } else {
                        center= {address: Args.c};
                    }
                }
            }
    Mais je me retrouve toujours sur Paris. Signe d'erreur de codage des coordonnées.

    D'ailleurs, avant la ligne rouge, j'ai bien ma variable center récupérer depuis ma ligne de commande, mais après la transformation ma variable est "undefined"
    A tester ici en regardant sur console.log()

  8. #8
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    Il faut utiliser la classe OpenLayers.LonLat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    center = new OpenLayers.LonLat(center.lon,center.lat).transform(new OpenLayers.Projection("IGNF:LAMBE"),OpenLayers.Projection.CRS84)

  9. #9
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Ok, cela va beaucoup mieux....
    Merci.

    en zoom>15 on a maintenant un logo vers eurogeographics... Peut-on l'enlever?

    Peut-être lié à la couche ADMINISTRATIVEUNITS.BOUNDARIES ?

  10. #10
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Sur l'exemple 1.4 de l'IGN cité ci-dessus, les paramètres mode, view, logosize sont-ils valides?
    Voir ici pour la modif du logosize...

    Ou fais-je une erreur d'écriture?

  11. #11
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    La présence du logo Eurogeographics est en effet dû à l'affichage de la couche des limites administratives entre les niveaux 10 et 18. Les Conditions Générales d'Utilisation stipulent (partie 5) :
    Respect des conditions d’utilisation de la marque Géoportail : Lorsque l’API du Géoportail transmet des mentions de copyright, les logos des organismes producteurs de données géographiques et le logo « Géoportail », vous n’êtes pas autorisé à retirer ces éléments qui doivent apparaître dès lors que les données du Géoportail sont affichées au sein du site internet ou de l’application.

  12. #12
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    Il semble qu'il y ait quelques problèmes avec cette exemple 1.4, je vais jeté un coup d'oeil et je reviens

  13. #13
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    L'exemple 1.4 n'était pas totalement fonctionnel et c'est maintenant réparé pour la branche develop.

    Voici comment utiliser les paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    * Parameters syntax :
         *  * t=|FXX|...
         *  * c=lon,lat|place|address|geolocate (a place has no comma)
         *  * l=|ORTHOIMAGERY.ORTHOPHOTOS(n),...
         *  * z=|zoom
         *  * lang=|fr|...
         *  * desc=popup's content
         *  * labl=popup's title
         *  * marker=|url,width,height,xoffset,yoffset,opacity,zindex,title
         *  * mode=|normal|mini
         *  * view=|Geoportal.Viewer.*
         *  * width=|css
         *  * height=|css
         *  * logosize=|size (in pixels)
    A noter que le paramètre mode n'est utile que si view=Geoportal.Viewer.Default.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Seveur MySQL accées direct ?
    Par Didier100 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/09/2005, 21h35
  2. [TOMCAT] Comment empêcher l'accès direct aux fichiers
    Par thomine dans le forum Tomcat et TomEE
    Réponses: 17
    Dernier message: 14/04/2005, 10h19
  3. Empêcher l'accès direct avec squid
    Par Amélie Ladoque dans le forum Réseau
    Réponses: 6
    Dernier message: 11/04/2005, 14h49
  4. Accès séquentiel/Accès direct etc... kesako ?
    Par da_cruz dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 10/09/2003, 11h22
  5. Accès direct au disque dur
    Par Berdo dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 12/01/2003, 16h21

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