Revealing Latitude/Longitude from GNIP Activity Streams Format in Splunk

index=twitter geo.coordinates{}="*"| spath path=geo.coordinates{} output=geocoordinates| eval latitude=mvindex(geocoordinates,1)| eval longitude=mvindex(geocoordinates,0)
If you're using GNIP as as data source provider for Twitter data in their "Activity Streams" format, use this search to pull out the geo coordinates from tweets as "latitude & longitude". You'll find that splunk creates a "multivalued" field out of the "geo.coordinates{}" field from a tweet. A mulitvalued field is an array, so by using "mvindex(field,position_in_array_starting_with_zero), we can create new fields on the fly for lat/lon.
Sample Output
JSON Element (before)
geo : {[-]
    coordinates : [
      "-0.9237722",
      "119.8872883"

Splunk Fields (after)
longitude=-0.9237722 latitude=119.8872883 

0
2012-06-19 02:57:40

These Might Interest You

  • Provides a cleaner output plus some more details about the IP address. Also, a flaw was corrected where the URL provided the results in Spanish by default. Show Sample Output


    0
    function geoip() { curl -s "http://www.geoiptool.com/en/?IP=$1" | html2text | egrep --color "IP Address:|Country:|City:|Longitude:|Latitude:|Host Name:" }
    JohnQUnknown · 2011-10-25 04:49:25 0
  • Shows a constantly updating display of disk IO activity. Two sections are in the output. The first is the IO activity since the machine was booted, the second section is the IO activity in the last second Show Sample Output


    0
    watch -n 1 'iostat -xmd 1 2'
    ryanchapman · 2013-07-06 08:07:32 0
  • This encodes it in ogg format. Does on-the-fly encoding of the incoming stream. Great for radio streams as they're often flv format.


    0
    curl 'AudioStream' | ffmpeg -i - -acodec libvorbis file.ogg
    snipertyler · 2014-03-31 02:07:20 0
  • Some computers these days don't have an HDD activity light, but they still have a useless caps-lock, so why not re-purpose that light to show HDD activity? Requires setleds and dstat and probably needs to run as root.


    0
    dstat -d --nocolor --noheaders|xargs --max-args=2|while read status; do if [ "$status" == "0 0" ]; then setleds -L -caps < /dev/console; else setleds -L +caps < /dev/console; fi; done
    intangi · 2013-04-24 18:32:25 0

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: