构建地理空间查询REST api

| 我正在尝试构建一个可以获取用户位置的iOS应用,然后通过REST API向后端查询附近的其他用户。我做了一些谷歌搜索,我的选择(根据我的经验)似乎是。 Django-带有geodjango的活塞。可能在webfaction上托管。 Google App Engine。 我更倾向于首选,因为Google App Engine似乎不太开放,而且一开始的学习曲线很陡。 现在在mysql数据库上执行位置查询似乎有点令人生畏。我的直觉是必须要有更好的东西。毕竟我不想重新发明轮子! 谁能给我一些启示 我要如何精确定位查询?包围矩形或更好的东西? 我应该使用哪个数据库?...非关系或关系数据库? 如果是关系型...应该按位置索引数据库吗? 位置数据应该与其他用户数据存储在单独的表中还是与其他用户数据存储在同一表中? 我应该使用时间戳使旧的位置更新无效还是有更好的方法呢(例如,数据库本身可以定期删除位置更新)。 到目前为止,我主要是iOS开发人员,对构建Web应用程序的经验很少,任何建议将不胜感激。 如果之前曾问过类似的问题,请随时指出。 提前致谢。  -samyzee!     
已邀请:
恐怕您要问的问题太多而笼统,无法获得有用的答案。我会尽力: 如果您想做非常简单的地理空间工作,请尝试坚持使用边界框。最适合该问题的最简单技术值得探讨。但是,您很快就会发现您需要更多... 如果要使用geodjango,请使用PostGIS数据库,而忽略非关系数据库。您将开发一个后端,对于非Webapp程序员来说,它的学习曲线很陡。从geodjango教程开始,然后逐步开发您熟悉的技术堆栈(使用geodjango可以轻松实现REST服务)。 选择非关系数据库的原因或者是针对特定用例的(您要存储文档,图形,或者您不需要预定义的架构),或者出于扩展目的(同时读写大量的数据,因此使用多个节点等)。如果您是非Web应用程序程序员,请聘请经验丰富的人员(他们可以做一些“软件架构”)来帮助您解决此问题。      位置数据应存储在单独的表中还是在同一表中   作为其他用户数据?   我应该使用时间戳使旧的位置更新无效还是   有什么更好的方法可以做   那?(例如数据库可以   本身会定期删除位置   更新)。    要求进行过任何数据库设计的人员来帮助您。到目前为止,对于问题的描述,您可以使用两个表:一个“ 0”表和一个“ 1”表。比为用户获得的每个样本添加“ 2”行。您以后可以在解释UserLocation表时设计(和更改)规则,例如: 最新的UserLocation是有效的 如果时间戳记早于4个小时,则无法使用 等等 从您的疑问出发,感觉您有点脱离联盟了。但是,如果您可以坚持简单的技术并务实地工作,则可以使您的服务正常运行。为什么不从mysql + php和边界查询开始呢?一旦一切正常,将其交换为其他东西吗?     

要回复问题请先登录注册