Tag Archives: Latitude

CityGrid, Google, Yelp Places API Comparison: Request Structure

I’m spending time diving into 11 of the places data APIs to see how CityGrid stacks up, but also to learn the inner workings of all of them. CityGrid has a great attitude towards the space, and looks to play with all of them. This is another segment in that series.

In this segment I’m looking specifically at the API request structure for CityGrid, Google and Yelp. I recently built an interactive places API comparison tool, and to do so I had to harmonize the requests across all three APIs, and here is what I learned.

CityGrid offers two endpoints:

  • What – A single keyword or phrase providing the topical filtering.
  • Where – A textual search allowing you to search by cities, neighborhoods, zip codes, metro areas, addresses and intersections.
  • Latitude / Longitude – A longitude / latitude based search that can use two points or bounding boxes.

You can further refine searches with a radius and sort by distance, alphabetically, highestrated, mostreviewed, top matches and offers.

Google, you can accomplish the same thing, but they go about it a little differently. Every search has two sides:

  • What – A keyword filter to apply the topic your searching for.
  • Where – A location which is two point or bounding box longitude and latitude.

At first glance it seems limiting, but you can use the Google Geocoding API to convert any textual location in a longitude and latitude location. Once you have geocoded your location, you can use the Places API to search for places, and apply a radius to limit or expand the search. I don’t see any sort criteria currently.

Yelp is similar to the CityGrid approach in that they provide three ways to provide the “where” for a places search:

  • Term - A single keyword or phrase providing the topical filtering.
  • Bounding Box – A four point latitude and longitude search for NE and SW lat /long.
  • Geo Coordinates – A two point latitude and longitude search which includes accuracy and altitude settings.
  • Textual – Location by neighborhood, address, or by city.

All three leading places API provide robust interfaces allowing you to find businesses and other places via an API through textual or latitude and longitude searches. Of course I’m biased because I work for CityGrid, but CityGrid seems the most robust in the amount of controls over your request. I’d put Yelp second, then Google. But Google is, in their own lable in Beta. So I’m sure there is more coming down the pipes.

Stay tuned for more in my places data API comparison, next up responses.

Fifty Percent of Instagram Photos Have Geo Coordinates

I’m playing around with the Instagram API, to determine if it is a good source for pulling location specific, high quality photos.

Many of the photos I come across, that associated with locations…well, just suck. I love using Instagram and feel i take some really cool photos from specific locations. So I wanted to test the waters.

I wrote a script that pulled 500 images across 20 of my Instagram friends. I figured that was a good cross-section. Here are the results:

  • Number of Photos – 500
  • Number with Latitude / Longitude – 261
  • Number with No Location – 239

That is slightly over 50% of Instagram photos having latitude and longitude associated with each photo. Awesome!

After evaluating my own photos, and talking to a couple of my friends, we concluded that the ones without location info, are probably from taking photos with our camera outside of Instagram, then running through Instagram for the filters.  So the numbers could be higher for users who don’t do this.

By no way a scientific research, but enough to warrant pushing ahead building more code samples and prototypes at CityGrid and Hyp3rL0cal, so developers can pull high quality local photos from Instagram and include in their local web and mobile applications.

CityGrid Local, Mobile, Social Stack: AskGeo

I’m adding another tool to the CityGrid Local, Mobile, Social Stack. This time its a service that allows you to find out the time zone information for a longitude and latitude, called AskGeo.

AskGeo is a dead simple REST API that lets you give a latitude and longitude and the API returns the unix (Olson) time zone ID (e.g., “America/Chicago”, “Europe/London”), the Windows Standard Name for the time zone (e.g., “Pacific Standard Time”, “Central European Standard Time”), and the current offset from UTC.

The API is free to try, and it is free for non-commercial and personal use. Open source projects, students, and private individuals may use it free of charge, but any user that wishes to use the API for commercial purposes must pay an access fee of $200 per year.

Currently they have a Java Library for working with the time zone API, and you can find complete documentation on the AskGeo website.

AskGeo is definitely an essential addition to the local, mobile, social stack–I see it providing providing a utility you can use for transit, travel, meeting and other time sensitive aspects of mobile and web application development.