Accueil
 

Carroyage

Entrée 1 Donnée continue
 sur un fond de carte de points ou de surfaces
OU
 1 Donnée continue sur un fond de carte de points ou de surfaces
 et 1 fond de carte contenant 1 polygone fermé
Sortie Donnée continue

Description :
Le module va construire un nouveau fond de carte contenant uniquement des carreaux. Puis, il va calculer la valeur associée à chaque carreau.

Les carreaux auront tous la même taille, définie dans le champ de saisie Taille, que vous pouvez modifier en décochant la case Taille automatique.

Le point Origine du carroyage, que vous pouvez modifier en décochant la case Origine automatique, détermine la position des carreaux. Le premier carreau aura pour centre ce point, sauf si vous le placez hors de la carte: dans ce cas aucun carreau n'aura ce point pour centre, les carreaux seront quand même câlés sur ce point mais à distance.

Vous avez le choix entre deux traitements différents, disponibles sous forme d'onglet à sélectionner: "Méthode standard" ou "Interpolation de points".

Vous devez au préalable indiquer le type de la donnée en entrée, car les calculs seront différents selon ce type:

  • donnée absolue : il s'agit en général d'un nombre d'éléments (ex: 100 personnes, 2000 tonnes, 70 000 véhicules), etc...
  • donnée relative : il s'agit en général d'un taux (la division de deux données absolues), etc...

Onglet Méthode standard



Le calcul est différent selon la nature du fond de carte associé à la donnée en entrée:

  • Si le fond de carte ne contient que des surfaces, la formule utilisée est indiquée ci-dessous.
  • Si le fond de carte ne contient que des points, vous avez le choix entre 3 opérations: somme, moyenne ou nombre d'entités. Les formules utilisées sont indiquées ci-dessous.
  • Si le fond de carte contient à la fois des points et des surfaces, ce qui est FORTEMENT DECONSEILLE, alors le type de la première entité de ce fond de carte déterminera le type de calcul à effectuer:
    • si la première entité est un point, alors toutes les surfaces seront ignorées et le traitement sera effectué uniquement sur les points.
    • si la première entité est une surface, alors tous les points seront ignorés et le traitement sera effectué uniquement sur les surfaces.

