我正在使用Google开发一个gis应用程序。目前我正在使用Postgis db。
我正在考虑改用mongodb,我对此有以下问题,
(预先谢谢:)
发布于 2012-01-16 19:10:55
Django MongoDB引擎开发人员在这里。
我们对MongoDB的GIS特性没有任何真正的支持。不过,可以通过“在Django周围工作”来进行地理空间查询(请参阅http://django-mongodb.org/topics/lowerlevel.html --第一个示例实际上是关于Geo索引的)。
但是,应该可以在MongoDB后端实现本地Django地理信息系统支持。我们真的很高兴指导任何想要完成这个任务的人!
发布于 2012-01-16 13:52:48
正如所说,MongoDB有空间索引。但是,并不是所有的几何类型都可以存储。据我所知,目前只能存储点。但是,您可以使用多边形进行查询。
由于MongoDB非常灵活,所以可以将几何学存储为文本,也可以存储为JSON对象。例如,您可以存储一个坐标,例如:{ lon: 52.1234,lat: 14.1245 }。您可以根据自己的需要在自己的应用程序上解释这一点。
这样做的缺点是没有本机索引。如果您不需要根据位置/空间关系进行查询,那么您就可以了。如果您有基于位置/空间关系的查询,则必须编写自己的索引。可能是件很难做的事。
有一个CouchDB,它有一个GeoSpatial加法。不知道它是如何工作的/它支持什么。
一些基于大数据的公司也经常采用混合方式。例如,使用MongoDB存储/查询正常数据,使用PostGIS存储/查询地理空间数据。
发布于 2012-01-16 14:17:59
我一直在使用MongoDb在DB中存储感兴趣的点,然后在聚查询中进行点处理,同时使用radius查询,而Mongo比PostGres要好得多。我有更快的响应时间与成千上万的项目。
不过,我想说的是,取决于查询的复杂性(即,如果您在多边形半径中做的事情超出了点的范围),您可能需要一个更重的GIS数据库,比如postgres。你也会得到postgres的额外重量。
抱歉,我也不能和django通话。
https://stackoverflow.com/questions/8880774
复制相似问题