Pages Menu
TwitterRssFacebook
Categories Menu

Posted by on Sep 23, 2015 in GIS, Mapping, Mobile Technologies, What's new | 9 comments

Tuto: Collector for ArcGIS: Go (really) offline!

Tuto: Collector for ArcGIS: Go (really) offline!

Introduction

ArcGIS Collector’s offline mode is great. Being able to scroll your map of a refugee camp displaying 18000+ points of shelters, 2800+ points of toilets/showers and a 900mb tiled satellite imagery basemap without any lag/loading time on your phone is quite impressive.

This tutorial won’t explain you how to create an offline map and synchronize your edits because tons of well-made tutorials already exist for this:

The purpose of this tutorial is to experience the use of Collector in field conditions. Without Wi-Fi access, you’re not able to synchronize your edits and use the collected data in ArcMap for instance. This can be quite problematic in some situations we face during missions: we almost always manage to find Wi-Fi (or 3G) at some point, but in some cases you want to use your data now and can’t wait for a few days before going back to a Wi-Fi-friendly location.

It might also happen that the Wi-Fi is not strong enough to download all your data (especially if you are using pictures as attachments) and that Collector crashes during the synchronization.

What you have is your phone(s), your computer, an USB cable and people craving for their maps.

The following workflow will explain you how to extract all the data stored on your phone (meaning not only the edits you made but all the data displayed on the map) and has been tested with the following settings:

  • ArcGIS collector 10.3.3 installed on the Internal Storage memory of the phone (quite important if you want to use custom backgrounds). Works also if installed on the SD card.
  • Phone: tested on several Android smartphones (Crosscall Odyssey, Samsung Galaxy, LG Fino). By extrapolation I’d say every Android smartphone with enough internal storage to host Collector or with an SD card works. Not tested on Iphone/IOS, neither on Windows Phone (Collector still doesn’t exist on Windows Phone as of today).
  • Works with both 10.2 and 10.3 ArcGIS Desktop versions but the workflow is quite different (see below).
  • The map in Collector is created with non-versioned data (not tested with versioned data for now but I assume it works the same).

Situation

You have downloaded your map on Collector when you had Wi-Fi, have collected some new points in the field / edited some attributes of existing points and now you want to synchronize your edits and access the database from your computer to update a map in ArcMap.

But of course, you don’t have Wi-Fi anymore, neither to synchronize the phone or connect your computer to the database. You’ll have to do everything manually and offline.

/!\ Be careful, depending of your version of ArcGIS Desktop, the steps are completely different.

Steps for ArcGIS 10.3

  1. Plug your phone to your computer using an USB cable and go to the folder ArcGIS_Collector/offline_data of your phone. It can be located in the Internal Storage or SD Card root folder.
  2. Copy the folder called something like [username]_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx and paste it somewhere on your computer (e.g. on your desktop)capture1
  3. Open ArcMap (or ArcCatalog)
  4. Open the Toolbox and search for the tool “Copy Runtime Geodatabase to Geodatabase” (in Conversion/To geodatabase)capture2
  5. In Input Runtime Geodatabase, go and search inside the folder you copied from your phone a file called xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx.geodatabase. It should be located on the first folder of the folder you copied earlier (if you have several maps in offline mode, you may have several .geodatabase files).capture3
  6. ArcGIS will automatically create an Output geodatabase on Document/ArcGIS, but you can change the directory if you want. Then, press OK to launch the GP tool.capture4
  7. Using ArcCatalog, go to the output location where you’ll find a new Geodatabase containing all the data that was stored on your phone (the existing data + your offline edits). Note that it also keeps the related tables and attachments as shown below ;)

capture5

      8. You can then use queries on the EditDate or Creator field to know which points were collected with this phone.

capture6

Steps for ArcGIS 10.2

