Apa cara yang baik untuk membagikan GeoDatabase melalui internet?


8

Saya punya File GeoDatabase yang besar, lebih besar dari 10 GB pada server jarak jauh. Saya membuat GeoDatabase ini beberapa waktu yang lalu dan saya ingin memiliki akses lokal ke sana. Sekarang saya tidak bisa begitu saja membakarnya ke disk atau USB dan membawanya ke sini untuk alasan logistik. Saya perlu mendapatkannya dari komputer jarak jauh ke komputer lokal saya melalui internet. Saya hanya dapat mengakses komputer ini melalui Remote Desktop.

Beberapa hal yang sudah saya coba:

  1. Zip File GeoDatabase dan kemudian mengunduhnya. Ini gagal karena beberapa alasan. Ketika saya unzip GeoDatabase setelah itu ada semacam korupsi dan tidak berfungsi.
  2. Fitur yang diekspor ke Shapefile's. Ini memang berhasil, tapi lambat, saya kehilangan beberapa metadata dan pada akhirnya, ini bukan bagaimana saya ingin menyelesaikan tugas ini.
  3. Saya mencoba menggunakan beberapa situs berbagi file, tetapi mereka tidak memiliki cukup ruang (Dropbox) atau mereka tidak mengizinkan unggahan besar (SkyDrive).

Saya memiliki kendali penuh atas ArcServer pada PC jarak jauh dan saya benar-benar berharap ada cara untuk meng-host GeoDatabase di dalamnya dan mengunduhnya dengan cara itu. Saya juga berpikir untuk mengekspornya ke XML, tapi saya punya masalah dengan itu di masa lalu dan karena GeoDatabase sangat besar dan proses ini memakan waktu lama saya ingin solusi yang akan bekerja.


2
Google drive atau Dropbox masih merupakan alternatif jika Anda membayar untuk akun. Dengan Dropbox juga dimungkinkan untuk mendapatkan ruang 10+ GB secara gratis, tetapi membutuhkan beberapa pekerjaan (mis. Merujuk teman).
Martin

2
Kenapa bukan Server FTP?
Nathan W

2
Setelah @Martin , periksa ownCoud untuk klon dropbox sumber terbuka.
metasequoia

6
Kunci tidak ada hubungannya dengan itu berfungsi dengan baik di ArcCatalog. Sudahkah Anda mencoba format arsip lain selain zip? Juga, kapan terakhir kali dipadatkan ? Itu bisa mengurangi ukuran file, kadang-kadang secara dramatis .
Chad Cooper

4
Saya akan mencoba menggunakan WinRAR untuk mengarsipkan file folder GDB daripada ZIP. RAR kompres lebih baik, dan dapat dengan mudah diatur untuk membuat satu set file arsip yang lebih kecil daripada yang besar, dan dapat menguji integritas arsip setelah itu dibuat. Kemudian Anda dapat mentransfer file arsip melalui FTP dan memasang kembali di ujung Anda.
Dan C

Jawaban:


6

FTP ( filezilla akan mentransfer 10GB dalam 2 jam pada koneksi broadband 50mb)

File geodatabases: mengompresi vs. memadatkan

Mengompres membuatnya BACA HANYA.

jadi Anda tidak perlu mengompresnya setiap kali mengaksesnya; ArcGIS dan ArcReader membacanya langsung.

tapi Anda harus uncompress ke EDIT geodatabase

Memadatkan merapikan penyimpanan catatan dalam file dengan menata ulang dan menghilangkan ruang kosong. Jika Anda sering menambah dan menghapus data dalam file atau geodatabase pribadi, Anda harus memadatkan geodatabase Anda setiap bulan

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


Terima kasih @Mapperz saya sedang dalam proses mengompresi dan memadatkan GeoDatabase.
Cody Brown

1

Jawaban @Mapperz sangat bagus dan benar-benar melakukan pekerjaan yang baik untuk menyusutkan Geodatabase. Saya masih belum bisa menyalin dan mengunduh GDB. Juga saya tidak dapat menemukan FTP atau sejenisnya yang akan mengunggah sesuatu dengan ukuran ini. FileZilla bukan pilihan karena saya tidak bisa menginstal program baru di server.

Jadi pada akhirnya saya memindahkan GDB ke folder inetpub di server, sehingga membuatnya dapat diakses melalui web. Saya membuat File GDB kosong di komputer lokal saya. Pikiran saya adalah membuat daftar semua file .gdbtable, .gdbtablx dan lainnya di dalam GDB dan kemudian mengunduhnya melalui internet. Tetapi sayangnya Chrome tidak membiarkan saya mengunduh jenis file ini, terus memunculkan kesalahan.

Jadi saya kembali ke server dan menulis skrip kecil untuk mengubah ekstensi semua file dalam GDB. Cukup menambahkan .txt ke setiap file. Ini skripnya:

import glob
import os

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

Sekarang, ada 256 file di dalam GDB. Saya tidak ingin mengetik secara manual. Jadi saya membuat skrip baru untuk melakukan pekerjaan untuk saya, bekerja seperti pesona. Saya mengunduh setiap file ke GDB lokal. Script membaca setiap file dalam daftar dan kemudian menulisnya, minus ekstensi .txt ke GDB lokal.

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

Ini sangat bagus untuk saya. Meski memang butuh waktu lama untuk menyelesaikannya. Tapi GDB hampir 7 GB setelah pemadatan. Saya harap ini membantu siapa saja yang mengunjungi pertanyaan ini. Beri tahu saya jika Anda memiliki pertanyaan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.