La logique booléenne permet d'interroger plusieurs attributs simultanément.
L'algèbre booléenne :
- utilise les opérateurs => ET, OU, XOR, NON
pour vérifier qu'une condition est vrai ou fausse.
- ne fonctionne que sur des images binaires (en 0 ou 1)
tab. 1 - L'arithmétique booléenne
A B non A A et B A ou B A xor B 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 0 N.B. : le 1 signifie «vrai» et le 0 «faux»
C'est la fonction OVERLAY, dans Idrisi, qui permet cette arithmétique.
Cependant, seuls les opérateurs OU et ET sont directement accessibles :
OU => Max ou Cover
ET => Multiply
Pour les autres opérateurs, il faut réaliser des images intermédiaires (cf. tab. n°3).
La simple logique booléenne de ces quatre règles peut être représentée graphiquement par les diagrammes de Venn.
tab. 2 - Les opérateurs booléens à l'aide des diagrammes de Venn
Opération Résultat Opérateurs Équivalents en anglais Union OU OR, all of the terms Intersection ET AND, any of the terms Exclusion SAUF NOT, NOT AND Opposition OU exclusif XOR
- Comment construire l'opérateur XOR (Ou exclusif) ?
- Réaliser une addition ;
- La faire suivre d'une reclassification de tout ce qui est différent de 1 en 0.
tab. 3 - Opération booléenne avec l'opérateur logique XOR
FLOOD
BESTSOIL
BESTSORG 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 2
À titre d'exemple nous disposons, dans la base de données, d'une couche des sols avec les attributs qui décrivent la texture et l'altitude de l'horizon supérieur. Si la condition «A» regroupe les zones ayant une texture argileuse et, par ailleurs, si les zones pédologiques où l'altitude n'excède pas 9 m sont associées à la condition «B», alors la requête logique fonctionne comme suit dans le tableau n°4.
X = A et B identifie toutes les zones correspondantes à la combinaison de la texture argileuse et de l'altitude < 9 m. X= A ou B identifie toutes les zones qui correspondent soit à la texture argileuse, soit une altitude < 9 m, séparément ou en combinaison. X= A xor B identifie toutes les zones qui correspondent soit à la texture argileuse, ou soit une altitude < 9 m, mais jamais en combinaison. X= A non B identifie toutes les zones qui correspondent à la texture argileuse avec une altitude > ou = 9 m. De plus si la condition de C regroupe les sols mal drainés, alors X= (A et B) ou C identifie toutes les zones qui correspondent à la combinaison d'une texture argileuse avec une altitude < 9 m ou des sols mal drainés. Cette requête n'est pas très spécifique. Cependant la condition X= A ou (B et C) identifie toutes les zones qui correspondent à la combinaison d'une altitude < 9 m avec des des sols mal drainés ou ceux ayant une texture argileuse.
Toutefois la requête logique n'est pas réservée qu'à l'attribut. On peu l'appliquer également à des conditions géographiques de dimension physique ou spatiale. Ex. «chercher les zones ayant une texture argileuse, une altitude < 9 m et une superficie plus grande que 5 hectares».