首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

索引系列:2dsphere索引

MongoDB Manual (Version 4.2)> Indexes > 2dsphere Indexes No 1 概述 2dsphere索引支持计算类似地球的球体上的几何形状的查询。...2dsphere索引支持以GeoJSON对象和旧版坐标对(另请参见2dsphere索引字段限制)存储的数据。对于旧版坐标对,索引会将数据转换为GeoJSON Point。...版本2是在MongoDB 2.6和3.0系列中创建2dsphere索引时的默认版本。...如果您尝试插入一个在2dsphere索引字段中包含非几何数据的文档,或者在一个索引字段中包含非几何数据的集合上构建2dsphere索引,该操作将失败。...以下示例,基于一个places集合,该集合的文档将位置数据以GeoJSON Point形式存储在loc字段中: db.places.insert( { loc : { type: "Point

3.1K10

MongoDB中各种类型的索引

上篇文章中我们介绍了MongoDB中索引的简单操作,创建、查看、删除等基本操作,不过上文我们只介绍了一种类型的索引,本文我们来看看其他类型的索引。...---- _id索引 我们在上文介绍过,我们往集合中添加文档时,默认情况下MongoDB都会帮助我们创建一个名为_id的字段,这个字段就是一个索引。...如果想查询既包含Java又包含C#的文档,操作如下: db.sang_collect.find({$text:{$search:"\"Java C#\""}}) 用一对双引号将查询条件括起来,如果想查询包含...地理空间索引 地理空间索引类型 地理空间索引可以分为两类: 1.2d索引,可以用来存储和查找平面上的点。 2.2d sphere索引,可以用来存储和查找球面上的点。...好了,MongoDB中的索引问题我们就说到这里,小伙伴们有问题欢迎留言讨论。 参考资料: 1.《MongoDB权威指南第2版》

1.3K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【三维地图】开发攻略 —— 详解“GeoJSON”技术和应用场景

    GeoJSON ,一个用于存储地理信息的数据格式。GoeJSON对象可以表示几何、特征或特征集合,支持:点、线、面、多点、多线、多面和几何集合。在基于平面地图,三维地图中都需要用到的一种数据类型。...对于GeoJSON的应用领域有了新的了解。而这些特性是基于地图基础之上的。接下来就介绍一下从基础领域到显示领域的技术应用。...GeoJSON的基础应用:地图 GeoJSON的高级应用:webGL 技术应用解决方案 基于我们已经了解的基础知识,GeoJSON是由点线面组成,因此目前高德地图,百度地图等地图类软件也都推出了对应的...api,用来解析GeoJSON。...使用中,都是基于地图所开放的api来实现的。

    2.2K20

    空间索引 - 各数据库空间索引使用报告

    数据库中,索引的存储一般使用 B树 或 B+树 来实现,通过二分法来查找法来快速定位到数据位置。...不是不可以实现: 在关系型数据库内存储每个地点的详细信息,Redis 内的 member 存储每个地点在关系型数据库中的主键 ID,查询到地点的 ID 后,再去取地点的详细信息来过滤。...2dsphere 索引支持查询在一个类地球的球面上进行几何计算,以GeoJSON对象或者普通坐标对的方式存储数据。...Mongo 的 2dsphere 索引需要建立索引的字段存储的数据为 geoJSON 对象,在 PHP 中的构造形式类似: $document = [ 'loc' => [...参考:Mongodb地理空间索引和查询(Geospatial Indexes) MongoDB » GeoJSON PostgreSQL 介绍 postgreSQL 是一个知名的关系型数据库,构建在其上的空间对象扩展模块

    7.6K81

    Spring认证中国教育管理中心-Spring Data MongoDB教程五

    原标题:Spring认证中国教育管理中心-Spring Data MongoDB教程五(内容来源:Spring中国教育管理中心) 11.6.5.GeoJSON 支持 MongoDB 支持GeoJSON和用于地理空间数据的简单...这些格式既可用于存储数据,也可用于查询数据。请参阅有关 GeoJSON 支持的MongoDB 手册以了解要求和限制。 域类中的 GeoJSON 类型 在域类中使用GeoJSON类型很简单。...GeoJSON 类型 使用 GeoJSON 类型作为存储库查询参数会$geometry在创建查询时强制使用运算符,如以下示例所示: public interface StoreRepository extends...GeoJSON 总是在一个球体上运行。 到中心点的距离(以米为单位)。 现在,当使用旧坐标对时,如前所述,对弧度进行操作。...请注意,这两个可选标志已在 MongoDB 3.2 中引入,除非明确设置,否则不会包含在查询中。

    2.6K20

    打造基于GitHub的O2O应用:超炫的地图交互

    离线地图与搜索 在GitHub上搜索数据的过程中,发现了一个名为d3js-geojson的项目里面放着中国详细省、市、县数据,并且还有及GeoJSON文件。...GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。...GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。...接着问题来了,我们并没有把每个用户的数据存入到数据库中,那么我们怎么才能实现搜索?...从地图上跳转到对应的省的时候: 用Aajx请求获取这个省的GeoJSON文件 获取这个市的中心位置,并对其进行缩放 将上面的每个市绘制到地图上 在这个过程中遇到的最大的坑是:中国有北京、上海、天津、

    1.4K60

    持续搞【附近】系列---听说MongoDB是专业的(三)

    ,用于平面地图之流,反正也能用 2dsphere索引,用于地球儿表面的地理查询运算,推荐用法 先说2d索引,然而实际上MongoDB的2d索引的实现底层原理依然是geohash,所以同样其2d索引支持点的存储运算...所以,既然你都用MongoDB了,直接一步到位走2dsphere就行了。 2dsphere的实现并不是geo-hash,我依然是从MongoDB官网的blog上了解到的一些信息和资料。...在MongoDB中,2dsphere或2d是描述是由一种叫做geoJSON的标准格式来描述的,从名字上就可以看出来首先它是一坨JSON,其次它定义了自己的一些标准。...普及一下,像这种驱动提供的API都是low-level API,为了更加方便地协助我们搞花式CRUD,我从github上找了一个基于PHP7 MongoDB low-level-API包装了一层的high-level-API...:开始搞【附近】 我们将围绕经纬度(116.2092590332,40.0444375846)进行查找,为了对演示结果心里有谱,请你将(116.2092590332,40.0444375846)也插入到MongoDB

    56930

    持续搞【附近的人】---听说MongoDB是专业的(三)

    geohash,所以同样其2d索引支持点的存储运算,对于线和面就相对比较难受了(PS:由于市面上好像并没有看到名字类似于《MongoDB内核分析》或《MongoDB设计与实现》的书籍,所以对于MongoDB...所以,既然你都用MongoDB了,直接一步到位走2dsphere就行了。 2dsphere的实现并不是geo-hash,我依然是从MongoDB官网的blog上了解到的一些信息和资料。...在MongoDB中,2dsphere或2d是描述是由一种叫做geoJSON的标准格式来描述的,从名字上就可以看出来首先它是一坨JSON,其次它定义了自己的一些标准。...普及一下,像这种驱动提供的API都是low-level API,为了更加方便地协助我们搞花式CRUD,我从github上找了一个基于PHP7 MongoDB low-level-API包装了一层的high-level-API...开始搞【附近的人】 我们将围绕经纬度(116.2092590332,40.0444375846)进行查找,为了对演示结果心里有谱,请你将(116.2092590332,40.0444375846)也插入到MongoDB

    1.5K30

    如何1人5天开发完3D数据可视化大屏,超炫酷 【二】

    MultiPolygon 在geojson中,type为MultiPolygon的数据,对应的coordinates也会有多个(Polygon数据的coordinates只有1个子数据),常见的多为存在岛屿或飞地的国家...如果将多个子数据分别绘制为几何体可以避免前一个问题,但是在做交互时多个几何体也会以个体的形式分别进行交互。会出现选中中国,海南省不跟着亮的问题。 尽管你也可以在交互时根据数据获取相关的其他几何体。...将多个ExtrudeGeometry的顶点数据merge到同一个Geometry中。 将合并好的Geometry作为几何体加入到Mesh 以上两个步骤即可。...(挤压几何体) - https://threejs.org/docs/index.html#api/zh/geometries/ExtrudeGeometry Geometry.merge -...https://threejs.org/docs/index.html#api/zh/core/Geometry.merge scalePow - https://github.com/d3/d3-

    1.9K10

    python与地理空间分析(一)

    矢量数据目前是最常用的地理空间格式,因为它是存储空间信息最有效的一种方式。矢量数据只存储几何图元,包括点、线和多边形。...•.shp 用于存储要素几何的主文件,其中包含几何图形(读取的对象)•.shx 形状索引文件,可以加快访问速度•.dbf 数据库文件,包括几何要素的属性信息•其他 .prj 以WKT格式存储的地图投影信息...由于结构紧凑,使用JavaScript语法编写对于互联网格式友好,并且支持主流编程语言,GeoJSON也是当前流行的地理空间REST Web API的一个重要组件。 三. 栅格数据格式 ?...压缩算法节省了数据的存储空间,但数据本身会被修改,丢弃了部分原始数据信息,因此在做分析中需要注意。...总结 这篇文章是python地理空间分析的一个开头,简单介绍了地理空间分析对于数据分析和气象的重要作用,介绍了地理空间分析的对象,常用到的数据以及python中对这些数据处理设计到的常用的包。

    8.1K52

    开发一个地图图表,摸鱼三小时编码十分钟,还被夸效率太高了

    先给出实现效果: 区域确定之后,就可以去找GeoJSON了。 GeoJSON GeoJSON 是一种用于编码各种地理数据结构的格式,基于 JSON 标准。它主要用于表示简单特征对象及其非空间属性。...主要的特点是: 基于 JSON: GeoJSON 使用 JSON 格式,易于阅读和解析; 支持多种几何类型:支持点(Point)、多点(MultiPoint)、线(LineString)、多线(MultiLineString...)、多边形(Polygon)、多面体(MultiPolygon)等多种几何类型; 包含属性信息: 每个地理特征可以包含额外的属性信息,这些信息以键值对的形式存储在 properties 字段中; 灵活的应用场景...获取成都市GeoJSON数据 DataV有一个工具可以直接提取指定区域的GeoJSON数据。 地址是(1) 操作步骤比较简单,在地图上先选择省,然后选择市。选择到市之后就停下。...右侧有个JSON API,复制一下json文件地址。

    8310

    JanusGraph -- 查询谓词和数据类型(janusgraph Search predicates and data types)

    textContains:如果(至少)文本字符串中的一个单词与查询字符串匹配,则为true textContainsPrefix:如果(至少)文本字符串中的一个单词以查询字符串开头,则为true...geoWithin 如果一个几何对象包含另一个几何对象,则成立 geoDisjoint 如果两个几何对象没有共同的点(相反geoIntersect),则这是正确的。...g.V().has("age", gt(1000)).has("name", "saturn") 26.5 支持数据类型 虽然JanusGraph的复合索引(composite indexes)支持 可以存储在...GeoJSON表示: //string "37.97, 23.72" //list [37.97, 23.72] //GeoJSON feature { "type": "Feature",...请注意, 与JanusGraph API不同,GeoJSON将坐标指定为lng lat。 26.7 集合 如果您使用的是Elasticsearch,则可以对SET和LIST类型的属性进行索引。

    1.2K21
    领券