问题标签 [s2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
577 浏览

hilbert-curve - 如何在 Hilbert Curve QuadTree 和 S2 Geometry CellId 之间进行转换

问题

假设我知道 Hilbert Curve Face 和 Quadtree,例如4/032212303102122(face 4, level 15)。

或者我知道 S2 Geometry CellId,例如9749618424903892992.

如何从一种转换为另一种?

应用

(这是你需要为Pokemon GOIngress地图做的事情)

勘探

我正在尝试在 JavaScript 中执行此操作,并且存在一个用于操作 64 位整数 ( long.js) 以及 S2CellIds ( s2-geometry.js) 的库。

另外,我对通过简单地通过添加或减去基数四数来行走希尔伯特曲线感觉非常好(除了交叉脸时,但这种情况很少发生,我会没事的......一段时间......),只是不确定如何使用 64 位 id 来回切换。

0 投票
3 回答
1433 浏览

google-bigquery - BigQuery 中的 S2 地理函数?

我只是想知道是否有计划将 S2 地理库的功能添加到 BigQuery 中?

似乎很多人在 BQ 中肯定有 lat-long 数据 - 一些 s2 函数可以到达单元格并返回等肯定会非常有用 - 如果还没有功能请求,很高兴提交功能请求。

我能找到的最佳链接仅供参考:

http://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/ https://godoc.org/github.com/golang/geo/ s2 https://docs.google.com/presentation/d/1Hl4KapfAENAOf4gv-pSngKwvS_jwNVHRPZTTDzXXn6Q/view

我确实看到了一些 javascript 库,但不确定它们是否可以在 UDF 中使用

https://www.npmjs.com/package/s2-geometry https://github.com/mapbox/node-s2

我想知道这是不是只能在 UDF 中做的事情?

0 投票
2 回答
4842 浏览

python - 使用 Python S2/S2sphere 库 - 在一个圆圈中查找特定级别的所有 s2 单元(给定纬度、经度和半径)

什么 S2Region 以及我应该如何使用从给定的纬度、经度和半径绘制的圆覆盖某个父级别(比如说 9)的所有 s2 单元格。下面是一个使用 python s2 库获取矩形下所有单元格的示例。

示例来源http://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/

我正在寻找类似的东西

我找到了这个问题的答案,用于在 c++ 中实现的 google s2 库Using google s2 library - 在圆内找到某个级别的所有 s2 单元,给定 lat/lng 和以英里/公里为单位的半径,但我在 python 中需要这个。

谢谢

0 投票
1 回答
3732 浏览

java - 从 s2 几何库 python 将经度、纬度转换为单元格 ID

我正在关注本教程

如前所述,我可以将单元格 id 从以下角度转换为

但我想从 lat lng 值中获取单元格 ID(不是从度数)

我该怎么做(不需要是python)?

0 投票
1 回答
191 浏览

android - S2RegionCoverer 不考虑最小/最大单元级别?

当使用谷歌的 S2 几何库在谷歌地图小部件上绘制 S2 单元格时,我得到的单元格超出了我指定的(恒定)范围。

生成的单元格有 11-14 级,我哪里出错了?

0 投票
1 回答
537 浏览

go - 如何使用 geo/s2 库来确定 LatLong 位于 Go 中另一个 LatLong 的半径内?

我已经尝试过这段代码,找不到 Go 的 geo/s2 的任何示例

0 投票
1 回答
24 浏览

s2 - 5km距离内点的精度

Google S2 对于半径 5 公里内的两个索引点的精度特征是什么?对于这些点的查询,我可以期望以 mm 为单位的精度是多少?

0 投票
1 回答
1151 浏览

maps - 如何在h3-js中查找h3索引半径5公里内的位置(经纬度坐标以geo-json格式存储的索引)?

我正在创建一个超本地交付服务应用程序。只有在距离用户 5 公里范围内有商店的情况下,我才能收到订单。我以 geojson 格式存储了商店位置。h3-js 中是否有一个函数将获取半径、商店数组、h3 索引,然后返回距离给定 h3 索引 5 公里范围内的商店列表。或者我如何使用 h3-js 来实现它?

0 投票
1 回答
2694 浏览

python - 如何使用 Google S2 几何执行搜索操作

我有车辆的地理位置和我在城市中的点,我需要找到那些在我点半径 5 公里内的车辆。我可以用 S2 单元 ID 表示车辆位置和我的观点。但我该如何查询?

我可以将所有用户的数据存储在数据库中并查询 S2 单元格 ID。由于 S2 cell id 使用 Hilbert 曲线,我们可以知道那些具有更接近 S2 cell id 的车辆彼此之间的距离更近。还是我必须在这里使用其他任何方法来执行搜索操作?

0 投票
1 回答
285 浏览

apache-kafka - 如何在不同缩放级别使用 S2 几何库聚合用户的实时地理位置?

我正在研究每个用户(约 10,000 个并发用户)都在流式传输他们的地理位置的想法。我想聚合用户并在地图上使用一个指针以不同的缩放级别显示,如果用户放大或缩小,那么该指针也会使用S2 Cells根据地图的特定缩放级别分布和聚合用户。

一开始任何用户都会像谷歌地球一样看到地球,如果用户在某个位置放大或缩小,那么我们需要根据用户的缩放级别(当前)聚合用户。

一开始,我计划使用像Kafka这样的流式处理工具和像flink这样的流式处理工具,我将从前端流式传输用户数据,例如纬度、经度和边界经度和纬度,从当前缩放级别和在后端,我只需检查流数据如果用户lat,long落在边界 lat,long则只需返回该用户及其 lat,long 并在地图上精确定位,但这不是我想做的,我想聚合所有用户在特定区域仅显示一个指针之后,如果我放大该指针内部,它将分发指针并显示其他一些指针。如果我只是放大地图的最大级别,那么用户会显示个人。

我想处理< 30 秒的旧数据聚合。

在前端,我使用 Mapbox 在地图上显示用户。我想知道,如何使用 S2 Library Cells 来聚合数据,我也在寻找如何平衡 Mapbox Zoom Levels 和 S2 Zoom Levels。

在此处输入图像描述

类似的输出点