Por que o fator az de 1 é transformado em 0,999998 na minha saída

9

Acabei de construir um modelo que usa o 3D Analyst - Surface Volume. Estou tentando usar o fator az de 1. Sempre que executo o modelo, minha tabela de saída mostra que um fator Z de 0,999998 foi usado em vez de 1. Sei que essa é uma diferença muito pequena, mas mesmo assim está distorcendo meus resultados. Realmente o que eu gostaria de saber, existe uma boa explicação de por que ele foi alterado para 0,999998 ou existe uma maneira de fazer com que ele permaneça em 1?


Obrigado novamente por sua contribuição. Quando tentei alterar o tipo de varredura, a ferramenta esmaece o fator z e o bloqueia em 0,999998. Então ... eu acho que não há realmente nenhuma maneira de contornar isso usando dados inteiros ou de ponto flutuante. Eu até tentei converter para número inteiro e usar a calculadora raster para multiplicar os dados por 1000 para preservar os decimais na forma inteira, mas ainda estava preso ao fator z de 0,999998. Sem dados.

GeoJohn
fonte
6
Eu diria, porque é um ponto flutuante, não há tal coisa como 1 em float - ver en.wikipedia.org/wiki/IEEE_floating_point
Michael Stimson
3
Sim, o fator Z é um ponto flutuante, pois a maioria dos rasters DEM / DSM geralmente são flutuantes de 32 bits. Tente converter o seu raster int para float também ver resources.arcgis.com/en/help/main/10.1/index.html#//...
Michael Stimson
3
@ Michael Na verdade, qualquer número que não seja um múltiplo integral de uma potência pequena de 2 (incluindo potências negativas) não será exatamente expresso em ponto flutuante. Talvez o mais proeminente deles seja 0,1. Quanto à origem do erro da escala z, só posso adivinhar. Meu palpite se concentraria na possibilidade de que, sob o capô, os cálculos pudessem ser realizados usando uma representação inteira das elevações e, no final, elas fossem convertidas de volta. Talvez o melhor seja corrigir os resultados após a produção: basta multiplicar todos os volumes por 1 / 0,999998.
whuber
11
@ Michael, antes de usar esta outra solução, também tentei usar um fator-z de 1.000002 que magicamente retornaria a 0.999998 durante a execução da ferramenta. Então, não tenho certeza se era algo que eu estava fazendo errado ou não. Em outras palavras, independentemente do fator-z que eu inseriria, a ferramenta mudaria para 0,999998 no tempo de execução.
GeoJohn
4
John, eu sinto que é hora de contato de suporte Esri e perguntar-lhes porque ele sempre muda para 0.999998 fator de escala e como usar um fator de escala de 1.
Michael Stimson

Respostas:

1

Eu tenho que concordar com os comentários, é sobre como você deseja representar esse número. Se você deseja armazenar o número 1 como ponto flutuante, o ArcGIS armazenou esse número como 0,9999 ... Parece que esse argumento do fator Z é armazenado dessa maneira. Eu acho que não há como armazená-lo como inteiro. De fato, 0,9999 é igual a 1.

Devo adicionar uma foto que vi alguns dias atrás. Isso se encaixa nessa questão. insira a descrição da imagem aqui

david_p
fonte