Sto tentando di estrarre i valori di rottura naturali da un raster usando Python.
Il processo previsto va: dall'oggetto raster Arcpy all'array NumPy (utilizzando RasterToNumPyArray ) ai valori di interruzione naturale (utilizzando la funzione Interruzioni naturali PySAL ).
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)
Questo codice restituisce l'errore "ValueError: la matrice deve essere bidimensionale".
Per quanto ne so, greenArray è un array bidimensionale.
flatten
e ravel
; il Natural_Breaks
sembra accettare solo un 1d vettore di valori (o, un (n, 1)
vettore).