您现在的位置是:课程

【赵强老师】MongoDB地理信息数据的查询

2023-06-29 21:15课程 人已围观

MongoDB提供了一系列的索引和查询机制来处理地理空间信息。

表面
在您存储地理数据和编写查询条件前,首先,您必须选择表面类型,这将被用在计算中。您所选择的类型将会影响您的数据如何被存储,建立的索引的类型,以及您的查询的语法形式。MongoDB提供了两种表面类型:

  • 球面

如果需要计算地理数据就像在一个类似于地球的球形表面上,您可以选择球形表面来存储数据,这样就可以使用 2dsphere 索引。
您可以按照坐标轴:经度,纬度 的方式把位置数据存储为GeoJSON对象。GeoJSON的坐标参考系使用的是 WGS84 数据。

  • 平面

如果需要计算距离,就像在一个欧几里德平面上,您可以按照正常坐标对的形式存储位置数据并使用 2d索引。

 

位置数据
如果您选择球形表面来计算,您可以选择把位置数据存储为如下两种格式之一:

  • GeoJSON对象

对 GeoJSON 的查询总是基于球形表面。GeoJSON的默认坐标参考系使用的是 WGS84 数据。2.4 新版功能: 在版本2.4新引入了对GeoJSON的存储和查询支持。在版本2.4以前,所有的地理数据使用坐标对的形式。在 2.6 版更改: 支持更多GeoJSON类型:多点, 多线段, MultiPolygon, 几何体集合。MongoDB支持如下GeoJSON对象:

  • 单点

  • 线段

  • 多边形

  • 多点

  • 多线段

  • MultiPolygon

  • 几何体集合

 

  • 普通坐标对

MongoDB支持对使用 2dsphere 索引的 legacy coordinate pairs (普通坐标对)数据进行球面计算,方式是把数据转换成GeoJSON Point类型。



 

-->

站点信息

  • 文章统计篇文章