Quelle est la bonne façon de partager une géodatabase sur Internet?

8

J'ai une grande géodatabase fichier supérieure à 10 Go sur un serveur distant. J'ai créé cette géodatabase il y a quelque temps et je cherche à y accéder localement. Maintenant, je ne peux pas simplement le graver sur un disque ou un périphérique USB et l'apporter ici pour des raisons logistiques. Je dois l'obtenir d'un ordinateur distant à mon ordinateur local via Internet. Je ne peux accéder à cet ordinateur que via Remote Desktop.

Certaines choses que j'ai déjà essayées:

  1. Compressez le fichier GeoDatabase puis téléchargez-le. Cela a échoué pour une raison quelconque. Lorsque je décompresse ensuite la GeoDatabase, elle présente une sorte de corruption et ne fonctionne pas.
  2. Fonctionnalités exportées vers Shapefile. Cela fonctionne, mais c'est lent, je perds des métadonnées et à la fin, ce n'est pas comme ça que je veux accomplir cette tâche.
  3. J'ai essayé d'utiliser certains sites de partage de fichiers, mais ils n'ont pas assez d'espace (Dropbox) ou ils n'autorisent pas les téléchargements volumineux (SkyDrive).

J'ai un contrôle total sur ArcServer sur le PC distant et j'espérais vraiment qu'il y avait un moyen d'héberger la GeoDatabase dessus et de la télécharger de cette façon. Je pensais également à l'exporter en XML, mais j'ai eu des problèmes avec cela dans le passé et parce que la géodatabase est si grande et que ces processus prennent si longtemps, je veux une solution qui fonctionnera.

Cody Brown
la source
2
Google Drive ou Dropbox est toujours une alternative si vous payez pour un compte. Avec Dropbox, il est possible d'obtenir gratuitement plus de 10 Go d'espace, mais cela nécessite un peu de travail (par exemple, parrainer des amis).
Martin
2
Pourquoi pas un serveur FTP?
Nathan W
2
Après @Martin, consultez ownCoud pour un clone de dropbox open source.
metasequoia
6
Les verrous n'ont rien à voir avec le bon fonctionnement d'ArcCatalog. Avez-vous essayé un autre format d'archive que zip? Aussi, quand a-t-il été compacté pour la dernière fois ? Cela pourrait réduire la taille du fichier, parfois de façon spectaculaire .
Chad Cooper
4
J'essaierais d'utiliser WinRAR pour archiver le dossier GDB plutôt que ZIP. RAR compresse mieux et peut facilement être configuré pour créer un ensemble de fichiers d'archive plus petits plutôt qu'un seul gros, et peut tester l'intégrité de l'archive après sa création. Ensuite, vous pouvez transférer les fichiers d'archive via FTP et les réassembler de votre côté.
Dan C

Réponses:

6

FTP ( filezilla transférera 10 Go en 2 heures sur une connexion à large bande de 50 Mo)

Géodatabases fichier: compression vs compactage

La compression le fait LIRE SEULEMENT.

vous n'avez donc pas à le décompresser à chaque fois que vous y accédez; ArcGIS et ArcReader le lisent directement.

mais vous devez le décompresser pour MODIFIER la géodatabase

Le compactage facilite le stockage des enregistrements dans des fichiers en les réorganisant et en éliminant l'espace libre. Si vous ajoutez et supprimez fréquemment des données dans un fichier ou une géodatabase personnelle, vous devez compacter votre géodatabase sur une base mensuelle

http://resources.arcgis.com/en/help/main/10.1/index.html#//018s0000000r000000

Mapperz
la source
Merci @Mapperz Je suis en train de compresser et de compacter la GeoDatabase.
Cody Brown
1

La réponse @Mapperz était excellente et a vraiment fait du bon travail pour réduire la géodatabase. Je ne pouvais toujours pas compresser et télécharger le GDB. De plus, je n'ai pas pu trouver de FTP ou similaire qui téléchargerait quelque chose de cette taille. FileZilla n'était pas une option car je ne pouvais pas installer de nouveaux programmes sur le serveur.

Donc, à la fin, j'ai déplacé le GDB dans le dossier inetpub sur le serveur, le rendant ainsi accessible via le Web. J'ai créé un fichier GDB vierge sur mon PC local. Ma pensée était de créer une liste de tous les fichiers .gdbtable, .gdbtablx et autres au sein de la GDB, puis de les télécharger via Internet. Mais hélas, Chrome ne m'a pas permis de télécharger ces types de fichiers et a continué à générer des erreurs.

Je suis donc retourné sur le serveur et j'ai écrit un petit script pour changer les extensions de tous les fichiers dans la GDB. Ajouter simplement .txt à chaque fichier. Voici le script:

import glob
import os

x = glob.glob("C:/Inetpub/wwwroot/_Data/GeoDatabase.gdb/*")
for a in x:
    os.rename(a, a + ".txt")

Maintenant, il y avait 256 fichiers dans le GDB. Je ne voulais pas taper chacun manuellement. J'ai donc créé un nouveau script pour faire le travail pour moi, travaillé comme un charme. J'ai téléchargé chacun des fichiers sur le GDB local. Le script lit chaque fichier de la liste, puis l'écrit, moins l'extension .txt dans la GDB locale.

import glob
import urllib2

DownloadList = ['C:/Inetpub/wwwroot/1A_Data/OntarioGeodatabase_x.gdb\\a00000001.gdbindexes', ....] #List of local server side paths to the files

a1 = 1                    # for counting
a2 = len(DownloadList)    # for counting

for y in DownloadList:
    fileN = y.replace("C:/Inetpub/wwwroot/1A_Data/OntarioGeodatabase_x.gdb\\","")      # Isolate filename
    webPath = y.replace("C:/Inetpub/wwwroot", "http://www.MyWebsite.com") + ".txt"     # Create Webpath to file
    localPath = y.replace("C:/Inetpub/wwwroot/1A_Data/OntarioGeodatabase_x.gdb\\", "C:/Test.gdb")     # Create local path for saving file

    file = urllib2.urlopen(webPath)  # Open File on the web
    output = open(localPath,'wb')    # Open local path for writing
    output.write(file.read())        # Write to local
    output.close()                   # Close local

    print str(a1) + "/" + str(a2) + " : " + webPath     # Just for tracking purposes on my side
    a1 = a1 + 1

Cela a très bien fonctionné pour moi. Bien qu'il ait fallu beaucoup de temps pour terminer. Mais le GDB était de près de 7 Go après le compactage. J'espère que cela aide quiconque visite cette question. Faites moi savoir si vous avez des questions.

Cody Brown
la source