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
- ^ 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 .
- ^ "3.4. Noms de méthode spéciaux¶" . La référence du langage Python . Récupéré le 3 mai 2015 .
- ^ Esri, Inc. "Aide d'ArcGIS 10.0" .
- BE Davis GIS: A Visual Approach (2001 Cengage Learning) pp. 249ff.