インターネットでジオデータベースを共有する良い方法は何ですか?


8

リモートサーバーに10 GBを超える大きなファイルジオデータベースがあります。このGeoDatabaseを少し前に作成しましたが、ローカルでアクセスできるようにしたいと考えています。今では、それをディスクまたはUSBに書き込んで、ロジスティックな理由でここに持ってくることはできません。インターネット経由でリモートコンピューターからローカルコンピューターに取得する必要があります。このコンピューターには、リモートデスクトップ経由でのみアクセスできます。

私がすでに試したいくつかのこと:

  1. ファイルGeoDatabaseを圧縮してダウンロードします。これは何らかの理由で失敗しました。その後GeoDatabaseを解凍すると、何らかの破損があり、機能しません。
  2. シェープファイルにエクスポートされた機能。これは機能しますが、低速で、一部のメタデータが失われ、結局、これはこのタスクを実行する方法ではありません。
  3. 一部のファイル共有サイトを使用してみましたが、十分なスペースがない(Dropbox)か、大量のアップロードができない(SkyDrive)かのどちらかです。

リモートPC上のArcServerを完全に制御でき、ジオデータベースをホストし、その方法でダウンロードする方法があることを本当に望んでいました。XMLにエクスポートすることも考えていましたが、過去に問題がありました。GeoDatabaseは非常に大きく、これらのプロセスには非常に時間がかかるため、機能するソリューションが必要です。


2
アカウントに料金を支払う場合、GoogleドライブまたはDropboxはまだ代替手段です。Dropboxでは、10 GB以上のスペースを無料で取得することもできますが、いくつかの作業(友人の紹介など)が必要です。
マーティン

2
なぜFTPサーバーではないのですか?
Nathan W

2
@Martinに続いて、チェックアウトownCoudをオープンソースDropboxのクローンについて。
メタセコイア2013年

6
ロックは、ArcCatalogでの正常な動作とは関係ありません。zip以外のアーカイブ形式を試しましたか?また、最後にコンパクト化したのはいつですか?それは時々 、ファイルサイズを減らすことができ、劇的
チャドクーパー

4
WinRARを使用して、ZIPではなくファイルGDBフォルダーをアーカイブしてみます。RARは圧縮率が高く、1つの大きなファイルではなく小さなアーカイブファイルのセットを作成するように簡単に設定でき、作成後にアーカイブの整合性をテストできます。次に、アーカイブファイルをFTP経由で転送し、自分の側で再構成できます。
Dan C

回答:


6

FTP(filezilla は50mbブロードバンド接続で2時間で10GBを転送します)

ファイルジオデータベース:圧縮と圧縮

圧縮すると、読み取り専用になります。

そのため、アクセスするたびに解凍する必要はありません。ArcGISおよびArcReaderはそれを直接読み取ります。

ジオデータベースを編集するには、解凍する必要があります

圧縮を行うと、レコードを並べ替えて空き領域をなくすことで、ファイル内のレコードのストレージを整理できます。ファイルまたはパーソナルジオデータベースのデータを頻繁に追加および削除する場合は、毎月ジオデータベースを圧縮する必要があります。

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


ありがとう@Mapperz私はジオデータベースの圧縮と圧縮を行っています。
コーディブラウン

1

@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でした。これがこの質問にアクセスするすべての人に役立つことを願っています。ご不明な点がありましたらお知らせください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.