Tile map not showing geo points - just a blank map!

Hello there, i've been playing around with ELK for the past few weeks, trying to analize twitter's data and so far, so good. I love it! The whole thing is easy to use.... i just have one little-tinny problem i can not seem to be able to create a tile map to display where are the twits coming from and apparently is some issue im having with coordinates.coordinates

if you scroll down below you will see my mapping and configurations.... and as I said, i've been able to create all types of visualizations in Kibana with the twitter data i pull from logstash

but when i go to: Visualize -> Tile map -> select my twitter index and then I select 'Geo Coordinates' for the bucket type and keep default values... then i select Geohash for Aggregation and coordinates.coordinates for Field....... i just get a blank map as result: no dots showing up where the twits are coming from, i've been stucked with this for the past 2 days, i will really really really appreciate if someone could give me a hand with this :slight_smile:

this is the info inside my .conf file:

input {
  twitter {
      consumer_key => "xxxxxxx"
      consumer_secret => "xxxxxxx"
      oauth_token => "xxxxxxx"
      oauth_token_secret => "xxxxxxx"
      keywords => [ "Trump" ]
      full_tweet => true
  }
}
filter {
}
output {
  stdout { codec => dots }
  elasticsearch {
    protocol => "http"
    host => "localhost"
    index => "twitter"
    document_type => "tweet"
    template => "twitter_template.json"
    template_name => "twitter"
  }
}

and this is my twitter_template.json:

{
  "template": "twitter",
  "order":    1,
  "settings": {
    "number_of_shards": 1
  },
  "mappings": {
    "tweet": {
      "_all": {
        "enabled": false
      },
      "dynamic_templates" : [ {
         "message_field" : {
           "match" : "message",
           "match_mapping_type" : "string",
           "mapping" : {
             "type" : "string", "index" : "analyzed", "omit_norms" : true
           }
         }
       }, {
         "string_fields" : {
           "match" : "*",
           "match_mapping_type" : "string",
           "mapping" : {
             "type" : "string", "index" : "analyzed", "omit_norms" : true,
               "fields" : {
                 "raw" : {"type": "string", "index" : "not_analyzed", "ignore_above" : 256}
               }
           }
         }
       } ],
      "properties": {
        "text": {
          "type": "string"
        },
          "coordinates": {
          "properties": {
             "coordinates": {
                "type": "geo_point"
             },
             "type": {
                "type": "string"
             }
          }
       }
      }
    }
  }
}

I was able to get this working by adding a geo filter to the tweets that logstash was indexing (using the locations option). I think the issue is that the number of tweets that include location information compared to the number of tweets in total is so small that the sample you are receiving doesn't include any.

To get the geo bounding box I used this tool to get a rough bounding box around the US http://boundingbox.klokantech.com/: -131.5,24.5,-59.3,50.7 (make sure to put the output into CSV mode)

After updating logstash with

twitter {
      consumer_key => "XXXXX"
      consumer_secret => "XXXXX"
      oauth_token => "XXXXX"
      oauth_token_secret => "XXXXX"
      keywords => [ "Trump" ]
      full_tweet => true
      ignore_retweets => true
      locations => "-131.5,24.5,-59.3,50.7"
  }

I started to get some tweets with location data

Hello there! I have over 30k of twits, one of them must have coordinates! haha

im gonna try this boundingox thing right now and let you know how it goes!

wish me luck :stuck_out_tongue:

Good luck!

DUDE!!!!!!!!!!

YOU ROCK!!!!!!

THANK YOU THANK YOU THANK YOU! IT WORKED :slight_smile:

i spent around 9 hours trying to figure this out and you saved me!

I love this community!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.