When Pop Culture and GIS Collide

Was really surprised yesterday when I looked at site statistics and saw traffic was 4 times normal. Intrigued I took a look at the most recently created maps and found this:

Cruise Itinerary for MI3 on 5/3/06

Apparently somebody created an “Itinerary” for Tom Cruise’s launch of MI3 and posted it online. Is it real? Well I guess that doesn’t matter to the following celebrity news outlets that linked it:

gawker.com
bestweekever.tv
fark.com
gothamist.com

I don’t know what to say… I am, uh, happy for this? Although celebrity news to me is equivalent to the lowest form of spam, I am glad people found a use for the batchgeocoder for something unique.

Everyday is a suprise…

REMINDER: Any map you create on batchgeocode.com will not end up all over the internet unless you want it to. Links are not published in any form, so it is up to you to keep them to yourself or distribute them if you’d like.

SRC Open Sources their Geocoder

Read over at DirectionsMag that SRC has chosen to open source their Explorer geocoding product. I love the idea of putting more tools out their in the open source arena, especially in the area of geocoding. But remember its all about that data, and these days its seems like getting data coverage is the hardest part.

So assuming you take your open source geocoding software and some free TIGER data, you are set to start geocoding on a mass scale. Does anyone have feedback on just how good TIGER is these days?

Geocode right from Excel

Esin S sends along this clever script that uses Yahoo’s REST geocoding service to geocode right in Excel (replace appid=XXXX with your own appID):

Function gCode(Street As String, city As String, state As String, zip As String) As String

Dim XMLDOC As MSXML2.DOMDocument
Dim xm, xm2 As IXMLDOMNodeList
Dim init, ConnectURL As String
Dim temp As IXMLDOMNode
Dim doc As MSXML2.IXMLDOMElement
Dim l As String

init = “http://api.local.yahoo.com/MapsService/V1/geocode?appid=XXXX&
Street = Replace(Street, ” “, “+”)
state = Replace(state, ” “, “+”)
city = Replace(city, ” “, “+”)
init = init & “street=” & Street & “&city=” & city & “&state=” & state & “&zip=” & zip

Set XMLHTTP = CreateObject(“Msxml2.XMLHTTP.4.0”)
Set XMLDOC = CreateObject(“Msxml2.DOMDocument.4.0”)
strUrl = init
XMLHTTP.Open “GET”, strUrl, False
XMLHTTP.send
If XMLHTTP.Status = 200 Then XMLDOC.loadXML (XMLHTTP.responseXML.XML)
Set doc = XMLDOC.documentElement
l = XMLDOC.childNodes(1).childNodes(0).Attributes(0).nodeValue
gCode = l
End Function

for other elements place this
XMLDOC.childNodes(1).childNodes(0).childNodes(X).nodeTypedValue
where X =
0 = Latitude
1= Longitude
2 = address
3 = city
4 = state
5 = zip
6 = country

This is great because you will have access to the “precision” field which is not available to batchgeocode.com. However, using the REST interface you will be subject to the 5,000 per IP address limit. Assuming you don’t need to geocode more than that, your styling!

Thanks Esin!

UPDATE: Esin points out “Phillip, forgot to mention. Whoever uses the script must include the XML library (Tools -> References) in Visual Basic: “Microsoft XML, v X.0″ where X is the latest version number that user has on their PC.”