Usando o Dropbox para sincronizar bancos de dados geográficos de arquivos?

11

Consegui acumular uma grande conta de caixa de depósito gratuita e usá-la para sincronizar meus bancos de dados GIS em vários PCs diferentes. Eu apenas comecei a fazer isso e ainda não tive nenhum problema. Mas estou recebendo algumas bandeiras vermelhas de aviso que estão me assustando.

Parece haver vários arquivos duplicados nos bancos de dados geográficos. Geralmente algo como:

a00000017.gdbtable (cópia duplicada GIS-HP)

Posso excluir manualmente esses arquivos sem nenhum problema, mas não tenho idéia do por que eles estão sendo exibidos.

Além disso, em vez de remover os bloqueios de arquivos, o Dropbox continua dizendo que os renomeia. Portanto, quando solto um bloqueio e ganho outro, ele renomeia o arquivo em vez de excluí-lo e criar um novo. Embora ele ainda exclua o arquivo de bloqueio quando eu estiver totalmente desconectado do GeoDatabase.

Como eu disse, não tive nenhum problema até agora, mas estou preocupado com a corrupção de dados a longo prazo ao usar o Dropbox.

Alguém já usou o Dropbox e encontrou problemas ao usá-lo para sincronizar dados GIS?

Cody Brown
fonte
3
Não tenho uma resposta definitiva, mas sugiro que você seja prudente. Não acredito que o DropBox seja destinado a acessar um formato de dados complexo, como um banco de dados geográfico de arquivos, que consiste em vários arquivos discretos, em vários PCs simultaneamente. Este post mostra alguns problemas em potencial para estar ciente de
Stephen Lead
@StephenLead Tenho feito backup dos dados do Dropbox diariamente. Usei o Amazon Cloud Drive por cerca de um ano sem problemas, mas isso é muito lento para sincronizar. O Dropbox funciona de maneira mais rápida e simples. Eu realmente espero que ele possa lidar com isso.
Cody Brown
2
É melhor compactar o geodatabase do arquivo antes que ele seja usado para compartilhar resources.arcgis.com/en/help/main/10.2/index.html#//… , não foi projetado para ser editado com mais de um usuário ao mesmo tempo - arquivos lck devem impedir isso.
Mapperz
Solid idea @Mapperz
Cody Brown

Respostas:

9

A ESRI ocultou intencionalmente a estrutura do arquivo FileGDB para que as pessoas não tentassem mexer com ela internamente:

Um geodatabase de arquivo é armazenado como uma pasta de arquivos. Quando você visualiza a pasta com o Windows Explorer, além da extensão .gdb, ela se parece com qualquer outra pasta e é possível visualizar seu conteúdo. A pasta contém arquivos com nomes criptografados que contêm dados geográficos, dados de atributos, arquivos de índice, arquivos .lock e um arquivo de assinatura, além de outros arquivos. Cada classe de recurso ou tabela no geodatabase é armazenada em dois ou mais arquivos. Por design, é difícil, se não impossível, dizer quais arquivos compõem um determinado conjunto de dados.

A ESRI recomenda que você copie o FileGDB com suas ferramentas e não com as ferramentas do sistema operacional. No entanto, é possível copiar o banco de dados inteiro ou renomeá-lo:

Embora não seja recomendado, é possível copiar um geodatabase de arquivo para outro local, copiando a pasta para outro local (se você estiver usando o sistema operacional Windows Vista, também será necessário alterar a extensão da nova pasta para .gdb; caso contrário, O ArcGIS não pode reconhecê-lo como um geodatabase de arquivo). Copie apenas um geodatabase do arquivo com o Windows Explorer quando tiver certeza de que não há outros processos acessando os dados. O problema é que pode ser difícil dizer se outros processos estão acessando os dados. Você pode pensar que não há outros processos; no entanto, um processo no seu computador ou em outro pode estar acessando. Se você copiar a pasta quando outro processo estiver acessando os dados, os dados poderão não ser copiados corretamente.

