Mongodb球体索引拒绝我的对象
嗨,我有一个带有2d球体索引的集合Mongodb球体索引拒绝我的对象,mongodb,2dsphere,Mongodb,2dsphere,嗨,我有一个带有2d球体索引的集合 wayCollection.createIndex(new BasicDBObject("poly", "2dsphere")); i当我尝试插入某个对象时,出现错误: Exception in thread "main" com.mongodb.WriteConcernException: { "serverUsed" : "localhost:27017" , "ok" : 1 , "n" : 0 , "err" : "insertDocument ::
wayCollection.createIndex(new BasicDBObject("poly", "2dsphere"));
i当我尝试插入某个对象时,出现错误:
Exception in thread "main" com.mongodb.WriteConcernException: { "serverUsed" : "localhost:27017" , "ok" : 1 , "n" : 0 , "err" : "insertDocument :: caused by :: 16755 Can't extract geo keys from object, malformed geometry?: { _id: ObjectId('53a89dc6a0042baf54050037'), id: 24837452, version: \"64\", changeset: \"13731788\", uid: \"362915\", user: \"micha555\", timestamp: \"2012-11-03T09:11:23Z\", poly: { type: \"Polygon\", coordinates: [ [ [ 9.1244131, 50.0109503 ], [ 9.120464800000001, 50.0099731 ], [ 9.116641, 50.0077
虽然多边形环是闭合的,但第一个和最后一个坐标是相同的
有什么想法吗
下面是另一个被拒绝的多边形:
{
"type":"Polygon",
"coordinates":[
[
[
9.0496053,
51.3255584
],
[
9.0492235,
51.32532
],
[
9.0495831,
51.3251321
],
[
9.049917199999999,
51.3253429
],
[
9.0496053,
51.3255584
],
[
9.049984500000001,
51.3258463
],
[
9.0505795,
51.3262127
],
[
9.050045600000001,
51.326574
],
[
9.0496432,
51.3263928
],
[
9.049625300000001,
51.3262806
],
[
9.0495628,
51.3261244
],
[
9.0495316,
51.3259341
],
[
9.0495471,
51.3257127
],
[
9.0496053,
51.3255584
]
]
]
}
当我将其粘贴到此处时,它似乎可以:
也许mongo db不喜欢一个点被使用两次,我要做的第一件事就是检查你的多边形。如果它没有通过,那么您知道您的数据点有问题,这导致了以前许多人的错误 如果它通过了,那么我将检查最近报告并提交给MongoDB的这个bug:。基本上,一个有效的多重多边形会导致MongoDB 2.6.X上的2dsphere索引出错。其他人也报告了类似的问题,所以我打赌这是一个bug,或者一些未记录的限制
我会投票支持JIRA的问题,并在评论中加入你的声音-越多的人让MongoDB知道这个bug存在并影响到他们,修复它的速度就越快。我要做的第一件事就是检查你的多边形。如果它没有通过,那么您知道您的数据点有问题,这导致了以前许多人的错误 如果它通过了,那么我将检查最近报告并提交给MongoDB的这个bug:。基本上,一个有效的多重多边形会导致MongoDB 2.6.X上的2dsphere索引出错。其他人也报告了类似的问题,所以我打赌这是一个bug,或者一些未记录的限制
我会投票支持JIRA的问题,并在评论中加入您的声音-越多的人让MongoDB知道此缺陷存在并影响他们,修复的速度就越快。多边形是自交的:
MongoDB禁止此类多边形。多边形是自交的:
MongoDB禁止此类多边形。如果您可以将对象的模式与示例数据一起共享,人们将更容易为您提供帮助。很抱歉,格式化的json超出了stackoverflow最大post大小,但错误消息包含完整的对象这是多边形还是多多边形?很多要点。尝试将其作为调试工具绘制出来。你可能有一些相交的元素,它是一个法线多边形。您知道任何联机多边形绘图仪吗?如果您可以将对象的模式与示例数据一起共享,人们将更容易为您提供帮助。很抱歉,格式化的json超出了stackoverflow最大post大小,但错误消息包含完整的对象这是多边形还是多多边形?很多要点。尝试将其作为调试工具绘制出来。你可能有一些相交的元素,它是一个法线多边形。你知道任何在线多边形绘图仪吗?它不是自交的,它的方式只是分享这一点。。。只是触摸即使它在那个点上仅仅触摸自己,它被认为是自相交的,MongoDB会引起一个错误。它不是自相交的,它的方式只是分享这一点。。。仅接触即使它仅在该点接触自身,也被视为自交,MongoDB会引发错误。多边形是自交的,如下面Jesse所述。多边形是自交的,如下面Jesse所述。