跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 求个二维空间投射到一维空间的算法
未分類
29 10 月 2020

求个二维空间投射到一维空间的算法

求个二维空间投射到一维空间的算法

資深大佬 : lihongming 2

现在有个需求,需要处理一些地理坐标,每个坐标由经度(取值范围-180 至+180 )和纬度(取值范围-90 至+90 )定义。

但是,我用的数据库只支持单列查询,所以我不能用类似于“经度 BETWEEN 20, 30 AND 纬度 BETWEEN 10, 15”这样的条件来查询,必须把经度和纬度用一种方法算出一个结果,存到另一个列里,然后针对那个列进行查询。

不知有没有什么好的算法呢?索引列可以不必是数值型的,字符串也可。

大佬有話說 (12)

  • 資深大佬 : zhzy

    geohash 了解一下

  • 資深大佬 : MinQ

    geohash 或者 google s2

  • 資深大佬 : loliordie

    不支持 and 的话做两次查询不行么?

  • 資深大佬 : beginor

    什么数据库,不支持空间类型么?不能用 Geometry 类型么?

  • 主 資深大佬 : lihongming

    @zhzy @MinQ 谢谢,我去了解一下

  • 主 資深大佬 : lihongming

    我知道很多人会好奇什么数据库这么奇特,但客观条件就是这样,我只能用单列、基本数据类型(数字、布尔、字符串)来查询。

    但本帖讨论的是算法,不是数据库本身。为避免话题失焦,就不展开讨论,也不回复各位了,谢谢。

  • 資深大佬 : airqj

    @lihongming
    用的什么数据库都不能说吗?
    难道是自己写的

  • 資深大佬 : aec4d

    Geohash google s2 Uber H3

  • 資深大佬 : shawndev

    geohash

  • 資深大佬 : des

    geohash,或者自己写也行
    https://www.cnblogs.com/tgzhu/p/8286616.html

  • 資深大佬 : SingeeKing

    只好奇什么数据库这么…

  • 主 資深大佬 : lihongming

    试了一下,geohash 还是无法实现范围查找。

    比如下图

    ![geohash]( https://images.ctfassets.net/3prze68gbwl1/assetglossary-17su9wok1ui0z7r/7596e40f5438a7bdb84bf1cd0baa7c7f/geohashing-large-scale-example.jpeg)

    SELECT blocks WHERE geohash BETWEEN 211 AND 302

    我的本意是想要 211, 300, 213, 302 这四块组成的一个矩形区域,但搜索结果却是 211, 212, 213, 220, 221, 222, 223, 230, 231, 232, 233, 300, 301, 302 这十四块区域。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具