Mais

Compreendendo a precisão dos bancos de dados geográficos ArcGIS?


Gostaria de saber como a precisão é tratada no software ArcGIS. Ele está usando um mecanismo real de Computer Algebra System, uma biblioteca de precisão arbitrária ou outros truques para lidar com a precisão?


O precursor da implementação atual de gerenciamento de coordenadas em bancos de dados geográficos foi integrado pela primeira vez com o resto da linha de produtos Esri (estação de trabalho Arc / Info, ArcView e ArcIMS) quando o produto "SDBE" foi adquirido em meados da década de 1990. Na época, as aulas de treinamento "SDE", em que metade da programação 'C' e metade do SQL, e vários dias eram passados ​​trabalhando na transformação de valores de ponto flutuante de precisão dupla para armazenamento de array de inteiros. No momento em que o SDE alcançou a versão 3.0, as funções de gerenciamento de formas foram viradas do avesso e todos os detalhes da integerização de coordenadas foram ocultados dentro da biblioteca SgShape conforme acessada pelas funções SE_SHAPE. Em 9.0, as referências de coordenadas foram atualizadas para permitir o uso de inteiros de 64 bits, e em 9.2 ArcGIS Desktop tornou as referências de coordenadas de ALTA precisão o padrão.

Os detalhes são abordados em profundidade pelo Esri Understanding Coordinate Management no white paper Geodatabase, mas o conceito básico é realizar todas as comparações de coordenadas no espaço inteiro. Para fazer esses inteiros, os valores das coordenadas de precisão dupla (em quatro dimensões, X, Y, Z e M) têm uma origem falsa subtraída e, em seguida, os valores são divididos por um fator de escala e arredondados para o inteiro mais próximo. Para retornar a coordenada codificada para precisão dupla, você só precisa multiplicar pelo fator de escala e adicionar de volta na origem.

Por exemplo, um ponto no Equador ao longo do Meridiano Principal {0,0}, poderia ter -180 subtraído de X e -90 subtraído de Y, com um fator de escala X / Y de 1000, para produzir a localização inteira {180000,90000} . A precisão toma parte na determinação do fator de escala, uma vez que a localização {-0.0004,0.0003} tb mapear para {180000,90000}.

Na realidade, você nunca deve "sobrecarregar" o canto inferior esquerdo do seu envelope de dados com uma origem no mesmo valor (o valor convencional para sistemas de coordenadas geográficas agora é {-400, -400}), uma vez que a origem representa o canto do quadrante NE onde as coordenadas podem residir, e as operações de buffer que cruzam essa origem invalidam a geometria.

Da mesma forma, você nunca deve fazer um fator de escala tão pequeno que os dados do polígono colapsem em um único ponto. Mas você também precisa ter cuidado para não tornar o fator de escala muito grande. Antigamente, as formas de precisão do BASIC eram limitadas por 31 bits (positivo com sinal longo), o que dava apenas ~ 2,1 bilhões de valores discretos, portanto, especificar um fator de escala de 200 milhões significava que você só poderia mapear um quadrado de ~ 10 graus com essa precisão. As formas modernas de alta precisão usam matrizes inteiras de 64 bits, portanto, têm um teto de precisão de 56 bits (o tamanho da mantissa de ponto flutuante de 64 bits).

Embora ALTA precisão seja suficiente para mapear o globo com um fator de escala de 400M, usando esses grandes fatores de escala têm um preço: a matriz de inteiros é armazenada no banco de dados usando um algoritmo de compressão de diferença, de forma que os valores que estão 0,0001 graus separados são avaliados como sendo 400.000 inteiros separados, o que requer 32 bits, enquanto uma forma semelhante com um fator de escala 1M seria apenas 1000 separados, exigindo apenas 16 bits. Os BLOBs armazenados no banco de dados usando os fatores de escala padrão muito grandes gerados pelo ArcGIS Desktop podem capturar a precisão submilimétrica, mas podem ser significativamente maiores do que seus irmãos gerados de maneira personalizada. Como os bancos de dados geralmente funcionam linearmente com base no volume de dados que devem mover, dobrar o armazenamento pode ter um custo de desempenho significativo.


Assista o vídeo: Banco de Dados Geográfico - ArcGis e Qgis (Outubro 2021).