The “Copy Runtime Geodatabase to File Geodatabase” tool doesn’t exists in the 10.2 version of ArcGIS, so we’ll have to use another one (two in fact) to achieve the same result.

  1. Copy the content of your smartphone and open ArcGIS (like explained in points 1, 2 and 3 above).
  2. Open the Toolbox and search for the tool “Export XML Workspace Document” (in Data Management/Distributed Geodatabase)
  3. In Input data, drag and drop the .geodatabase file from your phone (you have to drag and drop it in the white line below “Input data” because you won’t be able to find it using the “Open” button)
  4. Choose a location for the output .xml file. Leave all other options by default.
  5. Once done, open the tool Import XML Workspace Document (in Data Management/Distributed Geodatabase)
  6. In Target GDB, put the location of the geodatabase that will contain all the exported data (it will automatically create one if it doesn’t exists yet in the specified folder). Always use a blank GDB that you will delete later.
  7. In Import file, put the .xml file you created earlier. Leave other options by default.
  8. You’ll end up with a geodatabase containing all the data, like explained in point 7 of the ArcGIS 10.3 version above.

Conclusion

Using this method, you can use ArcGIS Collector to collect data almost completely offline, as long as you have downloaded a map on it before the mission.

However, this DIY method has some flaws if you have a lot of smartphones to synchronize:

  1. It will take some time to extract the data form each phone (well, not much more than with a lot of GPS devices in fact).
  2. Each phones will give you a complete extract of the database so you’ll have to select only the last edits/addings from each (using queries on editdate or editby) and paste it on a clean geodatabase.
  3. The phones won’t synchronize between themselves so the data collected on one phone won’t appear on the other phones and vice-versa.

 

9 Comments

  1. Good article, thanks for showing the 2 examples with arcmap 10.2 and 10.3. We are working with xml files for data consolidation as well at the ICRC, as replica are not working well on a daily basis. Not yet tested the full offline capacities of collector.

    Best
    Yann

  2. Hey – Great article.

    We often end with sync problems, when we have to many attachments.

    But you’ve done all of it. How would you then ‘sync’ the database.copy with the online map? I have the same situation, as the example shows – a feature with attachments. Now i would like to append/consolidate it with the online feature.

    Any suggestions?

    • Hi Peter,

      I’d say the best way is to open your online dataset in ArcGIS using a Database Connection and use the tool Append on it (or right-click -> load).

      I never tested if the Append tool manages to take also the attachments though.

      - Leo

  3. Hi,

    I am working on ArcGIS android Runtime SDK. I have created an APP in which user can download data from ArcGIS Online and work offline.My problem is on the field i am not getting good internet connection to SYNC data with ArcGIS Online server(In good network application is working very good) so way around is take .geodatabase file offline and convert using [Arc GIS copy geodatabase to FGDB] but i am getting error that not able to open file. Have face any similar issue ever…

    Regards,
    Piyush

    • Hi Piyush,

      This workflow was only tested for Collector for ArcGIS so I don’t really know if it can work with custom apps… Did you tried both methods explained in the tuto (for ArcGIS 10.3 and ArcGIS 10.2) ?

  4. Hi
    I am having a similar problem with sync issues. I’ve been following the help for 10.2 but I’m using ArcGIS 10.1 (maybe that’s the problem?). I have the .geodatabase files I need but when I try to use ExportXMLworkspaceDocument and drag and drop the file into the input I get this message “One or more dropped items were invalid and will not be added to the control”. It seems like this is the answer to retrieving my unsynced data but won’t work for me. Any idea what I’m doing wrong? Thanks for any help!
    Cheers
    Chris

    • Hi Chris,

      I’m afraid i can’t really help you on this one because you clearly foloow the methodology I tested successfully on the 10.2.2. Maybe it’s indeed because you use the 10.1 version of ArcGIS (though I would be surprised that a tool works diffenrently one version to another if it’s already available in the oldest one).

      What you can try is to lunch the tool in batch (right click -> Batch). I had a tool that I could only make work like this in the 10.2.2 (can’t remember which one …) or try if you can to update your version of ArcGIS

      Cheers,

      - Leo

  5. Thanks Leo
    I’ve tried the batch version, drag and drop the .geodatabase file into the tool, but get the error “000840 this value is not a table”. My only other thought is that the .gdb I used to create the collector map contained domains which I used for drop down lists – could that have anything to do with it?
    I will check if anyone else in our organization has a later version of ArcGIS, but I doubt I will be able to upgrade any time soon

    Cheers
    Chris

  6. Tres bon tuto.

    Helpfull

    Merci!!!

Post a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

A propos de l'auteur :

Léo Martine

Léo is working at CartONG since April 2014 as GIS officer. He's sharing on this blog a few tips and tricks he has discovered during his trainings, developments and missions.