Usando o ArcGIS Desktop com o SQL Server Spatial como back-end?

15

Gostaria de saber a melhor forma de usar o ArcGIS Desktop e o SQL Server 2008 juntos. No momento, executamos importações e exportações manuais entre o sql 2008 e os arquivos de forma do arcgis 10. Com o sql 2008 tendo um tipo de dados geográficos, eu esperava que fosse simples substituir os arquivos de mapa por um banco de dados relacional, mas, por alguma razão, não parece tão simples quanto eu esperava.

Alguém tem alguma idéia de como eu posso usar o sql 2008 para armazenamento de dados e acabar com os arquivos de forma? Eu li sobre o arcsde, mas realmente não entendo o objetivo de outra camada. Não faço ideia do que realmente deve fazer.

Michael
fonte

Respostas:

9

Usando o ArcSDE, você pode armazenar dados espaciais em basicamente 2 formatos. Ou usando o formato nativo SDE (que é um BLOB), OU dependendo do banco de dados que você usa (SQL Server, Oracle, PostGIS, acho que o DB2 é espacial também) no respectivo formato nativo do banco de dados. Que para Oracle, por exemplo, é o tipo SDO_GEOMETRY e, para o SQL Server, os tipos espaciais Geography ou Geometry.

O formato que você realmente usa depende de você e não deve / deve fazer nenhuma diferença (enorme) no lado do cliente. Qualquer cliente ESRI (por exemplo, Arcmap) lidaria com os dados da mesma maneira. Minha sugestão seria ir para o formato nativo do SQL Server (ou da Oracle, se você o estivesse usando), caso contrário, acho que você teria que usar ferramentas somente ESRI para fazer até as consultas ou análises espaciais mais simples. Por outro lado, o uso do formato db nativo permitiria consultar os dados de outros clientes e até do SQL Server Management Studio. E como o @Blomster diz, você pode mover grande parte da lógica espacial para procedimentos armazenados.

A primeira etapa para importar arquivos shapefiles para o SQL Server seria fazer o download do utilitário Shape2SQL extremamente útil por Morten Nielsen

mapoholic
fonte
13

Como você marcou a pergunta para o ArcGIS 10, consulte Camadas de consulta: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_is_a_query_layer/00s50000000n000000/

Usei-o para conectar-se a bancos de dados que não são do ArcSDE SQL Server 2008.

Você pode acessá-lo no menu Arquivo:

insira a descrição da imagem aqui

E há algumas outras telas que orientam você na definição do que o ArcMap precisa saber para criar a camada de consulta.

insira a descrição da imagem aqui
(Verifique se a sua consulta inclui um campo de geometria e um campo de ID exclusivo)

insira a descrição da imagem aqui

Você vai querer testá-lo, já que eu sei que era um bug no lançamento e no SP1.

Jay Cummins
fonte
6

Na minha experiência, adicionar um tipo de coluna espacial SQL me permitiu mover muitas das minhas operações espaciais (distância, buffer) para procedimentos armazenados, o que é realmente útil.

A caixa de ferramentas do ArcGIS possui uma ferramenta "Copy Features" para enviar dados para um geodatabase sde e, se você especificar uma palavra-chave de configuração de "Geometry" ou "Geography", uma coluna espacial sql deverá ser gerada.

Blomster
fonte
4

O ArcSDE permite armazenar dados espaciais na instância do SQL Server, adicionando efetivamente uma coluna espacial às suas tabelas; não o altera nem afeta a conectividade / aplicativos existentes. O ArcSDE age, se você preferir, como um armazenamento de metadados para seus dados espaciais, como nome da classe, proprietário, extensão, tipo de geometria que você está armazenando, etc, etc (tudo em tabelas de metadados criadas para a instalação do ArcSDE). Ele permite que você armazene o que quiser, imagens etc., e ainda tenha referências espaciais (no SQL Server, se bem me lembro, os dados espaciais são armazenados como imagem tpe?). O ArcSDE gerencia o armazenamento desses dados. Na verdade, é uma boa ferramenta e tudo isso de um usuário cético de ESRI.

Atualmente, estou usando o ArcGIS Server, com ArcSDE e conexão direta (usando tnsnames) em um back-end do Oracle 11g e é ótimo. Não entendo por que você usaria o SQL Server para dados espaciais quando acho que ainda é imaturo.

Peludo
fonte
0

Você pode editar dados vetoriais armazenados no SQL 2008 ou 2012 no ArcGIS instalando a extensão GISquirrel, disponível em www.gisquirrel.com. Isso também fornece ferramentas para importar dados espaciais no SQL Server de qualquer fonte de dados que possa ser vista como uma camada no ArcMap. . Recentemente, importei uma tabela com 90 milhões de polígonos - demorou 4 dias, mas funcionou sem problemas em um laptop de 2 anos!

CrispinF
fonte