Introducing Geo Street Talk, a tool to translate between human and machine geo-intelligence

Applied Research in Government Operations
A.R.G.O.
Published in
4 min readMay 7, 2018

This post is the second in our series from ARGO’s civic data marketplace.

The first post can be found here.

Geo Street Talk is envisioned as a GIS tool to translate on street locations to human descriptions of street segments (“between such and such street and other avenue”).

This work is part of a larger experiment to test incentives for public data talent to deliver civic data science projects.

Long term we hope to pioneer a new pathway for local governments to tap into talent at a lower cost and greater quality than current contracting methods.

Introducing Geo Street Talk Global

By Yukun Wan

Geo Street Talk (global)

Motivation

I came to New York City for my graduate study last summer. It took me a while to figure out how to get around the city. For instance, addresses like 123 7th Avenue are not very helpful to outsiders unfamiliar with NYC’s grid.

After several months living in and using public transportation to get around New York City, I’ve gradually had a vague sense of space in this city.

For example, the streets in Manhattan named with increasing numbers are arranged from South to North while the avenues with increasing numbers are from East to West. Combined with some landmarks, it will be easy to form a vague moving path without accessing the navigation if we know the street name and the two enclosing streets. If I was in Time square and wanted to go to somewhere between 8th Street and 9th Street, I know that I have to go south.

Over time, an address like 6th Avenue between 8th and 9th Street becomes more accessible just because I now know its approximate position . This approximation allows immediate navigation instead of constantly looking up an address.

Let’s say I need to attend a meeting in a hurry and my calendar invite shows me a house address. At that time, it would be very useful to see a translated address that simply upon a quick glance, I know which direction to go or which train to catch.

The conventional method of representing locations of anything is involves showing a coordinate (40.7217267,-73.9870392), but these numbers don’t mean much without a map (often that needs to be connected to the internet).

If we can represent the location in a more conversational (i.e. “Houston Street between Avenue B and Avenue C”), we believe improves the overall user experience of working with location data.

Let’s imagine the reverse of this use-case. As described in Geo Street Talk NYC, where created this tool for the streets of NYC, we described a use-case for shared autonomous vehicles.

Wouldn’t it be nice if you could just hop into a vehicle and ask it to go to West 3rd between Sullivan and Thompson? Vehicle autonomy could be that much more accessible if the user experience involves exchanging a simple voice command with your vehicle to move to some destination the same way you would if you were in a taxicab.

Geo Street Talk global generalizes this approach using open data so it can be applied to any city in the world (assuming the underlying data is accurate).

Approach

GST converts any on street location coordinate to:

“On Street” between “From Street” and “To Street”

This function returns a conversational string upon providing these inputs:

  1. A city name that is present int the Nominatim vocabulary.
  2. A location (latitude,longitude pair).

We used these Python packages to accomplish Geo Street Talk:

  • OSMnx, a python package that allows one to pull street networks for cities around the world.
  • GeoPandas, a python package for processing geospatial data.

Here is an plain language overview of how GST works:

1. Using OSMnx we retrieve the street graph of the city and save it as a shapefile.

2. With the given lat/lng point, we query for nearest street segment

Obtain To & From node IDs of this segment.

4. Query for intersecting streets by filtering all the streets containing the To & From node IDs

5. Compare street names of intersecting streets with original segment to determine the To & From streets names.

6. Return the conversational string.

We plan to build Geo Street Talk in reverse i.e. Convert a conversational string 6th Avenue between 8th and 9th Streetinto a location coordinate. We plan to develop an API interface or a python package for public usage.

Lastly, GST even lends itself to supporting a more intuitive method to digitally survey streets for citywide maintenance aka our SQUID project.

GST is still a work in progress and we hope that upon further development, feedback, and support, any digital service that requires some street-level location intelligence can consume GST to output a readable addresses on their apps or websites.

Feel free to reach out to us about this project by creating an issue on GST’s github repo or by emailing us argo[at]argolabs.org

--

--

Applied Research in Government Operations
A.R.G.O.
Editor for

Startup non-profit building data infrastructure for public service delivery. Team staffing @cadc_io