@Mapperzの回答は素晴らしく、ジオデータベースを縮小するのに本当に役立ちました。それでもGDBを圧縮してダウンロードできませんでした。また、私はこのサイズのものをアップロードするFTPまたは類似のものを見つけることができませんでした。サーバーに新しいプログラムをインストールできなかったため、FileZillaは選択肢になりませんでした。
したがって、最後にGDBをサーバーのinetpubフォルダーに移動し、Web経由でアクセスできるようにしました。ローカルPCに空のファイルGDBを作成しました。私の考えは、GDB内のすべての.gdbtable、.gdbtablxおよびその他のファイルのリストを作成し、インターネット経由でダウンロードすることでした。しかし、残念ながらChromeではこれらのファイルタイプをダウンロードできず、エラーが発生し続けました。
それで、サーバーに戻って、GDB内のすべてのファイルの拡張子を変更する小さなスクリプトを書きました。各ファイルに.txtを追加するだけです。スクリプトは次のとおりです。
import glob
import os
x = glob.glob("C:/Inetpub/wwwroot/_Data/GeoDatabase.gdb/*")
for a in x:
os.rename(a, a + ".txt")
ここで、GDB内に256個のファイルがあります。手動で入力する必要はありませんでした。それで、私は仕事をするための新しいスクリプトを作成しました。各ファイルをローカルGDBにダウンロードしました。スクリプトは、リスト内の各ファイルを読み取ってから、ローカルGDBへの.txt拡張子を除いたファイルを書き込みます。
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
これは私にとってはとてもうまくいきました。完了するのに長い時間がかかりましたが。しかし、圧縮後のGDBはほぼ7 GBでした。これがこの質問にアクセスするすべての人に役立つことを願っています。ご不明な点がありましたらお知らせください。