J'essaie d'extraire des valeurs de rupture naturelles à partir d'un raster à l'aide de Python.
Le processus prévu est le suivant: objet raster Arcpy vers NumPy Array (à l'aide de RasterToNumPyArray ) vers des valeurs de rupture naturelles (à l'aide de la fonction PySAL Natural Breaks ).
import arcpy, pysal
from pysal.esda.mapclassify import Natural_Breaks as nb
# code to create greenIndex arcpy Raster object here
greenArray = arcpy.RasterToNumPyArray(greenIndex)
breaks = nb(greenArray,k=2,initial=20)
Ce code renvoie l'erreur "ValueError: la matrice doit être bidimensionnelle".
Pour autant que je sache, greenArray est un tableau à 2 dimensions.
flatten
et ravel
; le Natural_Breaks
semble accepter uniquement un vecteur de valeurs 1d (ou un (n, 1)
vecteur).