Respostas:
A varredura é armazenada no formato de ponto flutuante como valores individuais em cada célula; portanto, não possui tabela de atributos. Uma solução eficaz é discretizar os valores e convertê-los para o formato inteiro. Isso cria uma tabela de atributos que, quando plotada, produzirá um histograma. Suas somas cumulativas são a curva hipsométrica.
A aparência da curva hipsométrica (na forma de CDF) para este DEM de amostra (uma parte do Illinois disponível em http://exampledata.wolfram.com/ArcGRID.zip ) varia com a finura da discretização do valor. As imagens a seguir usam caixas de 5, 1 e 1/5 metros, respectivamente. Como você pode ver, é possível obter uma curva precisa usando caixas moderadamente grosseiras.
A discretização de uma grade envolve duas operações que podem ser realizadas em uma única etapa: divida pela largura da bandeja e trunque (ou redondo, se preferir). Por exemplo, elevações em metros podem ser discretizadas em incrementos de 0,1 metro via divisão por 0,1 seguida por truncamento, como em
Int( [elevation] / 0.1 )
Essa sintaxe, ou algo bastante próximo, seria usada em quase qualquer versão do ArcGIS (e em muitos outros GIS rasterizados também).
Eu normalmente uso R para isso. É possível ler os conjuntos de dados de varredura GDAL usando rgdal
(do CRAN) e criar uma distribuição cumulativa empírica para os valores de elevação usando ecdf
(embutido).
Por exemplo, eu tenho meu DEM em um arquivo GeoTIFF, em R:
library(rgdal)
topo <- readGDAL("mytoporaster.tif")
plot(ecdf(topo$band1), main="Hypsometric curve", xlab="Elevation (m)")
Veja também o tutorial em Carleton .
Me deparei com este artigo que fala sobre uma extensão 9.x ArcGIS.
A extensão com dados de amostra é fornecida neste local de download .
Para o registro, a extensão funciona no ArcGIS 10.4.1.
Floor
função, porque algumasInt
implementações truncam para 0 e não para baixo, o que dobraria a largura da lixeira contendo 0 (um resultado indesejável).