本文介绍了MongoDB 2dsphere索引失败(几何格式错误?)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在尝试建立2dsphere索引,但是创建似乎失败了.

I'm currently trying to build an 2dsphere index, but the creation seems to fail.

创建索引失败的文档是有效的geojson(根据geojsonlint).

The document on which the index creation fails is valid geojson (according to geojsonlint).

据我所知,它遵循MongoDB的多边形"规则.

Also as far as I can see it obeys the MongoDB "Polygon" rules.

我将不胜感激,因为我不知道为什么索引创建似乎失败了.

I would appreciate any help, since I can't figure out why the index creation seems to fail.

提前谢谢!

db.poly.ensureIndex( { loc: "2dsphere" } )
{
        "createdCollectionAutomatically" : false,
        "numIndexesBefore" : 1,
        "ok" : 0,
        "errmsg" : "Can't extract geo keys from object, malformed geometry?: { _
id: 353, loc: { type: \"Polygon\", coordinates: [ [ [ 8.090732000000001, 53.6379
766 ], [ 8.050639500000001, 53.6250853 ], [ 8.036974600000001, 53.6286108 ], [ 7
.994035500000001, 53.6016978 ], [ 8.0120927, 53.59855020000001 ], [ 8.0102720000
00001, 53.5883803 ], [ 8.023379, 53.5867745 ], [ 8.0148004, 53.5832729 ], [ 8.02
6839500000001, 53.57895840000001 ], [ 8.0271685, 53.5727671 ], [ 8.0432450000000
01, 53.57190120000001 ], [ 8.0386477, 53.565241 ], [ 8.0192488, 53.5609644 ], [
8.030192100000001, 53.5508096 ], [ 8.037298, 53.5565769 ], [ 8.041402400000001,
53.55249540000001 ], [ 8.030647100000001, 53.53854200000001 ], [ 8.0381080000000
01, 53.5275022 ], [ 8.048501400000001, 53.5243656 ], [ 8.051459700000001, 53.509
912 ], [ 8.091510100000001, 53.50258460000001 ], [ 8.153839000000001, 53.5148059
0000001 ], [ 8.1708242, 53.53993010000001 ], [ 8.164240300000001, 53.5287913 ],
[ 8.1562255, 53.531339 ], [ 8.1700993, 53.54524050000001 ], [ 8.150740200000001,
 53.5596328 ], [ 8.1539377, 53.56452330000001 ], [ 8.1408203, 53.58015880000001
], [ 8.155694800000001, 53.5858101 ], [ 8.1496093, 53.60191990000001 ], [ 8.1234
503, 53.5984032 ], [ 8.090732000000001, 53.6379766 ] ] ] } }",
        "code" : 16755
}

推荐答案

坐标中有一个交集,但是我看不到geojsonlint.com,因为它不明显!

There was an intersection in the coordinates, but I couldn't see it through geojsonlint.com because it wasn't obvious!

MongoDB不允许插入线会相交的多边形.

MongoDB doesn't allow inserting a polygon which lines would intersect.

这篇关于MongoDB 2dsphere索引失败(几何格式错误?)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-18 13:35