O ArcCatalog diz que as referências espaciais não correspondem entre o conjunto de dados e a classe de recurso com o mesmo sistema de coordenadas?

31

Eu tenho um conjunto de dados de recursos que está usando o GCS_WGS_1984 como o sistema de coordenadas geográficas. Inclui algumas classes de recursos.

Esse conjunto de dados de recursos está em um geodatabase de arquivo que contém mais algumas classes de recursos na raiz do gdb. Uma delas é uma classe de recurso chamada "pontos" que também está usando o GCS_WGS_1984 como seu sistema de coordenadas.

Eu pensei que seria trivial usar o ArcCatalog para arrastar a classe de recurso da raiz do gdb para o conjunto de dados do recurso, pois eles têm o mesmo sistema de coordenadas. Infelizmente, o ArcGIS fornece um diálogo de erro que diz:

Failed to paste points
The spatial references do not match

Por que isso falha? Se o GCS da classe de recurso e o conjunto de dados do recurso forem os mesmos, não deveria funcionar? Eu verifiquei que esse é o caso através das caixas de diálogo, além de exportar o arquivo prj para o conjunto de dados e a classe e usando uma ferramenta diff para comparar os dois. Eles são idênticos.

A referência espacial de uma classe de feição é diferente do sistema de coordenadas / projeção?

Tentativa de copiar a classe do recurso para o conjunto de dados do recurso, mantendo pressionada a tecla Ctrl enquanto arrasta os resultados, causando travamentos no ArcCatalog sempre (vergonha na ESRI).

Acho que poderia tentar meios alternativos de mover classes de recursos. Use CopyFeatures no conjunto de dados. Projeto da classe de recurso em uma nova classe de recurso no conjunto de dados do recurso?

