Was ist ein guter Weg, um eine GeoDatabase über das Internet zu teilen?


8

Ich habe eine große File GeoDatabase mit mehr als 10 GB auf einem Remote-Server. Ich habe diese GeoDatabase vor einiger Zeit erstellt und möchte lokalen Zugriff darauf haben. Jetzt kann ich es nicht einfach auf eine Festplatte oder einen USB-Stick brennen und aus logistischen Gründen hierher bringen. Ich muss es über das Internet von einem Remotecomputer auf meinen lokalen Computer übertragen. Ich kann nur über Remotedesktop auf diesen Computer zugreifen.

Einige Dinge habe ich bereits versucht:

  1. Zippen Sie die Datei GeoDatabase und laden Sie sie dann herunter. Dies schlug aus irgendeinem Grund fehl. Wenn ich die GeoDatabase danach entpacke, ist sie beschädigt und funktioniert nicht.
  2. Exportierte Features in Shapefiles. Das funktioniert, aber es ist langsam, ich verliere einige Metadaten und am Ende möchte ich diese Aufgabe nicht so ausführen.
  3. Ich habe versucht, einige Filesharing-Sites zu verwenden, aber entweder haben sie nicht genügend Speicherplatz (Dropbox) oder sie erlauben keine großen Uploads (SkyDrive).

Ich habe die volle Kontrolle über ArcServer auf dem Remote-PC und ich hatte wirklich gehofft, dass es eine Möglichkeit gibt, die GeoDatabase darauf zu hosten und auf diese Weise herunterzuladen. Ich habe auch darüber nachgedacht, es in ein XML zu exportieren, aber ich hatte in der Vergangenheit Probleme damit und weil die GeoDatabase so groß ist und diese Prozesse so lange dauern, möchte ich eine Lösung, die funktioniert.


2
Google Drive oder Dropbox ist immer noch eine Alternative, wenn Sie für ein Konto bezahlen. Mit Dropbox ist es möglich, mehr als 10 GB Speicherplatz kostenlos zu erhalten, erfordert jedoch einige Arbeit (z. B. das Verweisen von Freunden).
Martin

2
Warum nicht ein FTP-Server?
Nathan W

2
Suchen Sie nach @Martin in ownCoud nach einem Open-Source-Dropbox-Klon.
Metasequoia

6
Sperren haben nichts damit zu tun, dass sie in ArcCatalog einwandfrei funktionieren. Haben Sie ein anderes Archivformat als zip ausprobiert? Und wann wurde es das letzte Mal verdichtet ? Das könnte die Dateigröße manchmal dramatisch reduzieren .
Chad Cooper

4
Ich würde versuchen, WinRAR zu verwenden, um den Datei-GDB-Ordner anstelle von ZIP zu archivieren. RAR wird besser komprimiert und kann einfach so eingerichtet werden, dass eine Reihe kleinerer Archivdateien anstelle einer großen erstellt wird. Das Archiv kann nach seiner Erstellung auf Integrität getestet werden. Anschließend können Sie die Archivdateien per FTP übertragen und an Ihrem Ende wieder zusammensetzen.
Dan C

Antworten:


6

FTP ( Filezilla überträgt 10 GB in 2 Stunden über eine 50-MB-Breitbandverbindung)

Datei-Geodatabases: Komprimieren vs. Komprimieren

Durch Komprimieren wird NUR LESEN.

Sie müssen es also nicht jedes Mal dekomprimieren, wenn Sie darauf zugreifen. ArcGIS und ArcReader lesen es direkt.

aber Sie müssen dekomprimieren es EDIT die Geodatabase

Durch die Komprimierung wird die Speicherung von Datensätzen in Dateien aufgeräumt, indem sie neu angeordnet und freier Speicherplatz entfernt werden. Wenn Sie häufig Daten in einer Datei oder einer persönlichen Geodatabase hinzufügen und löschen, sollten Sie Ihre Geodatabase monatlich komprimieren

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


Danke @Mapperz Ich bin gerade dabei, die GeoDatabase zu komprimieren und zu komprimieren.
Cody Brown

1

Die Antwort von @Mapperz war großartig und hat die Geodatabase wirklich gut verkleinert. Ich konnte die GDB immer noch nicht komprimieren und herunterladen. Außerdem konnte ich kein FTP oder ähnliches finden, das etwas dieser Größe hochladen würde. FileZilla war keine Option, da ich keine neuen Programme auf dem Server installieren konnte.

Am Ende habe ich die GDB in den Ordner inetpub auf dem Server verschoben und sie so über das Web zugänglich gemacht. Ich habe eine leere Datei GDB auf meinem lokalen PC erstellt. Mein Gedanke war, eine Liste aller .gdbtable-, .gdbtablx- und anderen Dateien in der GDB zu erstellen und sie dann über das Internet herunterzuladen. Leider ließ mich Chrome diese Dateitypen nicht herunterladen und warf immer wieder Fehler auf.

Also ging ich zurück zum Server und schrieb ein kleines Skript, um die Erweiterungen aller Dateien in der GDB zu ändern. Fügen Sie einfach .txt zu jeder Datei hinzu. Hier ist das Skript:

import glob
import os

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

Nun, da waren 256 Dateien innerhalb der GDB. Ich wollte nicht jedes manuell eingeben. Also habe ich ein neues Skript erstellt, um die Arbeit für mich zu erledigen, das wie ein Zauber funktioniert hat. Ich habe jede der Dateien in die lokale GDB heruntergeladen. Das Skript liest jede Datei in der Liste und schreibt sie dann abzüglich der Erweiterung .txt in die lokale GDB.

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

Das hat bei mir super geklappt. Obwohl es lange gedauert hat, bis es fertig war. Aber die GDB war nach der Verdichtung fast 7 GB groß. Ich hoffe, das hilft jedem, der diese Frage besucht. Lassen Sie mich wissen, wenn Sie Fragen haben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.