Algèbre cartographique - Map algebra

L'algèbre cartographique est une algèbre basée sur des ensembles pour manipuler des données géographiques , proposée par le Dr Dana Tomlin au début des années 1980. Il s'agit d'un ensemble d'opérations primitives dans un système d'information géographique (SIG) qui permet à deux ou plusieurs couches raster («cartes») de dimensions similaires de produire une nouvelle couche raster (carte) à l'aide d'opérations algébriques telles que l'addition, la soustraction, etc.

En fonction du voisinage spatial, les transformations SIG sont classées en quatre classes: locale , focale , globale et zonale . Les opérations locales fonctionnent sur des cellules raster individuelles ou des pixels . Les opérations focales fonctionnent sur les cellules et leurs voisines, tandis que les opérations globales fonctionnent sur la couche entière. Enfin, les opérations zonales fonctionnent sur des zones de cellules qui partagent la même valeur. L'entrée et la sortie pour chaque opérateur étant la carte, les opérateurs peuvent être combinés dans une procédure ou un script, pour effectuer des tâches complexes.

Lorsque l'algèbre cartographique est effectuée dans des cellules à partir d'opérations locales, différents types d'opérations peuvent être utilisés:

  • Les opérations arithmétiques utilisent des fonctions mathématiques de base comme l'addition, la soustraction, la multiplication et la division.
  • Les opérations statistiques utilisent des opérations statistiques telles que le minimum, le maximum, la moyenne et la médiane.
  • Les opérations relationnelles comparent les cellules à l'aide de fonctions telles que supérieur à, inférieur ou égal à.
  • Les opérations trigonométriques utilisent le sinus, le cosinus, la tangente, l'arc sinus entre deux ou plusieurs couches raster.
  • Les opérations exponentielles et logarithmiques utilisent des fonctions d'exposant et de logarithme.

Plusieurs grands systèmes SIG utilisent des concepts d'algèbre cartographique, notamment ERDAS Imagine et ArcGIS . ArcGIS 10 implémente l'algèbre cartographique en Python ; les fonctions sont des méthodes Python importées et la capacité de surcharge de Python est utilisée pour les opérateurs. Par exemple, les rasters peuvent être multipliés à l'aide de l'opérateur arithmétique "*".

Voici quelques exemples, dans MapBasic :

# demo for Brown's Pond data set
# Give layers
#  altitude
#  development – 0: vacant, 1: major, 2: minor, 3: houses, 4: buildings, 5 cement
#  water – 0: dry, 2: wet, 3: pond

# calculate the slope at each location based on altitude
slope = IncrementalGradient of altitude

# identify the areas that are too steep
toosteep = LocalRating of slope
  where 1 replaces 4 5 6
  where VOID replaces ...

# create layer unifying water and development
occupied = LocalRating of development
  where water replaces VOID

notbad = LocalRating of occupied and toosteep
  where 1 replaces VOID and VOID
  where VOID replaces ... and ...

roads = LocalRating of development
  where 1 replaces 1 2
  where VOID replaces ...

nearread = FocalNeighbor of roads at 0 ... 10

aspect = IncrementalAspect of altitude

southface = LocalRating of aspect
  where 1 replaces 135 ... 225
  where VOID replaces ...

sites = LocalMinimum of nearroad and southface and notbad

sitenums = FocalInsularity of sites at 0 ... 1

sitesize = ZonalSum of 1 within sitenums

bestsites = LocalRating of sitesize
  where sitesize replaces 100 ... 300
  where VOID replaces ...

Liens externes

Les références

  1. ^ Longley; et coll. (9 août 2010). Systèmes d'information géographique et science . John Wiley & Sons, Inc. pp. 414–7. ISBN   978-0-470-72144-5 .
  2. ^ "3.4. Noms de méthode spéciaux¶" . La référence du langage Python . Récupéré le 3 mai 2015 .
  3. ^ Esri, Inc. "Aide d'ArcGIS 10.0" .
  • BE Davis GIS: A Visual Approach (2001 Cengage Learning) pp. 249ff.