连接到PostGIS数据库

时间:2012-11-02 10:55:15

标签: android postgresql postgis osmdroid openstreetmap

我正在尝试创建一个应用程序,允许用户查看我自己的磁贴服务器上托管的OSM地图,并且还可以编辑它。

我目前有一个瓷砖服务器,它将地图图块(png图像)传送到我的Android应用程序,使用OSMDroid显示。

我还有一个存储OSM数据的PostGIS数据库。

我正在考虑做的是将OSMDroid mapview作为基础,允许用户查看完全渲染的地图,然后让应用程序从PostGIS数据库下载OSM数据并绘制道路线作为叠加层在MapView的顶部,用户可以操作这些行,然后将它们提交回数据库。它看起来与Vespucci的做法类似。

这听起来像这样做的好方法吗?另外,有谁知道如何将Android连接到PostGIS DB并下载这些数据?

由于

1 个答案:

答案 0 :(得分:5)

让Android客户端直接连接到您的数据库不是一个好主意。正如您在评论中提到的那样创建Web服务(例如REST服务)是可行的方法。

采用这种方法有几个原因:

  • 从安全角度来看,将您的数据库暴露在互联网上是件坏事
  • 从设计角度来看,将应用程序与数据库紧密耦合是很糟糕的。使用单独的服务层,您可以:
    • 无需更新应用程序即可更改数据层
    • 添加缓存
    • 根据需要在每一层添加容量