A little bit about Fusion Tables

Written on 22 May 2011, 10:49pm

Tagged with: , , ,

Google Fusion Tables is a modern data management and publishing web application that makes it easy to host, manage, collaborate on, visualize, and publish data tables online.

So as far as an user is concerned, a Fusion Table is a virtual table stored in the cloud, on which he can perform the regular CRUD operations. Here comes the nice part: the language on which you can perform these operations is SQL-like. The API is designed so that you can use URLs like
http://www.google.com/fusiontables/api/query?sql=select+*+from+1234567
The output of this request is a CSV text, with the contents of the selected table.

Let’s assume that you have a Fusion table where you store some physical addresses for some items. Below is a very simple PHP script which reads the contents of the fusion table, parses it, extracts the address, then performs a geocoding request using the geocoding API, parses the JSON object and outputs the latitude and longitude of the given address.

<?php
//run sql query to get data from fusion table
$url = 'http://www.google.com/fusiontables/api/query?sql=select+*+from+822057';
$lines = file($url);

$i = 0;
foreach ($lines as $line_num => $line) 
{
	//parse csv line
	$csv = str_getcsv($line);

	//extract the address
	$address	= $csv[7];
	
	if($address)
	{
		//we need to geocode the address to get the latitude and longitude
		$url_address = urlencode ($address);
		$geocode_url = "http://maps.google.com/maps/api/geocode/json?address=$url_address&sensor=false";
		$geocode = file_get_contents($geocode_url);
		$output = json_decode($geocode);

		$latitude = $output->results[0]->geometry->location->lat;
		$longitude = $output->results[0]->geometry->location->lng;

		//sleep for a second
		sleep(1);

		//do something nice with all this data

	}
}

?>

Comments (3)

  1. Daniel Montenegro — August 6, 2012 at 04:20

    Hi, Dorin!
    Can I cut and paste this code block into a Fusion Tables code of mine, or do I need to change something else?
    As I’m a begginer in programming I would like to ask what language do you think it’s more necessary to web programming: PHP or JavaScript?

    Daniel

    Reply

  2. Dorin M — August 6, 2012 at 09:49

    Feel free to cut and paste. As for the other question, there’s no right answer. It’s important to have the basics of JS, and for the server side, you have other alternatives to PHP (ColdFusion, python, ruby, Java, etc…).
    I would recommend you http://teamtreehouse.com/.
    Good luck!

    Reply

    • Daniel Montenegro — August 7, 2012 at 02:46

      Thanks a lot!!

      Reply

Leave a response