蜥蜴网站的基本地图设置

lizard-map的Python项目详细描述


蜥蜴地图

蜥蜴地图为使用蜥蜴用户界面的应用程序提供基本的地图交互。我们是在 nelen&schuurmans 我们的地理位置 信息网站(含水管理信息)。

它提供:

  • openlayers(map javascript libary)地图显示和服务器端地图 生成(mapnik的wms功能)。背景图是可配置的。
  • "工作区"交互模型:将可映射项拖到工作区中,然后 它们会被展示出来。工作区存储在Django数据库中。
  • 附加到每个工作区的"拼贴",用于在地图上存储选定的信息 项目(如图表)。
  • 一种扩展机制,将或多或少的任意映射源插入 工作区,以便显示、搜索等。
https://secure.travis-ci.org/lizardsystem/lizard-map.png?branch=master

翻译状态:

https://translations.lizard.net/projects/p/lizardsystem/resource/lizard-map/chart/image_png

核心概念:工作区

工作区项是可以在地图上显示的东西。a 工作区 是实际显示的工作区项的集合。

有两种类型的工作区:

  • 编辑工作区:每个会话/用户都有自己的工作区。这个 工作区可以编辑。
  • 存储工作区。待办事项:额外信息。

工作区项需要知道如何显示自身,如何搜索项 当你点击地图等。让它在任意地图上工作 源,您需要配置适配器。适配器有一个 层() 返回mapnik层的方法,用于搜索和 所以,

  • 将适配器注册为 特定名称。
  • 添加工作区项时,将传入适配器名称和可选的 配置适配器的json片段。

工作区项跟踪此适配器及其配置区域并使用 用于生成地图、搜索等。

拼贴

工作区项通常会导致多个区域或点。如果你点击 这样的一点,你通常会得到一个额外的信息弹出窗口。如果你想的话 比较这些信息中的几个"片段",您可以将它们放在 拼贴 。在gui中,这称为"selectie"。

点击拼贴会弹出一个包含所有收集到的信息的弹出窗口 在那个弹出窗口中。

互动

其中包括一些用于工作区交互的javascript。潜力 可以将工作区项拖放到工作区中以添加它们。工作空间 项目可以重新排序。你可以把它们拖到垃圾桶里。

开发安装

第一次,您必须运行"bootstrap"脚本来设置setuptools 建造:

$> python bootstrap.py

然后运行buildout设置所有设置:

$> bin/buildout

(在Windows上称为 bin\buildout.exe )。

当你或其他人在 setup.py buildout.cfg

当前包作为"开发包"安装,因此 .py文件中的更改是自动可用的(就像在python中一样 setup.py开发)。

如果您想使用其他包的主干签出(而不是释放 版本),将它们作为"svn external"添加到 local_checkouts/ 目录中 并将它们添加到buildout.cfg中的 develop= 列表中。

测试始终可以使用 bin/test bin\test.exe

外部依赖性

使用蜥蜴地图的完整网站的依赖关系最好表示为 ubuntu/debian包依赖项:build essential,python2.6-dev,apache2, libjpeg dev、python imaging、python matplotlib、python mapnik、python scipy, libapache2 mod wsgi、python gdal、spatialite bin、python-pysqlite2, python pyproj.

升级到Lizard 3

将应用程序转换为Lizard 3的简短摘要。

  • 将旧模板标记工作区替换为工作区编辑和 拼贴编辑(见下文)。
  • 查看url.py以查看旧的蜥蜴地图视图。替换为新的或 删除.
  • 迁移
  • 使用其中一个视图类升级到基于类的视图 (即AppView)。在谷歌上可以找到一个很好的描述 "基于类的视图重新显示"。您可以将蜥蜴地图视图视为 示例也一样。

站点集成

必须执行以下步骤才能使用 蜥蜴地图/工作区概念。

  • 在某处安装蜥蜴地图。(在setup.py中添加"蜥蜴地图": 安装需要)

  • 将"蜥蜴地图"添加到您的设置中。py:已安装的应用程序。

  • 在URL中添加一个条目。py:

    import lizard_map.urls
    
    (r'^map/', include(lizard_map.urls)),
    
  • 使用其中一个视图,即AppView。

示例视图:

from lizard_map.views import AppView

class MyAppView(AppView):
    template_name = 'my_app/template.html'

示例模板:

{% extends "lizard_map/wms.html" %}
{% load workspaces %}

{% block subtitle %} (page name) {% endblock %}

{% block sidebar %}

<div id="iconbox" class="sidebarbox sidebarbox-stretched iconlist">
  <h2>Apps</h2>
  <ul>
      <li>
        <a href="/address/" class="lizard-map-link">
          <img src="{{ STATIC_URL }}lizard_ui/app_icons/meetgegevens.png" />
          <div>App</div>
        </a>
      </li>
  </ul>
</div>

{% workspace_edit view.workspace_edit %}
{% collage_edit view.collage_edit %}

{% endblock %}
  • 将此视图添加到您的url.py:

    < Buff行情>

    导入我的应用程序视图

    (r'^$',my_app.views.my app view.as_view()),

  • 运行syncdb/migrate开始测试。

  • 通过加载"背景地图"设备添加和配置背景地图。

  • 启动开发服务器。

设置

可以在settings.py中设置某些默认日期范围设置。所有 设置是可选的:

START_YEAR = 2000  # Defaults to today - 7 years
END_YEAR = 2010  # Defaults to today + 3 years.

# Define default period 1..5
# From daterange.py:
# PERIOD_DAY = 1
# PERIOD_TWO_DAYS = 2
# PERIOD_WEEK = 3
# PERIOD_MONTH = 4
# PERIOD_YEAR = 5
# PERIOD_OTHER = 6

DEFAULT_PERIOD = 5  # Defaults to 1

# If DEFAULT_PERIOD = 6, define these
DEFAULT_START_DAYS = -20  # Defaults to -1000
DEFAULT_END_DAYS = 1  # Defaults to 10

通过添加跟踪,您可以将Google Analytics添加到您的站点 代码:

GOOGLE_TRACKING_CODE = 'AA-12345678-0'

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

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库