Por que o Intersect fornece o ERRO 999999: Erro ao executar a função Topologia inválida [muitos terminais de linhas de linha]?

9

Estou tentando executar um processo de interseção no arcgis 10 sp 3 com 2 conjuntos de arquivos (aspecto e inclinação) de até 1 m DEM em uma área de 65.000 km². O aspecto possui 9.930.384 registros e a inclinação possui 31.435.462 registros (total aproximado de 12 GB em dois bancos de dados geográficos de arquivos).

Eu executei a geometria do reparo cerca de três vezes e agora os conjuntos de dados não relatam nenhum erro (cada vez que demorava 30h).

Agora eu recebo

Executando (interseção): Intersecione "D: \ SCRATCH \ Projects \ 106 \ data \ 7_asp_Merge.gdb \ asp_HghstRez_M_rep #" D: \ SCRATCH \ Projetos \ 106 \ dados \ trabalho \ working.gdb \ AsSl_Int ALL # INPUT Hora de início: Sun 23 de outubro 02:19:10 2011 Recursos de leitura ...

Processando ladrilhos ...

ERRO 999999: Erro ao executar a função.

Topologia inválida [Demasiados pontos de extremidade de linhas.]

Falha na execução (Intersecção).

Failed at Sun 23 de out 04:09:12 2011 (Tempo decorrido: 1 horas 50 minutos 2 segundos)

Este é realmente um problema de topologia ou tamanho do arquivo?

Tentei usar a ferramenta ArcINFO SPLIT, mas ela falha mesmo com mais de 1 TB de espaço livre na unidade e em um conjunto menor de arquivos, causando bordas irregulares. Não posso usar o DICE, pois as áreas para interseção entre asp e slope devem ser exatamente as mesmas. Entendo que em grandes conjuntos de dados a ESRI racha (bloqueia automaticamente) os conjuntos de dados - isso pode estar causando problemas? Existe mais alguma informação que eu possa fornecer para solucionar problemas.

As especificações das máquinas são superiores ao mínimo de ESRI - temos 16 GB de RAM, Intel Xeon, Windows 7, 64 bits, 2 discos de um TB e mais de 1,2 TB de espaço livre nas unidades. Todos os arquivos usados ​​no processo estão nas unidades locais.


acabou de encontrar esta explicação (2 de julho de 2012), que fornece muitas dicas úteis para resolver os problemas.

http://blogs.esri.com/esri/arcgis/2010/07/23/dicing-godzillas-features-with-too-many-vertices/

GeorgeC
fonte
11
O limite de tamanho do arquivo para o sistema operacional Windows é 2 GB. (3 GB com / 3 GB no XP). Experimente a ferramenta SPILLED no ArcGIS com grandes conjuntos de dados 'lado a lado' resources.esri.com/help/9.3/arcgisdesktop/com/gp_toolref/…
Mapperz
11
Uma informação importante do link que o Mapperz enviou: "Os
RyanKDalton
11
Você tem rasters de inclinação e aspecto? Se sim, você tem analista espacial?
Kirk Kuykendall
@ Mapperz, depende do sistema de arquivos. FAT é limitado a 2 GB, FAT32 é de 4 GB e NTFS é de acordo com ilimitado a: microsoft.com/resources/documentation/windows/xp/all/proddocs/...
blah238
11
Para um cálculo de varredura, George, você pode reamostrar para um tamanho de célula comum (como 1 m) ou processar os diferentes patches separadamente. Merece alguma reflexão, porque uma inclinação ou aspecto calculado com resolução de 30m não é exatamente comparável a um calculado com resolução de 1m. É difícil dar conselhos gerais na ausência de informações sobre a finalidade desse cálculo.
whuber

Respostas:

9

Muito poucas células contíguas em um DEM detalhado terão valores idênticos de inclinação e aspecto. Portanto, se os recursos de entrada representam áreas contíguas de inclinação comum e aspecto comum, devemos esperar que o resultado desse procedimento de interseção tenha, em média, quase um recurso por célula.

