- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 Elastic Search 和它的地理功能来生成最常见位置的排序列表,如果它们在一周中的某一天彼此相距 100m,则这些位置被认为是相同的。
其中许多位置将是相同的物理位置(例如用户的家),但显然经度和纬度可能不完全相同。
为一周中的每一天考虑的数据应该是整个数据周期(将是一个月)的一周中的同一天。例如,在恰好是星期二的日期搜索公共(public)位置,我们应该查询上星期二、前星期二、前星期二和前星期二的数据(!)[也许这可以通过使用 ES 来实现索引?]。
对于每个搜索日,我还想要一个直方图,准确度为 15 分钟,它们再次位于该位置 100m 范围内,包括一周中同一天的最后 4 周数据。
我们只能在一天内发出 API 原始数据请求(因此需要多次请求才能获取最后 4 周的数据)。不受我们控制的第三方 API 将以以下格式返回 XML - 全部在一行中且未格式化(我手动格式化了下面的示例)。坐标是(经度,纬度)格式。最后一个数字(下例中的 0)表示高度,如果可能,应将其存储。
<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Document>
[stuff we don't care about]
<Day>
[stuff we don't care about]
<Locations>
[stuff we don't care about]
<time>2016-04-30T19:35:01.558+10:00</time>
<coord>142.9987247 -37.328203799999996 0</coord>
<time>2016-05-02T12:29:21.233+10:00</time>
<coord>142.96122699999998 -37.921569999999996 0</coord>
....
</Locations>
</Day>
</Document>
</kml>
最佳答案
与您的 other question 中的类似。 ,可以很容易地解析给定的 XML 并将结果位置索引到 elasticsearch 中。为了提取数据,需要进行一些 XML 解析,然后执行一些数据按摩,但这是可能的。
我在下面提出了非常简单的 Logstash 配置:
input {
http_poller {
urls => {
get_locations => {
method => get
url => "http://your-api.com/locations.xml"
headers => {
Accept => "application/xml"
}
}
}
request_timeout => 60
interval => 60
codec => "plain"
}
}
filter {
# 1. parse XML
xml {
source => "message"
force_array => false
target => "parsed"
}
# 2. parse time/coord arrays and rebuild pairs
ruby {
code => "
event['locations'] = []
event['parsed']['Document']['Day']['Locations']['time'].each { |time|
event['locations'].push({'time' => time, 'location' => nil})
}
event['parsed']['Document']['Day']['Locations']['coord'].each_with_index { |coord, i|
event['locations'][i]['location'] = {
'lon' => coord.split(' ')[0],
'lat' => coord.split(' ')[1]
}
}
"
}
# 3. produce one event per time/coord pair
split {
field => "locations"
}
# 4. Some renaming and clean-ups
mutate {
rename => {
"[locations][time]" => "timestampMs"
"[locations][location]" => "location"
}
remove_field => [
"parsed", "message", "@timestamp", "@version", "locations"
]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "locations"
document_type => "location"
}
}
http_poller
输入以提取 XML 数据
xml
过滤器以便将 XML 解析为 JSON。您提供的 XML 将生成以下 JSON:
{
"Document" => {
"Day" => {
"Locations" => {
"time" => [
[0] "2016-04-30T19:35:01.558+10:00",
[1] "2016-05-02T12:29:21.233+10:00"
],
"coord" => [
[0] "142.9987247 -37.328203799999996 0",
[1] "142.96122699999998 -37.921569999999996 0"
]
}
}
}
time
和
coord
值都在各自的数组中粘合在一起。
ruby
过滤以将其全部拆分并重新组合
time
及其适当的
coord
值(value)。我基本上遍历每个数组并重新构造正确的
time/coord
对并将它们存储到一个新的
locations
大批。注意海拔部分是
not yet supported在当前版本的 Elasticsearch 中。
split
那个新的
locations
数组,以便每个
time/coord
产生一个事件一对。
{
"timestampMs" => "2016-04-30T19:35:01.558+10:00",
"location" => {
"lon" => "142.9987247",
"lat" => "-37.328203799999996"
}
}
{
"timestampMs" => "2016-05-02T12:29:21.233+10:00",
"location" => {
"lon" => "142.96122699999998",
"lat" => "-37.921569999999996"
}
}
bin/logstash -f locations.conf
为了运行您的管道。
关于xml - 使用 Elasticsearch 地理功能从 XML 原始数据中查找最常见的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37008930/
我正在尝试获取从过去的 startposition/location 到当前移动的 currentposition/location 的距离(以米为单位)。 我确实有工作正常的currentposit
所以我有一堆绝对覆盖的 div。用户通过在叠加层上拖动来创建方形 div。如果您要创建一个 div,然后放大和缩小,div 会保持在同一位置,因为它对叠加层是绝对的,如前所述。 然而问题就出在这里。您
我想找到 View 在显示屏幕上的位置。 为此,我使用了 view.getLeft() 、view.getBottom() 、view.getRight() 等方法> , view.getTop()。
我有一个看起来像这样的 View 层次结构(基于其他答案和 Apple 的使用 UIScrollView 的高级 AutoLayout 指南): ScrollView 所需的2 个步骤是: 为 Scr
所以我有一个名为 MARKS 的表,我有这些列 STUDENT_ID, CLASSFORM_NAME, ACADEMIC_YEAR, TERM, SUBJECT_NAME, TOTAL_MARKS
我有一个问题我无法理解,请帮助: 我开发了带有图像的 html 页面,并使用 jQuery UI 帮助使它们可拖动,我将这些图像位置设置为相对位置并给出了左侧和顶部像素,这是页面的链接 http://
我正在尝试创建一个 CSS 动画,它在 sprite 表中循环播放 16 个图像,给人一种幽灵“漂浮”的错觉。动画通过在 background-position 位置之间移动以显示不同状态的幽灵来实现
我正在创建这个网站的 WebView https://nearxt.com/打开时询问位置但是当我使用此链接在 flutter 中创建 webview 时那么它就无法定位我还在应用程序中定义了位置,但
我正在以编程方式创建一个需要跨越 2 个屏幕的窗口。正在创建的窗口的大小是正确的,但窗口大约从第一个屏幕的一半开始。我可以将它拖回第一个屏幕的开头,NSWindow 非常适合。 我只需要知道在窗口的起
位置“/”的匹配叶路由没有元素。这意味着默认情况下它将呈现一个空值,从而导致一个“空”页面 //App.js File import { BrowserRouter as Router, Routes
我有一个运行 Ubuntu 和 Apache 的 VPS 例如,假设地址是:5.5.5.5 在 VPS 上,我有一个名为 eggdrop 的用户(除了我的 root 用户)。 用户 eggdrop 有
我有一个 JLabel与 ImageIcon ,我使用 setIcon() JLabel中的函数. ImageIcon然后上来,坐在我的JLabel 的文字左侧.是否有可能拥有 ImageIcon在文
我的图中有节点,它们的 xlabels 位于它们的左上方。我怎样才能改变这个位置?我希望 xlabels 正好位于节点本身的旁边。 最佳答案 xlp是你想要的属性,但它没有做任何事情。 你不能改变位置
我对基本的 VIM 功能有疑问:(我尝试谷歌搜索但找不到答案) 如何列出所有自定义功能。(我做了 :function 并且不能找到我的自定义函数) 如何获得自定义函数列表中的函数(或它们的存储位置)。
我是 PHP 的新手,虽然我一直在搜索,但我不知道该怎么做。 我知道可以使用 Location("some page") 进行重定向。我还读到,只要没有向用户显示任何内容,它就可以工作。 我想做的是:
如果在 jgrowl.css 中位置更改为“center”,我如何将其覆盖为默认值,即“top-right” $.jGrowl(data, { header: 'data', an
我需要根据用户是否滑动屏幕顶部、屏幕中间或屏幕底部来触发不同的事件。我正在尝试找出最好/最简单的方法来做到这一点,因为我很确定没有办法从 UISwipeGestureRecognizer 获取位置。
我需要枚举用delphi编写的外部应用程序中使用的类 ,因此我需要访问VMT表以获取该信息,但是我找不到任何有关如何在exe(由delphi生成)文件中找到VMT(虚拟方法表)的位置(地址)的文档。
在 D2010 (unicode) 中是否有像 Pos 这样不区分大小写的类似函数? 我知道我可以使用 Pos(AnsiUpperCase(FindString), AnsiUpperCase(Sou
我正在尝试为我的reveal.js 演示文稿制作一个标题,该标题会粘贴在屏幕顶部。标题中的内容在每张幻灯片的基础上都是动态的,因此我必须将标记放在 section 标记中。 显然,如果标记在 sect
我是一名优秀的程序员,十分优秀!