【问题标题】:Using Django as a map source for openlayer UI使用 Django 作为 openlayer UI 的地图源
【发布时间】:2012-04-08 02:59:36
【问题描述】:

我正在考虑创建一个显示城市地图的 Web 应用程序(来自 openstreetmaps 数据)。我想在顶部创建一个代表标记的图层。我预计我将拥有一个包含大量标记的数据库,这些标记将作为图层显示在地图上。我遇到过openstreetmap、openlayers、geodjango等,但我无法弄清楚如何将所有这些组合在一起来解决我的问题。我很喜欢使用 Django 和 Python。谁能帮我理解以下内容:

  1. 如何使用 Django 在我自己的服务器上托管 OSM 数据并充当 openlayers 的 Mapserver(或地图源)?
  2. 如何让 openlayer 与此服务器通信以渲染地图或叠加层?

如果我的问题的某些部分没有意义,我很抱歉;这是因为我目前对这些组件的理解非常模糊。

【问题讨论】:

    标签: python django openlayers openstreetmap geodjango


    【解决方案1】:

    在坐标处显示标记是最简单的部分。更难的部分是托管您自己的底图。这是我认为你可以做到的一种方法:

    1. 获取您感兴趣的区域的 OpenStreetMap 数据。
    2. 为您的地图开发样式表,或使用现有的。 Mapnik 是一种选择。
    3. 使用 Tilecache 以各种比例级别提供地图的缓存图像切片。除了您的 django 应用程序之外,它还必须运行。

    另一种选择是使用 Tiledrawer 设置 Amazon EC2 服务器来为您的基本地图提供服务,而无需手动配置所有内容。

    Stack Overflow 只允许我发布两个链接,所以你必须搜索 Tilecache 和 Mapnik 的网站,但它们很容易找到。

    参考资料:

    【讨论】:

    • Patrick,感谢您的相关回答。在阅读了您的信息并从那里进一步阅读(包括此链接-> alistapart.com/articles/takecontrolofyourmaps)之后,现在事情变得更有意义了。 TileDrawer 看起来很有趣,但是我想在我自己的本地服务器上部署和测试它。我找不到任何有关此的文档。这可能吗?
    • OSM wiki page for TileDrawer 表示 TileDrawer 创建的 shell 脚本可以在“任何硬件上全新安装的 Ubuntu”上运行。 TileDrawer 的来源是published on github('config' 分支似乎是要使用的分支。)您可以通过一些修改使其在其他服务器设置上工作。至少,您可以将其用作参考。
    • 超级!这听起来真的很好。会退房。再次感谢您提供的所有信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 2022-12-20
    • 2019-07-31
    相关资源
    最近更新 更多