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 :

Affichage du nombre de points dans une zone


Sujet :

IGN API Géoportail

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut Affichage du nombre de points dans une zone
    Bonjour à tous,

    Voilà j'ai pondu une application avec l'API de l'IGN et il me manque juste une fonctionnalité.

    J'explique le cas: lorsque je dezoom ma carte un certain nombre de points très proche se retrouvent comme regroupés en paquet ( ce qui est le fonctionnement normal ) j'aimerais pouvoir afficher le nombre de points contenus dans cette zone est-ce possible ?

  2. #2
    Membre Expert Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Par défaut
    Bonjour,

    si votre couche est une couche vecteur, la solution est à chercher de ce côté :.

    cf. http://dev.openlayers.org/releases/O...luster-js.html

    qui permet de gérer un affichage aggrégé des points trop proches à pertir d'une certaine échelle

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 133
    Par défaut
    J'ai l'impression que cette fonctionnalité a des problèmes de regroupement dans le cas de l'API cf http://mga.alwaysdata.net/geoportail..._strategy.html

    L'ensemble des points se retrouve du côté de Saint-Malo avec des coordonnées au niveau de ce feature "cluster" en wgs84.

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 133
    Par défaut
    La page http://edewaele.toile-libre.org/?p=113 m'a donné le début de la réponse ...
    En calculant la distance dans la bonne projection, cela se passe nettement mieux.

  5. #5
    Membre chevronné

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 44
    Par défaut Affichage du nombre de points dans une zone
    Bonjour et merci de votre aide à tous,

    Il me reste encore un petit soucis, je n'arrive pas à appliquer le cluster...
    Voici le code coupable, 0 erreurs javacript remontées...

    Voyez-vous une erreur ? :s

    var clusterStyle = new OpenLayers.Style({
    label:"${nombre}",
    graphicWidth: 20,
    graphicHeight: 20
    }, {
    context: {
    nombre: function(feature) {
    if(feature.attributes.count>=2)
    return feature.attributes.count;
    else
    return "";
    }
    }
    });

    var clusterCat = new OpenLayers.Strategy.Cluster();

    clusterCat.shouldCluster = function(cluster,feature)
    {
    if(cluster.cluster[0].attributes.type != feature.attributes.type)
    {
    return false;
    }

    var cc = cluster.geometry.getBounds().getCenterLonLat();
    var fc = feature.geometry.getBounds().getCenterLonLat();
    var distance = (Math.sqrt(Math.pow((cc.lon - fc.lon), 2) + Math.pow((cc.lat - fc.lat), 2)) / this.resolution);
    return (distance <= 35);
    };

    var layerPOI = new OpenLayers.Layer.Vector("Points d'intérêt", {
    projection: new OpenLayers.Projection("EPSG:4326"),
    strategies: [clusterCat],
    styleMap: clusterStyle
    });

    viewer.getMap().addLayer(layerPOI);

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 133
    Par défaut
    Mon code a été amputé de nombreuses lignes !
    Il faut repartir d'une version fraiche de ma page puis appliquer les modifications une à une jusqu'à obtenir le comportement souhaité.

Discussions similaires

  1. [A-00] Compter le nombre de caractère dans une zone de texte
    Par etoileetoile dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/05/2024, 17h31
  2. Réponses: 3
    Dernier message: 10/02/2010, 22h02
  3. Affichage des sauts de lignes dans une zone de texte
    Par Whombat dans le forum Langage
    Réponses: 3
    Dernier message: 25/01/2009, 02h47
  4. Réponses: 3
    Dernier message: 04/10/2007, 19h06
  5. Réponses: 3
    Dernier message: 27/09/2006, 11h35

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