使用mongodb的django和google地图的GIS应用程序

使用mongodb的django和google地图的GIS应用程序,django,mongodb,gis,Django,Mongodb,Gis,我正在使用GoogleMapsAPI开发一个gis应用程序。目前我正在使用Postgis数据库 我正在考虑改用mongodb,对此我有以下问题: mongodb是存储GIS数据的可行选择吗。(其他NoSQL引擎是否可行?) django Nonl是否为mongodb支持修改了django.contrib.gis模块?它的效果如何 提前感谢:)正如Sergio Tulentsev所说,MongoDB有空间索引。但是,并非所有几何图形类型都可以存储。据我所知,目前只能存储点。但是,可以使用多边形进行

我正在使用GoogleMapsAPI开发一个gis应用程序。目前我正在使用Postgis数据库

我正在考虑改用mongodb,对此我有以下问题:

  • mongodb是存储GIS数据的可行选择吗。(其他NoSQL引擎是否可行?)

  • django Nonl是否为mongodb支持修改了django.contrib.gis模块?它的效果如何


  • 提前感谢:)

    正如Sergio Tulentsev所说,MongoDB有空间索引。但是,并非所有几何图形类型都可以存储。据我所知,目前只能存储点。但是,可以使用多边形进行查询

    由于MongoDB非常灵活,您可以将几何体存储为文本,也可以存储为JSON对象。例如,可以存储如下坐标:{lon:52.1234,lat:14.1245}。您可以根据自己的应用程序来解释这一点

    这样做的缺点是没有本机索引。如果您不必基于位置/空间关系进行查询,那么您就可以了。如果您确实有基于位置/空间关系的查询,则必须编写自己的索引。可能是一件很难做的事

    有一个CouchDB,它增加了一个地理空间。但我不知道它是如何工作的/它支持什么


    一些基于数据的大型公司也经常采用混合方法。例如,使用MongoDB存储/查询普通数据,使用PostGIS存储/查询地理空间数据。

    我一直在使用MongoDB在数据库中存储感兴趣的点,然后使用多边形点查询以及radius查询,Mongo远远优于PostGres。我对数十万个项目的响应速度快得多

    不过,我想说,根据查询的复杂性(即,如果您正在做的事情超出了多边形中的点、围绕点的半径),您可能需要一个更重的GIS数据库,如postgres。。你也会得到博士后额外的重量


    很抱歉,我也无法在django上与任何人交谈。

    django MongoDB引擎开发人员在这里

    我们对MongoDB的GIS功能没有任何真正的支持。不过,通过“绕过Django”进行地理空间查询是可能的(请参阅-第一个示例实际上是关于地理索引的)


    但是,应该可以在MongoDB后端实现本机Django GIS支持。我们真的很高兴指导任何想完成这项任务的人

    感谢您的回复,目前我也在采用混合方法,但我正在考虑在这方面完全使用NoSQL。嗨,Jonas,我很乐意帮助实现MongoDB后端的本地Django GIS支持。你还在找开发人员吗?我不再积极参与那个项目了,但是是的,我想他们对任何新的贡献者都非常高兴!谢谢你,乔纳斯。如果你能让我和某人联系,或者让我看一页,那就太棒了