La valeur associée à chaque carreau est définie de la façon suivante:

  • Si le fond de carte initial ne contient que des surfaces :
    Soient :
    • Ri la région numéro i
    • Vi la valeur pour cette région
    • Si la surface du carreau remplie par Ri
    • V la valeur associée au carreau

    Alors,
    • Si la donnée en entrée est relative,

      Pour tous les Ri du fond de carte initial contenus dans ce carreau:
                V = somme(Vi x Si)/somme(Si)

      Quelques précisions:

      • Si le carreau est complètement couvert de polygones, alors somme(Si) = surface du carreau, donc
                  V = somme(Vi x Si)/Surfcar
      • Si un morceau du carreau n'est pas couvert par les polygones, il n'est pas compté comme zéro mais comme vide, et sa valeur ne sera pas diminuée par la quantité de vide.

    • Si la donnée en entrée est absolue,

      Le calcul se déroule en deux étapes :
      • étape 1 : pour chaque Ri, on divise sa valeur par le nombre de carreaux inclus dans Ri:
                  Vi = Vi x (surface d'un carreau)/(surface de Ri)
      • étape 2 : pour chaque carreau, pour tous les Ri du fond de carte initial contenus dans ce carreau:
                  V = somme(Vi x Si)/somme(Si)

      Précision: si un morceau du carreau n'est pas couvert par les polygones, il est compté comme zéro.


  • Si le fond de carte initial ne contient que des points :
    Soient :
    • Pi le point numéro i
    • Vi la valeur pour ce point
    • V la valeur associée au carreau

    Alors, pour tous les Pi du fond de carte initial contenus dans ce carreau:
    • somme:        V = somme(Vi)
    • moyenne:      V = somme(Vi)/(nombre de points du fond de carte initial contenus dans le carreau)
    • nombre d'entités:     V = (nombre de points du fond de carte initial contenus dans le carreau)

    Remarques:

    • Si la donnée en entrée est relative, la seule méthode proposée sera le nombre d'entités.
    • Les carreaux du fond de carte créé peuvent être disjoints, puisqu'il faut qu'un carreau contienne au moins un point du fond de carte initial pour être créé.

Le lissage permet d'éliminer les pics de valeurs. Vous pouvez choisir le niveau de lissage que vous désirez (1, 3, 5, 7 ou 9). Si le lissage est différent de 1, alors la valeur V obtenue pour chaque carreau est la moyenne des 9, 25, 49, ou 81 carreaux autour.
Si la donnée en entrée est absolue, le lissage est interdit ( sa valeur sera donc automatiquement mise à 1). En effet, dans le cas d'une donnée absolue, on calcule pour le carreau une valeur théorique, il est donc impossible d'appliquer un lissage qui biaiserait forcément plus encore cette valeur. Ce biais est moins grave avec une donnée relative, déjà biaisée et dépendante d'une autre donnée par nature.

Le seuil de visibilité permet d'éliminer tous les carreaux incomplètement remplis par les régions intersectrices. La valeur que vous saisissez indique un pourcentage, donc ce seuil varie de 0 à 100.
Par exemple, si un carreau placé au bord de la carte ne rencontre qu'une seule région, que cette région occupe 30% du carreau, et que le seuil est de 40%, alors le carreau ne sera pas utilisé.

Onglet Interpolation de points



Cette méthode est disponible uniquement si la donnée en entrée est absolue.

Comme son nom l'indique, cette méthode travaille sur des points. Un prétraitement automatique est ainsi effectué sur toutes les surfaces du fond de carte en entrée pour travailler sur leur centroïde.

L'idée consiste à trouver une valeur approximative de la donnée, non plus sur les points fournis (points jaunes ci-dessous), mais sur un nuage de points régulièrement répartis (points bleus ci-dessous). L'approximation est faite selon une méthode d'interpolation dite de "distance pondérée" (voir ci-dessous le calcul exact).
Il suffit ensuite de contruire un carreau (rouge ci-dessous) autour de chaque point bleu, et de conserver uniquement les carrés qui ont une intersection avec l'enveloppe convexe du nuage de points en entrée.
L'avantage de cette méthode est de tenir compte du voisinage lors de l'approximation de la valeur des carreaux, ce qui n'est pas possible dans la "Méthode standard".

    

  où les points jaunes sont les points du nuage de départ
       les carreaux noirs constituent la grille d'interpolation
       les points bleus sont les noeuds de la grille d'interpolation
       les carreaux rouges constituent le fond de carte fourni en sortie du module

Selon la nature de votre fond de carte, la formule d'interpolation est différente.
Soient :

  • Pi le point numéro i
  • Vi la valeur pour ce point
  • Vk la valeur associée au noeud k de la grille d'interpolation
  • Vp la valeur du point le plus proche du noeud k
  • dik la distance entre le point i et le noeud k
  • m le nombre de points voisins du noeud k

Alors:

  • Cas d'un nuage de points régulier

    Votre nuage de points est bien régulier, il ne comporte pas trop de zones vides ou bien elles sont de petite dimension.

        

  • Cas d'un nuage de points avec de grands espaces vides

    Dans votre nuage de points, de grandes zones de la carte ne comportent aucun point (ou bien leur donnée est invalide). Dans ce cas, le calcul sera légèrement différent. On va ajouter au calcul la moyenne avec le point le plus proche. Cela permettra de donner aux zones vides une valeur plus proche de la réalité supposée. Mais ce procédé a tendance à "lisser" un peu les valeurs, alors on va élever la distance au carré (au lieu du cube), de manière à compenser ce lissage abusif.

        

Vous pouvez choisir le nombre de voisins à prendre en compte dans la formule d'interpolation. Il est difficile de déterminer un nombre de voisins qui produira la meilleure carte, car cela dépend notamment de l'espacement des points de départ.
Cependant, on peut dire que si plus de 12 points sont utilisés, le résultat sera fortement lissé, et si moins de 4 points sont utilisés, le résultat aura des changements brutaux sur la surface (discontinuités).
La meilleure valeur semble être comprise entre 6 et 9.

Pour éviter les effets de bord, il est conseillé de travailler sur une grille plus large que le nuage de points. Un pourcentage d'élargissement de la grille est donc à votre disposition (il est appliqué dans les 4 directions).
Attention: les carreaux qui sont en dehors de la carte représentent une "extrapolation" du nuage et sont à considérer avec précaution.

Remarque: le fond de carte créé est une grille régulière, il ne peut donc pas comporter de trous.

Enveloppe du carroyage :
En reliant au module carroyage un module fond de carte contenant un polygone fermé, il est possible de définir l'enveloppe sur laquelle l'interpolation doit être représentée.

Export :
Vous pouvez exporter le fond de carte produit ainsi que la donnée associée grâce au bouton Export de la carte et des données (cette possibilité est limitée dans certaines versions du logiciel, notamment sur les CDROM cryptés tels que Europe des populations).

Script :

2      module untyped_list ""
3        mod_type integer "103"
3        mod_subtype integer "504"
3        mod_name string "Carroyage"
3        mod_dads integer_list ""
4          ? integer "8"
3        with_interpol boolean "F"
3        data_abs boolean "F"
3        threshold double "50"
3        size double "2"
3        is_auto_size boolean "F"
3        is_auto_origin boolean "T"
3        blur_level integer "3"
3        origin vector ""
4          x_val double "476.849991"
4          y_val double "2248.150024"
4          z_val double "0"
3        pt_calc_type integer "2"
3        neighb_count integer "6"
3        margin_percent integer "5"
3        is_regular_map boolean "T"
3        map_bounds bounds ""
4          bottom_left vector ""
5            x_val double "427.100006"
5            y_val double "2194"
5            z_val double "0"
4          top_right vector ""
5            x_val double "526.599976"
5            y_val double "2302.300049"
5            z_val double "0"

Valeurs pour pt_calc_type :
Somme             0
Moyenne           1
Nombre d'entités  2


Exemple d'utilisation