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

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 被 mysql 摁到地上使劲摩擦,请问 geometry POINT、POLYGON EMPTY 如何表示?
未分類
25 5 月 2020

被 mysql 摁到地上使劲摩擦,请问 geometry POINT、POLYGON EMPTY 如何表示?

被 mysql 摁到地上使劲摩擦,请问 geometry POINT、POLYGON EMPTY 如何表示?

資深大佬 : xiangyuecn 5

先看普通写法,没有任何问题

select ST_GeomFromText('POINT(1 2)'); -- POINT(1 2) 正常 select ST_IsEmpty(ST_GeomFromText('POINT(1 2)')); -- 0 正常  -- mysql 文档里面翻到的,找到的唯一一个能用 EMPTY 来写的 select ST_IsEmpty(ST_GeomFromText('GEOMETRYCOLLECTION EMPTY')); -- 1 正常 

再看 EMPTY 的写法,被摁倒地上摩擦

select ST_GeomFromText('POINT EMPTY'); -- 报错 Invalid GIS data provided to function st_geomfromtext.  -- 用 null 代替 GIS EMPTY ? select ST_GeomFromText(null); -- 就是 null select ST_IsEmpty(null); -- 返回的什么卵几把玩意?使用 null 完全不可用! 

换成 POLYGON 也是如此。

没辙了,请问 mysql 里 geometry POINT 、POLYGON EMPTY 到底要如何表示?

大佬有話說 (6)

  • 資深大佬 : hjahgdthab750

    用 mongo 不行吗?

  • 資深大佬 : Xusually

    https://stackoverflow.com/questions/30812963/how-do-i-enter-an-empty-point-geometry-value-into-a-mysql-field-of-type-poin
    这里很有意思,用了北极代替 empty

  • 資深大佬 : laball

    ES 吧

  • 資深大佬 : sadfQED2

    Es pg mongo 对地理数据支持都很好,然而你却选择了 mysql

  • 主 資深大佬 : xiangyuecn

    @Xusually #2 特意折腾了注册了个账号,回了一下这个帖子,哈哈。。。

    他里面提到的用北极坐标当 EMPTY 使用,但这个并非 EMPTY,要自己逻辑里面特殊判断,就像 null 一样( null 是磨人的小妖精),需要额外的处理。

    ST_IsEmpty(ST_GeomFromText(‘GEOMETRYCOLLECTION EMPTY’)) 正常是空的

    ST_IsEmpty(ST_GeomFromText(‘POINT(0 90)’)) 不正常,不是空的

  • 主 資深大佬 : xiangyuecn

    @hjahgdthab750 @laball @sadfQED2 不存在完美

文章導覽

上一篇文章
下一篇文章

AD

其他操作

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

51la

4563博客

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