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

Bibliothèques & Frameworks Discussion :

Comment utiliser centroid [LeafLet]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Par défaut Comment utiliser centroid
    Bjr,

    Je dispose de X_CENTROID et Y_CENTROID dans les properties des polygones d'un geojson.
    Comment s'en servir pour placer un marker au barycentre de mes polygones ?
    Merci

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    montrez nous un exemple de code.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Par défaut [LeafLet] Comment utiliser centroid
    Dans un geoJSON des départements je trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [{"type":"FeatureCollection","features":
    	[{"type":"Feature","properties":{"ID_GEOFLA":4,"CODE_DEPT":"04","name":"ALPES-DE-HAUTE-PROVENCE","CODE_CHF":"070","NOM_CHF":"DIGNE-LES-BAINS","X_CHF_LIEU":9590,"Y_CHF_LIEU":63379,
    "X_CENTROID":9596,"Y_CENTROID":63394,
    "CODE_REG":"93","NOM_REGION":"PROVENCE-ALPES-COTE D'AZUR","population":120.456},
    "geometry":{"type":"Polygon","coordinates":[[[6.63,43.78],[6.62,43.8], 
    bla bla bla ... ]]}}
    Je voudrais utiliser ces références pour placer un marker au "centre" de chaque département.

    Mais je ne comprends pas la manière d'utiliser
    ou https://leafletjs.com/reference-1.7.1.html#polyline-getcenter

    Si c'est bien ce qu'il faut ...

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    les propriétés du geojson sont des données libres qui ne sont pas utilisées par la carte.
    mais par contre vous pouvez lire le tableau de propriétés en passant par l'argument "feature" par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    geoJSONLayer.eachLayer(function (e) {
        console.log(e["feature"]["properties"]);
    });

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Par défaut [LeafLet] Comment utiliser centroid
    Bjr,

    Je sais créer une fonction me permettant d'afficher des données dans un Layer. La question n'est pas là. Je me sers déjà de certaines propriétés dans une autre fonction pour faire une carte choroplèthe.

    Ce que je cherche c'est la formule mathématique me permettant de trouver les coordonnées du barycentre de mon polygone grâce aux données fournies par :
    X_CENTROID et Y_CENTROID.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var lat = f(X_CENTROID)
    var ln = f(Y_CENTROID)
    
    var marker = L.marker([lat, ln])
    Merci de votre aide

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,

    Citation Envoyé par augier26
    Ce que je cherche c'est la formule mathématique me permettant de trouver les coordonnées du barycentre de mon polygone grâce aux données fournies par :
    X_CENTROID et Y_CENTROID.
    je n'en vois pas trop l’intérêt attendu que, si je ne m'abuse, les « centroids » exprime une distance en mètres par rapport aux bords du polygone ou quelque chose dans ce style.

    Tu peux récupérer les données du polygone, dans ton JSON, tonJSON.geometry.coordinates, tu en crées un L.polygon que tu lies à la carte, via addTo(), ainsi tu peux récupérer le centre de celui-ci via la méthode getCenter() des L.polygon.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. Comment utiliser un cache ?
    Par TOM-Z dans le forum XMLRAD
    Réponses: 4
    Dernier message: 14/03/2003, 09h55
  3. comment utiliser actionscript ?
    Par webs dans le forum Flash
    Réponses: 3
    Dernier message: 09/02/2003, 23h11
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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