Originalmente havia 65.000 * 1000 ^ 2 = 6,5 células E10 no DEM. Para representar cada um deles, são necessários pelo menos quatro pares ordenados de coordenadas flutuantes de 4 bytes ou 8 bytes ou 32 a 64 bytes. Esse é um requisito de 1,3 E12 - 2,6 E12 bytes (1,3 - 2,5 TB). Ainda não começamos a considerar a sobrecarga do arquivo (um recurso é armazenado como mais do que apenas suas coordenadas), índices ou valores de atributo, que podem precisar de 0,6 TB (se armazenados em precisão dupla) ou mais (se armazenados como texto), além de armazenamento para identificadores. Ah, sim - o ArcGIS gosta de manter duas cópias de cada interseção, dobrando tudo. Você pode precisar de 7 a 8 TB apenas para armazenar a saída.

Mesmo que você tenha o armazenamento necessário, (a) você pode usar o dobro disso (ou mais) se o ArcGIS estiver armazenando arquivos intermediários em cache e (b) for duvidoso que a operação seja concluída em um tempo razoável, de qualquer maneira.

A solução é executar operações de grade usando estruturas de dados da grade, não estruturas de dados vetoriais. Se a saída do vetor for absolutamente necessária, execute a vetorização após todas as operações da grade serem concluídas.

whuber
fonte
Aceito com muita tristeza. Em vez de combinar os conjuntos de dados 30m, 10m e 1m, estou executando as interseções / pontuação asp + slp + veg em cada conjunto de dados separadamente e, em seguida, mesclando-os.
GeorgeC
O uso da estratégia de divisão espacial nos permitiu concluir o projeto. Um conjunto de dados que levou 7 horas para processar (e travou às vezes), processado em cerca de 100 minutos quando dividido em 6 partes e depois levou 10 minutos para ser mesclado. Para isso, adicione aproximadamente 40 minutos para modificar os modelos para processar eficientemente as várias partes com entradas mínimas (para cada iteração) e, basicamente, é uma economia de metade do tempo de processamento (pelo menos). Assim, um processo que, de outra levou perto de 200h levou menos de 50h e com apenas cerca de 15h de trabalho "real" (em decidir como dividir os dados, entrando as variáveis nos modelos etc
GeorgeC
1

Meu experince com o uso de ferramentas de divisão e reparo geomtry. Isso funciona para mim, porque o que eu trabalhei estava usando a camada vetorial que eu fiz da conversão de varredura para vetor. Tentei dividir a ferramenta primeiro e me deu o erro. Então, eu tive que usar o reparo geomtry e depende de quanto tempo ele está em execução. Eu fiz isso duas vezes porque sempre que você fazia alterações ou editava, ainda era necessário executar novamente a reparação da geomtria antes de fazer a divisão. funcionou para mim.

A propósito, eu executei reparo geomtry em ambas as camadas: shapefile e arquivo geodatabase. Eu sugiro que você execute geomtry de reparo durante a noite.

PROBERT
fonte
11
Mais uma coisa que eu esqueci. Posso sugerir que, sempre que você fizer algo assim, recomendo tentar abrir um novo ArcMap e executar essas ferramentas? Para limpar os arquivos temporários que você já abriu, fechou-o e abra o ArcMap. Limpa a temperatura. Essa é a minha sugestão de um centavo.
PROBERT
Obrigado. Eu executei o reparo geom 3-4 vezes e agora os conjuntos de dados não relatam erros. Isso geralmente funciona, mas eu acho que os conjuntos de dados são apenas para grandes como por explicação de whuber ...
GeorgeC
George, estou feliz que funcione para você. Sim, eu li a explicação do whuber, mas a minha pergunta para você você mesclou inclinação e aspecto? Nesse caso, quando você usa a ferramenta de divisão, com qual camada de recurso você usou para dividir a camada com a qual se fundiu? Por exemplo, eu tive que usar 24 quad (cerca de 24 deles, que não é tão grande) para dividir com minha camada mesclada de inclinação e elevação. Talvez você possa tentar restringir a camada menor que pode ser dividida com a camada mesclada?
PROBERT
Mesclei a inclinação e o aspecto e funcionou, mas não foi o processo correto ... precisávamos cruzar e isso não funciona. Para dividir, peguei uma cópia da grade nacional do mapa topográfico de 100k e a usei no asp e na inclinação separadamente. A zona é coberta por 30 planilhas de mapa.
26411 GeorgeC
Você executou a grade do mapa top 100k para limpar geomtry? Porque perguntei, o meu detectou alguns erros e tive que fazer um reparo limpo. Então funcionou no meu. Se você ainda encontrar mais problemas, tente fazê-los dividir os 100k nacionais em menores? Como dividi-los em três?
PROBERT 26/10/11