<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Joe Junkin &#187; Geocode</title>
	<atom:link href="http://joe.junkin.com/category/geocode/feed/" rel="self" type="application/rss+xml" />
	<link>http://joe.junkin.com</link>
	<description>Life as it happens</description>
	<lastBuildDate>Thu, 14 Jan 2010 23:34:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Geocoding solution</title>
		<link>http://joe.junkin.com/2007/12/16/geocoding-solution/</link>
		<comments>http://joe.junkin.com/2007/12/16/geocoding-solution/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 03:55:15 +0000</pubDate>
		<dc:creator>jjunkin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Geocode]]></category>
		<category><![CDATA[MLS]]></category>
		<category><![CDATA[Real Estate]]></category>

		<guid isPermaLink="false">http://joe.junkin.com/2007/12/16/geocoding-solution/</guid>
		<description><![CDATA[My Geocoding experience with Google and Yahoo became increasingly difficult and lengthy until I finally went looking for another solution. I found that solution with the Perl Module Geo::Coder::US. My final solution utilized Geo::Coder::US for most of the geocoding with Google and Yahoo helping on more difficult ones. The processing time for batch processing 20,000 real estate [...]]]></description>
			<content:encoded><![CDATA[<p>My Geocoding experience with Google and Yahoo became increasingly difficult and lengthy until I finally went looking for another solution. I found that solution with the Perl Module Geo::Coder::US. My final solution utilized Geo::Coder::US for most of the geocoding with Google and Yahoo helping on more difficult ones. The processing time for batch processing 20,000 real estate listings went from around 8 hours in the beginning down to about 1 minute in the end.</p>
<p><span id="more-34"></span>Batch geocoding 20,000+ real estate listings using the Google and Yahoo geocoders ended up taking about 8 hours to complete. At various points the process was cut off after to many requests, even after I placed a sleep(1) call before each transaction. I became very discouraged at the performance and went looking for another solution.</p>
<p>I investigated the Perl Module Geo::Coder::US and found it was extremely easy to setup and configure. The lookup process is nice because the module does some massaging of the input to standardize stuff like &#8216;av&#8217; and &#8216;ave&#8217;. It takes the input as a single string like google and yahoo allow. The lookups are extremely fast. Without enabling the cache, Geo::Coder::US handled 80% of the lookups, google 13% and yahoo 7%. This process took about 18 minutes.</p>
<p>When the cache was enabled the process used the database for the majority of the lookups and the process took 1-3 minutes to complete.</p>
]]></content:encoded>
			<wfw:commentRss>http://joe.junkin.com/2007/12/16/geocoding-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geocoding MLS data</title>
		<link>http://joe.junkin.com/2007/12/11/geocoding-mls-data/</link>
		<comments>http://joe.junkin.com/2007/12/11/geocoding-mls-data/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 21:43:18 +0000</pubDate>
		<dc:creator>jjunkin</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Geocode]]></category>
		<category><![CDATA[MLS]]></category>
		<category><![CDATA[Real Estate]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[reil]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://joe.junkin.com/2007/12/11/geocoding-mls-data/</guid>
		<description><![CDATA[The data provided by REIL does not contain geocoding which means that I will have to do this myself. I am using Perl to download and build the data so I have designed a Perl process to bulk geocode each of the addresses. I designed a caching system so that I only need to do any one [...]]]></description>
			<content:encoded><![CDATA[<p>The data provided by REIL does not contain geocoding which means that I will have to do this myself. I am using Perl to download and build the data so I have designed a Perl process to bulk geocode each of the addresses. I designed a caching system so that I only need to do any one lookup one time.</p>
<p><span id="more-33"></span>I use the Google and Yahoo geocoders which are free. Yahoo allows something like 5000 per day and Google allows around 15,000. Even before I approached these limits I was blocked because I was sending too many requests per second. To solve this issue I placed a &#8217;sleep(1)&#8217; line before each of the geocoder calls ensuring that I don&#8217;t call either geocoder more than once a second. Once I implemented this (and moved to a different IP) this seems to work fine.</p>
<p>My caching system uses a GOOD and BAD cache table. Values found in one or the other are returned instead of doing a Google/Yahoo geocode call. I have about 20,000 addresses in my &#8216;GOOD&#8217; cache right now. I will create a cron job to expire these after some period of time, perhaps a couple of weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://joe.junkin.com/2007/12/11/geocoding-mls-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