mindless.panda
fonte
Você pode postar o arquivo gdb em algum lugar? Talvez exclua todos ou alguns dos recursos, se for grande, parece que ele pode ser reproduzido mesmo com as classes vazias.
Kirk Kuykendall
4
Eu gostaria de ter tempo para analisar todas as peculiaridades que encontro no w / ArcGIS, geralmente só tenho que conviver com ela e encontrar a próxima solução menos agradável. Usei o Gerenciamento de dados -> Copiar recurso para copiar para uma nova classe de recurso (temp nomeada), excluí a classe de recurso antiga e renomeei a nova classe de recurso para corresponder à antiga. O uso do ArcGIS não deve exigir diploma em teste de software. = (
mindless.panda
2
"não deve exigir um grau em teste de software" , chat.stackexchange.com/transcript/message/1116371
Matt Wilkie
é apenas o nome, eles podem corresponder, mas se tiverem um nome diferente, essa mensagem será descartada e ignorada.
Se você não sabe- apenas GIS

Respostas:

21

O mesmo sistema de coordenadas nem sempre é um sistema de coordenadas idêntico . Eu encontrei situações em que algumas operações e ferramentas de geoprocessamento pensam que as classes de recursos não compartilham um sistema de coordenadas comum porque o nome descritivo da projeção difere ("Yukon Albers" vs "Albers - custom"), embora os parâmetros sejam idênticos ou porque de diferentes casas decimais (norte falso 500000,00 vs 500000,0000).

O que geralmente faço é garantir que os sistemas de coordenadas do conjunto de dados de recursos (e F.class) sejam criados com nosso arquivo .prj padrão, colocado na parte superior C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems(torna o CS disponível com menos cliques) e / ou copia o CS de um modelo de classe de recurso mestre armazenado em algum lugar sempre à mão.

Em parte em resposta a esse problema, também tenho um conjunto de dados de recurso vazio ( D:\s.gdb\_template), no qual canalizo todos os nossos dados como um filtro de primeira etapa antes de fazer qualquer outra coisa com eles. Entre um sistema de coordenadas comum, isso também garante que a precisão, o domínio espacial etc. sejam idênticos.

Atualização: consulte a resposta de Andy sobre o uso de python, apenas 2 linhas, para copiar o sistema de referência espacial do conjunto de dados de recursos de uma classe de recurso de modelo. Isso funcionou para mim no ArcCatalog 10.3 quando o método interativo de definir o SR selecionando uma classe de recurso para importar uma não funcionou.

Matt Wilson
fonte
Essas pequenas alterações no nome bonito da impressão ou nas casas decimais mencionadas estão presentes no arquivo .prj que é exportado com a opção Salvar como? Se sim, por que os arquivos prj diffing não mostram nada? Eu me perguntava se pequenas diferenças na resolução x, y também poderiam estar causando o conflito.
mindless.panda
1
Pode ser que o arquivo .prj criado com "Salvar como" não seja exatamente o mesmo que o armazenado internamente. Eu uso um conjunto de dados recurso de "filtro" para garantir a resolução espacial comum etc.
Matt Wilkie
3
Acrescentarei uma faceta adicional a isso: Às vezes, conjuntos de dados de outras fontes serão gerados como contendo valores M e Z quando na verdade não tiverem M ou Z. Descobri que algumas ferramentas ESRI detectam o sistema de coordenadas Z vazio como não correspondência, apesar do fato de que os sistemas de coordenadas X / Y realmente correspondem exatamente.
precisa saber é o seguinte
16

Esta é uma explicação e não uma resposta.

Nós (Esri) fazemos testes bastante rigorosos dos nomes e valores do sistema de referência de coordenadas. O teste 'é igual' não retornará uma falha ao comparar 500000,00 e 500000,000000, mas poderá falhar se um for realmente 500000,0 e o outro 500000,00000005. Estamos trabalhando para adicionar aliases para nomes para que 'seja igual' passe mais.

Como mindless.panda e matt wilkie mencionaram, as diferenças podem estar nos outros valores de uma referência espacial. Uma referência espacial inclui o sistema de referência de coordenadas e os valores de armazenamento / processamento. Para armazenamento: xy, ze meça a resolução e as extensões. Para processamento: xy, z, e mede os valores de tolerância. Qualquer diferença neles pode causar um erro diferente.

mkennedy
fonte
6
sua resposta é muito apreciada. Eu realmente gostaria que o tratamento de erros, particularmente o que é relatado ao usuário, melhorasse no ArcGIS. São necessários erros mais informativos, com a opção de obter informações ainda mais detalhadas, se desejado. Mais uma vez, obrigado à ESRI por reservar um tempo para responder.
mindless.panda
2
A segunda proposta é fornecer mais informações sobre os erros. Nas últimas duas semanas, recebi o mesmo erro ( Error code: 999999: Error executing function. Description: This is a generic error for which the cause of the error does not have an appropriate error ID. ) devido a vários problemas. Esta é uma mensagem irritante para receber, pois não posso fazer nada, exceto tentar executar o que fiz uma segunda vez para ver se o erro se repete ou desistir e usar outro método (ou software, que é cada vez mais o caso).
DJQ
9

Aqui está o que eu fiz para resolver o problema (usando o arcpy no ArcGIS 10.0) -

Isso pressupõe o seguinte:

  • FGDB - C: \ gisdata \ Test.gdb
  • Classe de recursos - C: \ gisdata \ Test.gdb \ bldg

Você pode modificar seus caminhos e nomes de objetos no código e colá-los na janela python no ArcCatalog.

sr = arcpy.Describe(r'C:\gisdata\Test.gdb\bldg').spatialReference
arcpy.CreateFeatureDataset_management(r'C:\gisdata\Test.gdb', 'MyFeatureDataset', sr)

Após a criação do conjunto de dados do recurso, você pode arrastar e soltar as classes de recurso.

Andy Arismendi
fonte
1
Obrigado! Isso funcionou para mim hoje em uma situação em que o uso da ferramenta interativa para definir o novo sistema de coordenadas do conjunto de dados do recurso selecionando uma classe de recurso existente não funcionou (v10.3).
214156Preço
7

Este problema estava me matando! Depois de salvar várias classes de recursos de um arquivo CAD, tentei várias vezes definir seus sistemas de coordenadas e organizá-los em conjuntos de dados de recursos. Tentei definir todas as f.classes e f.datasets necessárias da projeção oficial WGS_1984_UTM_42N da ESRI, além de definir a projeção para o conjunto de dados e depois importar essa projeção para as f.classes usando a ferramenta Define Projection. Nenhuma classe f seria colada ou 1 e os outros não.

Muito obrigado a @Matt Wilkie neste post , a ferramenta Feature Class to Feature Class parece ter resolvido o problema. Ele importa com sucesso as classes f.class para o conjunto de dados desejado, mesmo que eu ainda não tenha definido o sistema de coordenadas da classe f.class em questão.

Além disso, descobri que o script Feature Class to Geodatabase (multiple) funciona muito bem para mover f.classes para um f.dataset em massa, exceto que isso deve ser feito do Geodatabase para outro (não para um f.dataset no mesmo geodatabase) . Parece que o script não renomeia automaticamente as f.classes quando elas são copiadas (ou solicita ao operador um novo nome, como em Classe de recurso para Classe de recurso). No entanto, conforme apontado por outros (o mesmo encadeamento vinculado acima), o erro fornecido é um 999999 genérico.

Matt Cohen-Price
fonte
4

Eu tive esse problema ao simplesmente querer mover uma classe de recurso para um conjunto de dados de recursos em um GeoDatabase. Fiz meu conjunto de dados de recursos e garanti que ele tivesse o mesmo sistema de coordenadas. Repetidamente, recebi "Falha ao colar xyz As referências espaciais não coincidem" O trabalho mais rápido que encontrei foi importar a referência espacial idêntica no meu conjunto de dados recém-criado da classe de recurso que eu queria importar para ele. Na segunda etapa do assistente "Criar novo conjunto de dados de recursos".

Não sei por que as referências espaciais diferem.

Alan Boatman
fonte
Olá, Alan! Obrigado por compartilhar sua experiência e bem-vindo ao nosso site.
whuber
1
Olá Alan, o assistente para criar novo conjunto de dados / classe de recurso nem sempre puxa todos os valores de armazenamento / processamento quando o "sistema de coordenadas de importação" é usado. Estamos trabalhando para consertá-lo. Eu acho que é isso que você está enfrentando.
Mcknedy
1
Estou vendo esse problema - mesmo se eu criar o conjunto de dados de recursos e usar o mecanismo de importação e selecionar a classe de recurso, ainda não consigo arrastar / copiar a classe de recurso no recém-criado conjunto de dados de recursos sem o erro mencionado acima.
mindless.panda
3

Eu acho que uma das mensagens para a ESRI é fornecer informações de depuração de diferenças de parâmetro mais específicas quando esse erro ocorre. Eu também encontrei esse erro mesmo depois de controlar cuidadosamente os sistemas de referência espacial e as projeções, como acho que a maioria dos usuários de GIS faz.

Eu encontrei o procedimento de usar os Recursos de cópia do ArcToolbox para corrigir mensagens de erro que ocorrem quando os mecanismos de importação ou cópia são usados. Aqui, dependemos do procedimento da caixa de ferramentas Recursos de cópia para resolver corretamente as diferenças de referência ou projeção antes de introduzir a classe do recurso no conjunto de dados do recurso.

Eu até tentei criar o conjunto de dados do recurso com um sistema de projeção definido no momento da criação do conjunto de dados e, em seguida, projetar classes de recurso no conjunto de dados do recurso usando a ferramenta de projeção ArcToolbox com a mesma projeção e ainda recebi o erro descrito aqui ao tentar importar ou copie a classe do recurso no conjunto de dados.

Esses problemas do sistema de coordenadas ficam mascarados quando você usa dados no ArcMap. Como o ArcMap realiza projeção instantânea, várias classes de recursos, cada uma com projeções diferentes, podem ser adicionadas a um mapa do ArcMap sem que o usuário fique ciente. O ArcMap avisa sobre diferentes sistemas de referência de coordenadas.

Derek S Wilson
fonte
1

ESTÁ BEM. Eu encontrei uma solução! Clique com o botão direito do mouse no Conjunto de dados de recursos no GDB e clique em Importar. Selecione os Recursos necessários e, em seguida, OK.

Sergei Valetov
fonte
0

Tente usar a ferramenta Recursos de cópia em Ferramentas / Recursos de gerenciamento de dados. Caso contrário, eu continuava recebendo um erro, não importa o que fiz.

Rayner
fonte
-1

Você já tentou acessar o ArcMap e definir as camadas como seu GCS_WGS_1984 e depois exportar todas as suas camadas para um banco de dados geográfico de arquivos?

Se você tiver uma ou várias camadas em projeção diferente, poderá exportá-las, mas alterar o quadro de dados para GCS_WGS_1984?

Não tenho certeza disso no ArcGIS 10. Ainda não os tenho, mas estou usando o 9.3.1.

PROBERT
fonte
1
Você poderia esclarecer os pontos 1 e 2? Estes não parecem ser precisos.
Aaron