typescript 查询均匀分布在区域上的GPS坐标

slhcrj9b  于 2023-10-22  发布在  TypeScript
关注(0)|答案(1)|浏览(158)

我有一个欧洲阿尔卑斯山山峰的数据集,我想在Map上可视化。为了不过度拥挤的用户界面,我在Map的当前视图中查询所有的山峰,获得最突出的(通过对海拔进行排序),并采取一定的数量。

await prisma.mountain.findMany({
    where: {
      lat: { gt: lat_min, lt: lat_max },
      lng: { gt: lng_min, lt: lng_max },
    },
    orderBy: {
      elevation: "desc",
    },
    take: 20,
  });

只要Map是相当放大的,效果就很好,但当然,当你缩小Map时,结果会很快聚集在一个特定的山脉较高的地区。
如何编写一个查询,使结果在查询区域中分布得更均匀?
我试图通过在用户缩小时将查询的边界移动到中心来使结果更加集中。但这并没有改善结果时,拉远。

avkwfej4

avkwfej41#

最后,我把这个区域划分成一个网格,然后查询每个单元格中的所有顶点。这导致了一个相当平均的分布。
为了防止移动Map时顶点消失,我也可以将整个地球仪划分为单元格,并加载与Map当前边界重叠的所有单元格。

相关问题