# Manipulating data in logstash

**URL:** <https://discuss.elastic.co/t/manipulating-data-in-logstash/310304>\
**Category:** Logstash\
**Created:** [July 21, 2022, 1:44pm UTC](https://discuss.elastic.co/t/manipulating-data-in-logstash/310304 "2022-07-21T13:44:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![KeithL](https://avatars.discourse-cdn.com/v4/letter/k/a9adbd/32.png) [@KeithL](https://discuss.elastic.co/u/KeithL)\
**Post date:** [July 21, 2022, 1:44pm UTC](https://discuss.elastic.co/t/manipulating-data-in-logstash/310304/1 "2022-07-21T13:44:59Z")

</div>

Beginner's question; pardon my potentially poor terminology.

I'd like to manipulate ingested data to include geo\_point data to facilitate visualisation in elastic/kibana  
e.g given this:

```auto
{
    "Entities" => [
        [0] {
            "Entity" => {
                "World Location" => {
                    "Height" => 1000.0,
                    "Longitude" => -0.5,
                    "Latitude" => 54.0
                },
                ...
            }
        },
        [1] {
            "Entity" => {
                ...
            }
        }
    ]
}

```

I'd like this:

```auto
{
    "Entities" => [
        [0] {
            "Entity" => {
                "World Location" => {
                    "Height" => 1000.0,
                    "Longitude" => -0.5,
                    "Latitude" => 54.0
                },
                "location" => {
                    "lon" => -0.5,
                    "lat" => 54.0
                },
                ...
            }
        },
        [1] {
            "Entity" => {
                ...
            }
        }
    ]
}

```

TIA 🙂

---

<div class="post-metadata">

**Author:** ![KeithL](https://avatars.discourse-cdn.com/v4/letter/k/a9adbd/32.png) [@KeithL](https://discuss.elastic.co/u/KeithL)\
**Post date:** [July 21, 2022, 2:47pm UTC](https://discuss.elastic.co/t/manipulating-data-in-logstash/310304/2 "2022-07-21T14:47:17Z")

</div>

This helped: [How can I create new field inside an array of obejcts?](https://discuss.elastic.co/t/how-can-i-create-new-field-inside-an-array-of-obejcts/308036)

```auto
    ruby {
        code => '
            entities = event.get("Entities")
            if entities.is_a? Array
                entities.each_index { |i|
                    location = {}
                    location["lat"] = entities[i]["Entity"]["World Location"]["Latitude"]
                    location["lon"] = entities[i]["Entity"]["World Location"]["Longitude"]
                    entities[i]["Entity"]["location"] = location
                }
                event.set("Entities", entities)
            end
        '
    }

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 18, 2022, 2:47pm UTC](https://discuss.elastic.co/t/manipulating-data-in-logstash/310304/3 "2022-08-18T14:47:45Z")

</div>

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