Eu seria cauteloso ao usar o dropbox para sincronizar os arquivos individualmente. A estrutura do banco de dados simplesmente não foi criada para ser manipulada dessa maneira. Se o conjunto de dados for pequeno o suficiente, pode ser uma boa aplicação para um geodatabase pessoal ou um banco de dados sqlite (embora eu não tenha confirmado que o ArcGIS pode escrever sqlite) se você tiver uma geometria simples.

Existe uma ferramenta que recuperará o geodatabase corrompido no caso de serem danificados:

DPierce
fonte
2
Você cita: ' você pode não notar nenhum problema até acessar uma determinada parte da nova cópia alguns dias depois ' me assusta. Provavelmente seria muito mais inteligente usar shapefiles em vez de um GeoDatabase.
Cody Brown
Estou usando o SkyDrive para sincronizar arquivos gdbs sem problemas há quase um ano. Quando temos problemas de proxy, o que às vezes significa que não consigo acessar os serviços da Microsoft, normalmente fecho o SkyDrive e só sincronizo novamente depois que o acesso é restaurado. Editei caixas de ferramentas com modelos e scripts quando meu SkyDrive está aberto, mas não sincronizando corretamente, e ainda não perdi nada.
Cindy Jayakumar
1
FWIW Eu estava editando uma camada de polígono complexa em um arquivo GDB e desconectei o Dropbox enquanto trabalhava nele. Eu reconectei o Dropbox após a edição, para fazer o backup dos arquivos. 24 horas depois, todas as minhas edições acabaram e (desde que eu desconectei o dropbox durante a edição) não há arquivos intermediários para os quais reverter. Parece que o Dropbox às vezes pode corromper um geodatabase de arquivo.
Stephen Lead
8

Se você precisa ter vários PCs acessando arquivos, parece fazer mais sentido migrar para uma configuração de servidor espacial verdadeira, em vez de uma configuração ad hoc usando o Dropbox. Pode ser um servidor hospedado executando o ArcGIS ou um banco de dados PostGIS em execução em um serviço da web em nuvem como a AWS . Minha preferência seria pelo último. Vai demorar um pouco mais de trabalho para configurar, mas você pode definir suas próprias relações e escalar quantos computadores precisar (dependendo de como você configura a AWS), tudo por muito menos do que você estaria pagando à Esri.

Existem várias postagens de SO que discutem o PostGIS e o ArcGIS aqui e aqui . O segundo parece ter informações mais atualizadas nos comentários abaixo da resposta aceita.

Sem algo mais robusto para lidar com o tráfego dos diferentes clientes, você provavelmente estará constantemente lidando com problemas de corrupção de dados. No mínimo, se você mudou para shapefiles, deve consultar o GeoGit . Isso daria a você controle básico de revisão, para que os shapefiles editados em um computador possam ser mesclados com as edições de outro sem serem completamente substituídos.

Richard D
fonte
Os servidores Web são uma ótima maneira de gerenciar dados GIS em vários PCs. Na verdade, eu concordo, é provavelmente o melhor caminho. O problema é a largura de banda e a velocidade de processamento. Geralmente, a velocidade da internet externa é alta o suficiente para trabalhar com os dados. Mas, se eu quiser fazer uma análise pesada dos dados, não há como eu querer colocá-los na Web. É por isso que prefiro uma solução como o Dropbox. Eu apareço no local e os GeoDatabases estão atualizados e armazenados localmente no PC. Ótima maneira de trabalhar.
Cody Brown
3
@codybrown Mas você ainda está lidando com o envio de dados pela Internet com o Dropbox, sem mencionar os problemas de sincronização que está recebendo, provavelmente porque está demorando muito para atualizar de um cliente para outro. Pelo menos um servidor seria otimizado para essa tarefa. Se você realmente deseja ter uma solução de armazenamento de dados enquanto trabalha em casa, no trabalho ou no site do cliente, um disco rígido de remoção grande é a única maneira de evitar latência e possíveis conflitos de sincronização, supondo que você seja o único um usando os dados a qualquer momento.
Richard D