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 Mon 23 November 2015 11:53

seblegeographe
Juste Inscrit !
Date d'inscription: 22 Apr 2013
Messages: 8

Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini

Hello la communauté

Je vous contacte car je dispose d'un script python déjà bien avancé qui vise à calculer l'indice de gini en fonction de rayons géographiques. Il ne me reste plus qu'à implémenter l'indice de gini, et là j'y arrive pô

Concrètement, l'objet de mon étude vise à calculer l'indice de gini non pas entre toutes les unités géographiques d'un Etat mais en fonction d'une sélection de régions voisines d'un Etat. Pour la partie "sélection des entités" et tout et tout c'est ok, mais pas pour l'indice de gini

Si l'un d'entre vous pouvait m'aider, vous seriez mon sauveur


D'avance merci

Hors ligne

 

#2 Mon 23 November 2015 14:03

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 990
Site web

Re: Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini

Bonjour,

Pour être encore plus concret, pourriez-vous nous détailler les données s'entrée/sortie, la formule de calcul à élaborer ou encore les points spécifiques où vous bloquez dans votre code?

Martin

Dernière modification par nitram (Mon 23 November 2015 14:04)

Hors ligne

 

#3 Mon 23 November 2015 15:00

seblegeographe
Juste Inscrit !
Date d'inscription: 22 Apr 2013
Messages: 8

Re: Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini

Bonjour

Tout d'abord, merci de votre réponse.

Je souhaiterais calculer de manière automatique la formule de l'indice de Gini pour toutes les régions de l'Union européenne mais au niveau local :

Il s'agirait de créer un périmètre (en km  - modifiable : 100km , 200km, 300km, etc) autour d'une région X et de calculer l'indice de gini entre les régions comprises dans ce périmètre (voir image en PJ)

En données d'entrée on aurait le PIB/hab de chaque région de l'Union européenne
En données de sortie (dans une nouvelle colonne créée), on aurait l'indice de gini calculé :

exemple :
colonne 1 : identifiant         colonne 2 : PIB              colonne 3 : indice de gini local
Basse-Normandie              23 000                                0,54
Haute-Normandie               29 000                              0,48
Ile-de-France                   65 000                                0,85
....                                     .....


POUR LE MOMENT : le script de sélection des entités voisines d'une région X est développé :
Le script va me calculer un périmètre autour de la région X (exemple : va me chercher les régions situées à moins de 300 km de la région X) et va me sélectionner toutes les régions comprises dans ce périmètre.
Il ne me reste qu'à implémenter le calcul de l'indice de gini sur la sélection des régions dans le périmètre de la région X

j'ai trouvé quelques scripts en python qui permettent de calculer l'indice de gini ==> par exemple : http://dilumb.blogspot.fr/2012/07/pytho … -gini.html


On aurait donc

1 : en entrée : un fichier shape avec une table attributaire reprenant en lignes toutes les régions de l'Union européenne et en colonnes le PIB des régions européennes

2 : en sortie : la création dans la table attributaire du fichier shape d'une colonne supplémentaire avec le résultat des calculs de l'indice de gini pour chaque région.



J'ai déjà un script qui me permet de calculer ce que l'on appelle en économie la convergence économique locale. Ce script se base exactement sur la méthode que je veux utiliser. Une des mesures possible de mesurer la convergence économique est d'utiliser ce fameux indice de gini

je peux vous envoyer ce script pour que vous puissiez en avoir un aperçu si vous le souhaitez


Merci de votre aide

Dernière modification par seblegeographe (Mon 23 November 2015 15:02)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#4 Mon 04 January 2016 18:24

seblegeographe
Juste Inscrit !
Date d'inscription: 22 Apr 2013
Messages: 8

Re: Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini

Hello

petit up   smile

si vous avez un peu de temps pour regarder, je suis preneur car actuellement toujours coincé à ce sujet

Bien à vous

Hors ligne

 

#5 Tue 05 January 2016 13:51

Nicolas Granier
Participant assidu
Date d'inscription: 19 Apr 2007
Messages: 271

Re: Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini

Bonjour,
Alors j'ai jeté un petit coup d'oeil.
Si je comprends bien :

Vous avez fait un script qui permet de sélectionner plusieurs régions.
Vous récupérez donc plusieurs valeurs de PIB (1 valeur pour chaque région)

L'indice que vous souhaitez calculer prend comme données de départ plusieurs valeurs de PIB uniquement ? Est-ce bien cela ?
Dans le tableau d'exemple que vous citez dans votre précédent post, la colonne rajoutée pour l'indice n'est pas propre uniquement à la région mais aux régions intersectées par le périmètre de 100, 200 ou 300Km ?

Le script que vous avez trouvé fonctionne. Il est relativement bien fait (sur la structure - pour la formule de calcul je n'ai jamais calculé un indice de Gini). Attention toutefois il s'accompagne d'une licence, prenez le temps de la lire.
Le script fait appel à une interface graphique et si on n'a pas les bonnes librairies sur son poste et bien cela ne marche pas.
Mais comme il est bien fait on peut se passer de l'interface graphique. il faut commenter la ligne 23 (l'import de l'interface) et commenter les lignes 74 à 77 qui lance l'interface.

Le fonctionnement du script est à partir de là est très simple.
Vous avez une fonction qui s'appelle def GRLC(values):

Vous lui passez en paramètre (à la place de value) une liste de valeur et en retour vous obtenez une liste de 4 résultats :
- l'index de Gini
- le coefficient de Gini (celui qui semble vous intéresser)
- le Robin Hood index
- et les points de Lorenz

par exemple si vos différents PIB sont 12,58,64,78
Dans le code vous allez avoir ceci

Code:

listePIB = [12,58,64,78]
indiceGini = GRLC(listePIB)[1]

il ne reste plus qu'a intégrer cette fonction à votre code.

Je vous mets en PJ une capture d'écran du calcul de l'indice avec les valeurs 12,58,64,78 pour que vous vérifier si le calcul vous semble bon
A+
Nicolas GRANIER

Dernière modification par Nicolas Granier (Wed 06 January 2016 11:03)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB