首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL -地理计算

SQL -地理计算
EN

Stack Overflow用户
提问于 2021-10-06 13:42:57
回答 1查看 87关注 0票数 0

在SQL中,我存储了地理信息。我想看看地理是否覆盖了一半以上的地球,地理是否跨越了国际日期线,或者地理是否跨越了赤道。

我提出了下面的逻辑,现在确定它是否正确。

覆盖全球一半以上的

  1. 地理逻辑是否与跨越国际日期线的#3
  2. 地理点相同?如果国际日期线的坐标在给定坐标范围内,则似乎跨越国际日期线
  3. 地理跨越赤道-如果从给定坐标中的任何纬度为<= 0,则似乎跨越了赤道

请纠正有任何更好的逻辑。

EN

回答 1

Stack Overflow用户

发布于 2021-11-25 22:36:36

不确定您使用的是什么SQL数据库,但大多数数据库都有空间函数。语法和lat/lon顺序可能因数据库的不同而不同。

大于半球:

ST_Area(geo) >地球表面面积/2

交叉反子午线(日期行略有不同)

ST_Intersects(geo,ST_GeographyFromText('Linestring(180 -90,180 0,180 0)“)

横越赤道:

ST_Intersects(geo,ST_GeographyFromText('Linestring(-180 0,-60 0,60 0,180 0‘))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69466922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档