Mobile Data Collection Using ODK Collect
Open Data Kit (ODK) is a suite of tools that allows data collection using mobile devices and data submission to an online server, even without an Internet connection or mobile carrier service at the time of data collection. You can collect data remotely without an Internet connection or cell carrier access. Gather text, numeric data, media and more with a mobile device. Then, host your data online using Google's powerful hosting platform, Google AppEngine, and visualize your data as a map using Google Fusion Tables and Google Earth.
Created by developers at the University of Washington's Computer Science and Engineering department and members of Change, Open Data Kit is an open-source project available to all. Please visit their ODK project page for more information, recent updates, more tutorials, and to contribute to the project.
This data was collected in the field using Open Data Kit. The data is stored in a Fusion Table and displayed in Google Earth.
- No programming skills needed!
- We strongly recommend that you have taken the prior tutorials, Mobile Data Collection using ODK Collect and Manage Your Data with ODK Aggregate. We also recommend taking Getting Started with Mobile Data Collection.
- You will need a Google Account to log in to ODK Aggregate and view your data in Fusion Tables. (Get one here.)
- You will need Google Earth installed on your computer. Download the latest
version here. (It's
In this exercise, we will use a sample form to demonstrate the most common kinds of data you can collect with Open Data Kit and and display with Google Fusion Tables and Google Earth. You can get the sample form on your mobile device by following the instructions in the previous tutorial, Manage Your Data with ODK Aggregate.
Let's Get Started!
In the previous tutorials, you learned how to send your form submissions to our instance, or your own instance, of ODK Aggregate. To see the data you added to the form, go to http://odk-tutorial.appspot.com and login using your Google Account.
For this tutorial, we will use the data that's been previously collected and uploaded
to http://odk-tutorial.appspot.com. The
dataset will continuously be added to as more people take this tutorial and add more
data. If you upload data to this server, please note that the server has been made
public so please don't upload material you don't want others to view. If you collected
data using your own AppEngine instance in the last tutorial, feel free to follow along
ODK Aggregate provides an automatic link to a table that you've created with Google Fusion Tables. Fusion Tables allows you to upload different datasets, merge your datasets, quickly and easily visualize your dataset on a map, and query your data. You can also collaborate with others on your data and set different permissions levels for different users. The mapping functionality of Fusion Tables is covered in more depth in three other tutorials: Map sample data with Fusion Mapper, Map your own data with Fusion Mapper, and Sharing a map from Fusion Mapper.
- First, you'll need to publish your data from ODK Aggregate to Google Fusion Tables. In the "Submissions" tab, under "Filter Submissions," select the form you wish to export. Then, hit the "Publish" button.
- Select the service to which you want to create the connection. You can choose from
Google Spreadsheets, an online, collaborative spreadsheet tool, or Google Fusion
Tables, a lightweight online database with built-in visualization options.
- You can choose either Google Spreadsheets or Google Fusion Tables. For this tutorial, select Google Fusion Tables.
- Select one option from the drop-down menu to define what you want to upload:
a. "Upload Existing Submission Data Only" will only upload the existing data you already have submitted to http://odk-tutorial.appspot.com or your own ODK Aggregate instance.
b. "Stream New Submission Data Only" if you want new only submissions to your form to be automatically entered into Google Fusion Tables.
c. "BOTH Upload Existing and Stream New Submission Data" will put your existing submissions into Fusion Tables and continue automatically adding new submissions to your table.
- Choose "BOTH Upload Existing & Steam New Submission Data."
- Click "Publish."
- You must authorize ODK Aggregate to create a Fusion Table within your Google Account that you can access in the future. Click "Authorize Fusion Table Creation from Google Account."
- You will see the standard message "If you grant access, you can revoke access at any time under 'My Account'. odk-training.appspot.com will not have access to your password or any other personal information from your Google Account." If you wish to proceed, click "Grant Access." The connection is created and you'll be returned to the main List of Forms page in ODK Aggregate.
- Go to Google Fusion Tables at http://www.google.com/fusiontables and log in to view your new table. Note: only you will be able to view your data submissions in your Fusion Tables Google account. From Fusion Tables, you can grant others access in varying degrees to your data (learn how).
- Select "Map" from the "Visualize" menu. You should see your data points displayed
on a Google Map. If there are errors in the data, learn how to
Modify your Columns. If the points aren't displaying where you expect them to
display, change the "Location" setting in the "Map" view (or visit Help).
If you are using the Sample.xml form, here is how your pop-up balloons will appear by default:
TIP: If you would like to have photos appear alongside your data submissions on the
map, you can do so by using the "Configure Info Window" link at the top of the "Map"
Learn how to customize pop-up balloons in Google Fusion Tables.
You can also view your data in Google Earth. This is a good alternative to viewing your data in Fusion Tables if you want to add more information to enhance your map, such as points, lines and polygons to better tell the story about your data.
- On the "List of Forms" page of http://odk-tutorial.appspot.com or your own ODK Aggregate instance, click "Create KML file."
- Several options will appear. For "Field to Map," select the field which corresponds
to your form's GPS location question. For "Title Field," select the field that you
would like to appear at the top of your Google Earth pop-up balloons. For "Picture
Field to Display," select the field which corresponds to your photo. Then click
"Submit," and your Google Earth KML file will begin downloading.
- Once the file has finished downloading, double-click the file to open it in Google
Earth. You should see placemarks for each data submission. If you click on a placemark
to open the pop-up balloon, you should see a table with the data values for that
If you are using the Sample.xml form, here is how your pop-up balloons will appear:
Tip: If you would like to create a connection between your data in Google Fusion Tables and Google Earth, you can do so using a Network Link. First, you must have opted to create an external service connection from ODK Aggregate to Fusion Tables, selecting "BOTH Upload Existing & Steam New Submission Data." Then, learn how to create a dynamic link from your Google Fusion Tables dataset to Google Earth.
Tip: Once you have imported your data into Google Earth, you can add additional points, lines and polygons to tell a story about your field data collection results. Learn how to Annotate Google Earth.
If there is historical imagery available for the region you are working in, you can see the changes over time. Learn more about historical imagery in Google Earth.
You can also use Google Earth to create a narrated tour to tell the story about the region you are collecting data about, the purpose and goals of your data collection, and the conditions in the field. Learn more about creating narrated tours in Google Earth.
Congratulations! You have learned how to visualize the data you've collected in the
field with Open Data Kit on a map.
Discussion & Feedback
Have questions about this tutorial? Want to give us some feedback? Visit the Google Earth Outreach Discussion Group to discuss it with others.