Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I've got a large, greater than 10 GB, File GeoDatabase on a remote server. I created this GeoDatabase some time ago and am looking to have local access to it. Now I can't simply burn it to a disk or USB and bring it here for logistic reasons. I need to get it from a remote computer to my local computer via the internet. I can only access this computer via Remote Desktop.

Some things I've already tried:

  1. Zipping the File GeoDatabase and then downloading it. This failed for some reason. When I unzip the GeoDatabase afterwards it has some sort of corruption and doesn't work.
  2. Exported features to Shapefile's. This does work, but it's slow, I lose some metadata and in the end, this is not how I want to accomplish this task.
  3. I tried using some file sharing sites, but either they don't have enough space (Dropbox) or they don't allow large uploads (SkyDrive).

I've got full control over ArcServer on the remote PC and I was really hoping that there was a way to host the GeoDatabase on it and download it that way. I was also thinking of exporting it to an XML, but I've had issues with that in the past and because the GeoDatabase is so big and these processes take so long I want a solution that will work.

share|improve this question
2  
Google drive or Dropbox is still an alternative if you pay for an account. With Dropbox it is possible to get 10+ GB space for free as well, but requires some work (eg. referring friends). –  Martin May 16 '13 at 13:45
2  
Why not a FTP Server? –  Nathan W May 16 '13 at 13:47
2  
Following @Martin, check out ownCoud for an open-source dropbox clone. –  metasequoia May 16 '13 at 13:59
6  
Locks have nothing to do with it working fine in ArcCatalog. Have you tried another archive format other than zip? Also, when was the last time it compacted? That could reduce the filesize, sometimes dramatically. –  Chad Cooper May 16 '13 at 14:17
4  
I would try using WinRAR to archive the file GDB folder rather than ZIP. RAR compresses better, and can easily be set up to create a set of smaller archive files rather than one big one, and can test the archive for integrity after it's been created. Then you can transfer the archive files via FTP and reassemble them on your end. –  Dan C May 16 '13 at 14:24

2 Answers 2

up vote 5 down vote accepted

FTP (filezilla will transfer 10GB in 2hours on a 50mb broadband connection)

File geodatabases: compressing vs. compacting

Compressing makes it READ ONLY.

so you do not have to uncompress it each time you access it; ArcGIS and ArcReader read it directly.

but you must uncompress it to EDIT the geodatabase

Compacting tidies up storage of records in files by reordering them and eliminating free space. If you frequently add and delete data in a file or personal geodatabase, you should compact your geodatabase on a monthly basis

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

share|improve this answer
    
Thanks @Mapperz I am in the process of compressing and compacting the GeoDatabase. –  Cody Brown May 16 '13 at 17:31

@Mapperz answer was great and really did a good job of shrinking the Geodatabase. I still could not zip and download the GDB. Also I couldn't find a FTP or similar that would upload something of this size. FileZilla wasn't a option since I couldn't install new programs on the server.

So in the end I moved the GDB to the inetpub folder on the server, thus making it accessible via the web. I created a blank File GDB on my local pc. My thought was to create a list of all the .gdbtable, .gdbtablx and other files within the GDB and then download them via the internet. But alas Chrome didn't let me download these file types, kept throwing up errors.

So I went back to the server and wrote a little script to change the extensions of all the files within the GDB. Simply adding .txt to each file. Here is the script:

import glob
import os

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

Now, there where 256 files within the GDB. I didn't want to type in each manually. So I created a new script to do the work for me, worked like a charm. I downloaded each of the files to the local GDB. The script reads each file in the list and then writes it, minus the .txt extension to the local 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

This worked for me great. Although it did take a long time to finish. But the GDB was almost 7 GB after the compacting. I hope this helps anyone who visits this question. Let me know if you have any questions.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.