gpt4 book ai didi

mongodb - 在 MongoDB 中存储 GeoJSON 多边形

转载 作者:行者123 更新时间:2023-12-02 01:25:37 31 4
gpt4 key购买 nike

我在使用 MongoDB 时遇到以下问题。我从我的祖国获得了一些地理数据,我必须将它们存储到 mongodb 中以建立一个简单的 Web 要素服务。该服务主要使用 $within 运算符进行边界框查询。数据采用 GeoJSON 格式。因此,我首先导入了以这种格式表示为点([1,2])的村庄和城市。没问题。下一步河流和街道是 LineStrings 并根据 GeoJSON 以这种方式表示 [[1,2],[3,4]]。但是,当导入区域(实际上是多边形,并且根据 GeoJSON 规范 3 个暗淡数组)时,我在创建索引时收到错误geo value必须是数字

db.collection.ensureIndex({"geometry.coordinates" : "2d"});

所有数据都是有效的 GeoJSON,并且采用 EPSG:4326 投影中的纯二维坐标。

有人有想法吗?

最佳答案

在 MongoDB 2.4 中,对 GeoJSON 点、线串和多边形使用“2dsphere”索引。

例如,您可以创建此索引:

db.mycoll.ensureIndex( { loc : "2dsphere" } )

并存储此 LineString:

{ loc : { type : "LineString" , coordinates : [ [ 1 , 2 ] , [ 3 , 4 ] ] } }

参见http://docs.mongodb.org/manual/applications/2dsphere/ .

关于mongodb - 在 MongoDB 中存储 GeoJSON 多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11137127/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com