Openstreetmap to sqlalchemy bridge

OSMAlchem的Python项目详细描述


目标

Osmalchemy的目标是提供完全透明的 使用sqlalchemy的项目中的真实openstreetmap数据。它 提供两种功能:

  1. 类似于主openstreetmap结构的模型声明 数据库,有一些限制,可用于使用sqlalchemy的任何地方,
  2. 从OpenStreetMap数据进行透明代理和数据提取。

其思想是可以使用sqlalchemy查询模型,并且 osmalchemy将直接满足来自数据库的查询,或者 从openstreetmap获取数据。这样,项目已经在使用 sqlalchemy不需要另一个数据库框架来使用openstreetmap 数据和保留planet.osm本地副本的必要性都很轻松。

例如,如果查询具有特定ID的节点,osmalchemy将…

  • …尝试直接从数据库/orm获取节点,然后…
  • …如果可用,请检查其缓存时间,然后…
    • …如果太旧,请从OSM刷新,或…
    • …否则,从OSM获取,然后…
  • …最后创建一个真实的、orm映射的数据库对象。

这是个粗略的想法,它对所有类型的osm元素和 查询.

Osmalchemy使用天桥来满足复杂的查询。

非目标

osmalchemy并不打算取代大规模的osm数据框架,比如 博士后,耳濡目染之类的。事实上,在性能和 否则,就跟不上他们了。

如果你正在运行一个处理大量地图的大型项目 数据,有数百万的请求或用户,那么osmalchemy不适合你 (YMMV)

Osmalchemy填补了资源有限和 无法处理planet.osm的完整副本和自己的api后端,并且 希望处理有限的地图数据。

然而,使用osmalchemy作为orm代理和自己的 API后端。谁知道呢?

也许,同样,奥斯曼化学是一个非常愚蠢的想法 在任何情况下。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
hbm中的java异常。xml   java如何扩展JavaDoc5.0标准doclet?   java将所有非字母数字更改为+   java如何使用JSP从URL获取参数   把java学校的程序员变成C或C++程序员有多难?   java使用HTML获取表内容   java在JPanel中使用repaint()方法而不删除已绘制的内容   rest如何在Java中动态映射同一父类的子对象列表   如果协议不是http或https,java如何解析URL?   java删除文本时如何在eclipse中隐藏建议框?   java代码名1 GPS跟踪器   java寻找骑士所有独特的可能动作   从一个管道到另一个进程的java InputStream仍然被阻塞   java在阶段后将子项添加到窗格。show()   java如何确保在子对象中调用超级方法?   java从json对象获取值   java使用多线程读取文件   java Struts 1.1+Hibernate 3.2集成