Development Seed Blog

Defensive Geocoding Continued…

Geotagging Errors...The map looked wrong, and when I inspected it closer I saw that it was wrong,
very wrong. Members from Canada were showing up in New Orleans, priests living
in the Vatican appeared in Florida, and the World Bank’s staff was placed in
Washington state instead of Washington, DC.

This is what happened after I tried to map a couple thousand people
worldwide using the Drupal member_geocoder module we’re working on and
will be releasing soon. With at least one member in nearly every country,
the content I was mapping tested the limits of Google and Yahoo’s geocoding
capabilities and showed its limitations. Luckily, I found a solution with the
open source project Geonames, which
several people directed me to after my last post on geocoding.

As I mentioned in my
last blog post
, we built a module (member_geocoder module) to improve the mapping
of international content on Drupal websites. The module first looks to Google for
geotagging. If no latitude and longitude points are returned, it switches to Yahoo.
This works great for places like China and England because while Google does not
geocode these countries for legal restrictions, Yahoo does. But unfortunately, Yahoo’s
geocoder doesn’t work that well for other places.

workflow.jpg
So yesterday I went back to work on the member_geocoder module. Now it only uses
Yahoo to map content in China and England, and still uses Google as the primary
geocoder. The key improvement is that any content that Google can’t geocode and
isn’t in China or England is sent back to Google to with just the country name.
This at least plots content in the correct country. And it gets around the issue
that sometimes Google can’t geocode content because part of the address (like the
street address) isn’t accurate, the content is in a different language, or simply
because Google can’t do it for no good reason.

The real promising work, though, was with Geonames. I found that Geonames was
actually able to geocode at least two records that Google and Yahoo could not.
One was "PRISHTINË, Serbia And Montenegro." If you go to
this
query
, you can see that there are multiple spellings and languages stored for PRISHTINË, which
gives Geonames a clear advantage. Conversely, Google only worked with Priština. When you're
dealing with user data, standardizing it is a lot of work that typically doesn’t match up to
where the budget is allocated, so robust solutions that can handle some bumps go a long way.

I’m working now to integrate Geonames into the module, which will hopefully
help expand its accuracy geocoding international points. There is already an
effort to get Geonames into the location module. I will go back and refactor
how the three geocoders fail over to each other in order to contribute back
helpful code and approaches.

See the set of geocoding images here on Flickr

Comments
Where is member_geocoder?

Does member_geocoder use the Geo modules tables, locations, or it's own for storing the lat/long information? I'm looking for an easy, non GUI interface for converting addresses to lat/long and extending the node with the additional geo information.

Where can I see what you are working on?

Hi Kevin,

Hi Kevin,
It uses the location module for storing the information.

The geo module does a nice job for leaving the GUI up to the location module. Member_module needs to be cleaned up a bit still, as right now it hooks into another module dealing w/ importing/updating member information. Member_module makes no new db tables.

Defensive Geocoding Continued…

Intresting

Lesbian Video mature lesbian Hot Lesbian Sex lesbian sex picture Teen Lesbian Porn lesbian porn movie Mature Teen Lesbian teen lesbian video Lesbian Porn Strap lesbian strap video Girl Kid Kissing Lesbian Video twin lesbian kissing Lesbian Porn Video free lesbian video clip Mature Lesbian Movie mature taboo lesbian Black Lesbian Movie black lesbian teen Lesbian Kiss Video divas kiss lesbian pics.com wwe Dildo Hentai Latex Lesbian Toy hentai lesbian porn Asian Lesbian Video asian black lesbian sex Hot Lesbian Kissing hot lesbian porn Elm Lesbian Movie Scene lesbian strap on movie Free Lesbian Kissing Video absolutely free lesbian video Lesbian Girl In Action black lesbian girl Free Lesbian Porn Trailer free lesbian porn site Teen Lesbian Anal lesbian anal lick Asian Lesbian Orgy hot lesbian orgy Dating Free Lesbian dating lesbian personals Hot Nude Lesbian nude lesbian sex Sexy Lesbian Video sexy asian lesbian Her First Lesbian Sex Gallery her first time lesbian sex Lesbian Nude Picture lesbian girl picture Hot Young Lesbian young and old lesbian movie Lesbian Hairy Pussy teen lesbian pussy Teen Lesbian Fucking lesbian dildo fucking Sexy Naked Lesbian naked lesbian woman Free Lesbian Love Story free lesbian sex story Free Lesbian Anime Game anime lesbian sex Amateur Free Lesbian Video amateur lesbian movie Ebony Lesbian Video ebony lesbian pussy Gay Lesbian Bisexual Transgender bisexual gay health health lesbian minority perspective population public sexual transgender Lesbian Bondage Video lesbian strap on bondage Japanese Lesbian Free Movie free lesbian strap on movie Busty Milf Lesbian milf lesbian movie First Time Lesbian Porn first time lesbian experience Hardcore Lesbian Movie hardcore teen lesbian Hot Lesbian Orgasm lesbian dildo orgasm Nude Lesbian Pic girl hostel indian lesbian pic
member_geocoder

Is work work on the module anywhere obtainable for testing?

best regards
Ray

Post new comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <img> <p> <li> <ul> <ol>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options