23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/logstash/filters/wkt_to_geojson.rb', line 23
def filter(event)
wkt = event.get(@source)
begin
factory = GeoRuby::SimpleFeatures::GeometryFactory::new()
ewkt_parser = GeoRuby::SimpleFeatures::EWKTParser::new(factory)
ewkt_parser.parse(wkt)
if (factory.geometry.nil?)
raise "Failed to parse to SimpleFeature"
end
if (! @bbox.nil?)
bbox = factory.geometry.bounding_box
event.set(@bbox, ([ bbox[0].x, bbox[0].y, bbox[1].x, bbox[1].y ]).to_json)
end
event.set(@target, factory.geometry.to_json)
rescue Exception => e
@logger.error('WKT Parse Error',
:wkt => wkt, :exception => e)
@tag_on_failure.each { |tag| event.tag(tag) }
end
filter_matched(event)
end
|