Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 07 May 2019 15:11

aiaiai
Juste Inscrit !
Date d'inscription: 25 Apr 2019
Messages: 8

Du code Open Layer à python pour QGIS

Bonjour,
j'ai un code Javascript qui calcul et applique les cercles proportionnels sur une carte
Je voudrais ré-écrire ce code mais en python pour QGIS
débutante sur python (PyQgis), pourriez vous m'aider? svp

Voici le code JS:

Code:

// PREPARATION DE LA COUCHE "SP"

var style_SP = new OpenLayers.Style({pointRadius:'${RAYON}',strokeColor:'black',strokeWidth:0.5,strokeOpacity:1.0,fillOpacity:0.8,fillColor:'#4281D4'});
var style_couche_SP = new OpenLayers.StyleMap({'default':style_SP});
var couche_SP = new OpenLayers.Layer.Vector('Couche SP',{styleMap:style_couche_SP});
carte.addLayer(couche_SP);

// PEUPLEMENT DE LA COUCHE "SP"

function peupler_couche_SP(couche,champ,rayon_max)
{
    // DETERMINATION DE LA VALEUR MAXIMALE
    var valeurs = [];
    for(var i in couche['features'])
    {
        valeurs.push(couche['features'][i]['attributes'][champ]);
    }
    var valeur_max = Math.max.apply(Math,valeurs);

    // CONSTRUCTION DES ENTITES VECTORIELLES
    var centroides = [];
    for(var i in couche['features'])
    {
        var centroide = couche['features'][i]['geometry'].getCentroid();
        var rayon = Math.sqrt(couche['features'][i]['attributes'][champ])*(rayon_max/(Math.sqrt(valeur_max)));
        centroides.push(new OpenLayers.Feature.Vector(centroide,{RAYON:rayon}));
    }
    couche_SP.destroyFeatures();
    couche_SP.addFeatures(centroides);
}

Merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB