For anyone who is considering using Fusion Tables, it has a very nice feature that allows you to select a point that has been badly geocoded, and find the right location searching in a small pop-up map, and then select from a set of alternate locations. Your choice modifies the coordinates of the geocoding, but not the address itself. A very nice and quite easy way to fix problems.<div>
<br></div><div>Cheers,</div><div>JP<br>
<br><br><div class="gmail_quote">On Sat, Feb 5, 2011 at 12:37 AM, JP Glutting <span dir="ltr"><<a href="mailto:jpglutting@gmail.com">jpglutting@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
It is pretty slick, but I just started using it about an hour ago, so I haven't thought much about what to do with it. I did see a comment where someone from Google said that reverse geocoding is not possible yet. <div>
<br></div><div>I am going to have to get up to speed with PostGIS, but this is a pretty simple operation. I didn't number the addresses, but each event has a real address and a "cleaned" address column in a table. The CSV that I uploaded to Fusion was just a "select distinct..." of the cleaned addresses, so it will serve as a lookup table for all the addresses in the original table. I'm not sure how I am going to reorganize the tables afterward, but I want to interpolate temperatures for each data point based on other data that I have, and I think PostGIS only does simpler operations right now, so I might have to export the points into shapefiles for each day an event occurs and do splines in another package, then copy the interpolated values back into the database. I am sure there is a more elegant way to do that, I really need to think about it some more. </div>
<div><br></div><div>(Oh, hey, I just saw that you can compile R into Postgres. That is pretty crazy, but potentially totally awesome: <a href="http://postgis.refractions.net/pipermail/postgis-users/2009-March/022894.html" target="_blank">http://postgis.refractions.net/pipermail/postgis-users/2009-March/022894.html</a>)</div>
<div><br></div><div>Cheers,</div><div>JP<div><div></div><div class="h5"><br><br><div class="gmail_quote">On Sat, Feb 5, 2011 at 12:17 AM, Dan Putler <span dir="ltr"><<a href="mailto:dan.putler@sauder.ubc.ca" target="_blank">dan.putler@sauder.ubc.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Glad to be of help, I'm just curious about what the licensing / terms of use on the KML files that come out of fusion tables. Plus I want to know if it will reverse geocode. It is very slick, but I can imagine violating the terms of use almost instantly.<br>
<br>
In terms of your next problem (which seems like one for the PostGIS user list), did you create a unique address ID? if you did, can't you put it in the data you created the fusion table from and then just do the appropriate table join in Postgres/PostGIS?<br>
<br>
Dan<div><br>
<br>
On 02/04/2011 03:08 PM, JP Glutting wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
That is a nice trick, I will remember that. I really just need the coordinates, since each coordinate needs to go back into a database in a register of a location-time that needs more data added later. These are the "generic" addresses, with the apartment numbers stripped, so each address will provide coordinates for multiples DB entries on different dates, and I won't really be using them on the same layer. But I am sure I can figure out a way to get the data back out with PostGIS (the original data is in Postgres anyway).<br>
<br>
Cheers,<br>
JP<br>
<br></div><div>
On Fri, Feb 4, 2011 at 11:59 PM, Dan Putler <<a href="mailto:dan.putler@sauder.ubc.ca" target="_blank">dan.putler@sauder.ubc.ca</a> <mailto:<a href="mailto:dan.putler@sauder.ubc.ca" target="_blank">dan.putler@sauder.ubc.ca</a>>> wrote:<br>
<br>
JP,<br>
<br>
If you export the KML, and then feed it into QGIS you can then<br>
save the resulting layer as a shapefile, which is probably what<br>
you are really hoping to have since you can then easily feed it to<br>
R, PostGIS, or a number of other tools to pull the coordinates.<br>
<br>
Dan<br>
<br>
<br>
On 02/04/2011 02:20 PM, JP Glutting wrote:<br>
<br>
Hi Bernie,<br>
<br>
You can't actually get the lat-lng back out of a Fusion table.<br>
It will geocode all the addresses, but you can't get the<br>
numbers back, you can just make a map or layer or something.<br>
<br>
<a href="http://groups.google.com/group/fusion-tables-users-group/browse_thread/thread/91c43c73107164eb" target="_blank">http://groups.google.com/group/fusion-tables-users-group/browse_thread/thread/91c43c73107164eb</a><br>
<br>
Unless I export it to KML and pull it back out of there?<br>
<br>
That seems like a lot of work. But it sure geocodes like<br>
gangbusters.<br>
<br>
Cheers,<br>
JP<br>
<br>
Public Health - GIS - Bioinformatics<br>
<a href="http://www.bmeisis.com" target="_blank">http://www.bmeisis.com</a> <<a href="http://www.bmeisis.com/" target="_blank">http://www.bmeisis.com/</a>><br>
<a href="http://www.jpglutting.com" target="_blank">http://www.jpglutting.com</a><br>
<br>
<br>
<br>
<br>
<br>
On Fri, Feb 4, 2011 at 7:42 PM, Connors, Bernie (SNB)<br>
<<a href="mailto:Bernie.Connors@snb.ca" target="_blank">Bernie.Connors@snb.ca</a> <mailto:<a href="mailto:Bernie.Connors@snb.ca" target="_blank">Bernie.Connors@snb.ca</a>><br></div>
<mailto:<a href="mailto:Bernie.Connors@snb.ca" target="_blank">Bernie.Connors@snb.ca</a> <mailto:<a href="mailto:Bernie.Connors@snb.ca" target="_blank">Bernie.Connors@snb.ca</a>>>><div><br>
wrote:<br>
<br>
Try Google Fusion Tables. All you have to do is put all of the<br>
address components in one field and it should be recognized and<br>
geocoded.<br>
<br>
--<br>
<br>
*Bernie Connors, P.Eng*<br>
<br>
Service New Brunswick<br>
<br>
(506) 444-2077<br>
<br>
45°56'25.21"N, 66°38'53.65"W<br>
<br>
<a href="http://www.snb.ca/geonb/" target="_blank">www.snb.ca/geonb/</a> <<a href="http://www.snb.ca/geonb/" target="_blank">http://www.snb.ca/geonb/</a>><br>
<<a href="http://www.snb.ca/geonb/" target="_blank">http://www.snb.ca/geonb/</a>><br>
<br>
<br>
*From:*<a href="mailto:discuss-bounces@lists.osgeo.org" target="_blank">discuss-bounces@lists.osgeo.org</a><br>
<mailto:<a href="mailto:discuss-bounces@lists.osgeo.org" target="_blank">discuss-bounces@lists.osgeo.org</a>><br>
<mailto:<a href="mailto:discuss-bounces@lists.osgeo.org" target="_blank">discuss-bounces@lists.osgeo.org</a><br>
<mailto:<a href="mailto:discuss-bounces@lists.osgeo.org" target="_blank">discuss-bounces@lists.osgeo.org</a>>><br></div>
[mailto:<a href="mailto:discuss-bounces@lists.osgeo.org" target="_blank">discuss-bounces@lists.osgeo.org</a><div><br>
<mailto:<a href="mailto:discuss-bounces@lists.osgeo.org" target="_blank">discuss-bounces@lists.osgeo.org</a>><br>
<mailto:<a href="mailto:discuss-bounces@lists.osgeo.org" target="_blank">discuss-bounces@lists.osgeo.org</a><br>
<mailto:<a href="mailto:discuss-bounces@lists.osgeo.org" target="_blank">discuss-bounces@lists.osgeo.org</a>>>] *On Behalf Of *JP<br>
Glutting<br>
*Sent:* Friday, 2011-02-04 09:34<br>
*To:* <a href="mailto:discuss@lists.osgeo.org" target="_blank">discuss@lists.osgeo.org</a><br>
<mailto:<a href="mailto:discuss@lists.osgeo.org" target="_blank">discuss@lists.osgeo.org</a>><br></div>
<mailto:<a href="mailto:discuss@lists.osgeo.org" target="_blank">discuss@lists.osgeo.org</a> <mailto:<a href="mailto:discuss@lists.osgeo.org" target="_blank">discuss@lists.osgeo.org</a>>><div><div></div>
<div><br>
<br>
*Subject:* [OSGeo-Discuss] Batch geocoding<br>
<br>
Hello,<br>
<br>
I have a large set of addresses (around 150k) that I need to<br>
geocode for a study (my Masters thesis on heat-related<br>
mortality).<br>
I am looking into different solutions, but I can't find<br>
anything<br>
that seems like it would work properly.<br>
<br>
I could script a solution using Google's map API, but there<br>
is a<br>
limit of 2,500 addreses per day (I can get around them with a<br>
little patience).<br>
<br>
Right now the best solution I am looking at geopy for geocoding<br>
addresses (<a href="http://code.google.com/p/geopy/" target="_blank">http://code.google.com/p/geopy/</a>). It seems like<br>
a good<br>
system, I think I can use it to pull addresses out of my<br>
database<br>
and write back coordinates. There is one thing that I am<br>
not sure,<br>
about, though, is whether I am actually allowed to use the<br>
Google<br>
API without my use being liked to a specific web page. The<br>
terms<br>
of service and form for getting a Google API key require a URL<br>
linked to a Google account. In fact, it looks like the API can<br>
only be used through a web site:<br>
<br>
"5.2 _Account Key_. After supplying Google with your<br>
account<br>
information and the URL of your Maps API<br>
Implementation, and<br>
accepting the Terms, you will be issued an alphanumeric key<br>
assigned to you by Google that is uniquely associated with<br>
your Google Account and the URL of your Maps API<br>
Implementation. Your Maps API Implementation must<br>
import the<br>
Google Maps APIs using this key as described in the<br>
Maps APIs<br>
Documentation<br>
<<a href="http://code.google.com/apis/maps/documentation/" target="_blank">http://code.google.com/apis/maps/documentation/</a>>, and Google<br>
<br>
will block requests with an invalid key or invalid URL. You<br>
may only obtain and use a key in accordance with these<br>
Terms<br>
and the Maps APIs Documentation<br>
<<a href="http://code.google.com/apis/maps/documentation/" target="_blank">http://code.google.com/apis/maps/documentation/</a>>."<br>
<br>
<br>
So it looks like I can't even get it to work without a URL.<br>
<br>
I can always write a script that loops through results<br>
extracted<br>
from the database, creates URLs and parses the XML results<br>
one at<br>
a time, but that seems like a fairly inelegant solution.<br>
<br>
Does anyone have any good ideas about how to geocode a few<br>
thousand addresses?<br>
<br>
Many thanks,<br>
<br>
JP<br>
<br>
<br>
_______________________________________________<br>
Discuss mailing list<br>
<a href="mailto:Discuss@lists.osgeo.org" target="_blank">Discuss@lists.osgeo.org</a> <mailto:<a href="mailto:Discuss@lists.osgeo.org" target="_blank">Discuss@lists.osgeo.org</a>><br></div></div>
<mailto:<a href="mailto:Discuss@lists.osgeo.org" target="_blank">Discuss@lists.osgeo.org</a> <mailto:<a href="mailto:Discuss@lists.osgeo.org" target="_blank">Discuss@lists.osgeo.org</a>>><div>
<br>
<br>
<a href="http://lists.osgeo.org/mailman/listinfo/discuss" target="_blank">http://lists.osgeo.org/mailman/listinfo/discuss</a><br>
<br>
<br>
<br>
_______________________________________________<br>
Discuss mailing list<br>
<a href="mailto:Discuss@lists.osgeo.org" target="_blank">Discuss@lists.osgeo.org</a> <mailto:<a href="mailto:Discuss@lists.osgeo.org" target="_blank">Discuss@lists.osgeo.org</a>><br>
<a href="http://lists.osgeo.org/mailman/listinfo/discuss" target="_blank">http://lists.osgeo.org/mailman/listinfo/discuss</a><br>
<br>
<br>
</div></blockquote><div><div></div><div>
<br>
_______________________________________________<br>
Discuss mailing list<br>
<a href="mailto:Discuss@lists.osgeo.org" target="_blank">Discuss@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/discuss" target="_blank">http://lists.osgeo.org/mailman/listinfo/discuss</a><br>
</div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div>