Próbuję wyodrębnić naturalne wartości przerwania z rastra za pomocą Pythona.
Zamierzony proces idzie: Arcpy obiekt rastrowy do NumPy Array (przy użyciu RasterToNumPyArray ) do naturalnych wartości przerwania (przy użyciu funkcji 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)
Ten kod zwraca błąd „ValueError: matrix musi być dwuwymiarowy”.
O ile mi wiadomo, greenArray to tablica dwuwymiarowa.
flatten
i ravel
; Natural_Breaks
wydaje się tylko zaakceptować 1d wektor wartości (lub, o (n, 1)
wektor).