Metadata-Version: 1.0
Name: lizard-map
Version: 1.10
Summary: Basic map setup for lizard web sites
Home-page: http://www.nelen-schuurmans.nl/lizard/
Author: Reinout van Rees
Author-email: reinout.vanrees@nelen-schuurmans.nl
License: GPL
Description: lizard-map
        ==========
        
        Lizard-map provides basic map interaction for `Django
        <http://www.djangoproject.com>`_ applications that use a `lizard-ui
        <http://pypi.python.org/pypi/lizard-ui>`_ user interface.  We designed it at
        `Nelen & Schuurmans <http://www.nelen-schuurmans.nl>`_ for our geographical
        information websites (with water management information).
        
        It provides:
        
        - Openlayers (map javascript libary) map display and server-side map
          generation (mapnik's WMS functionality).
        
        - A "workspace" interaction model: drag mappable items into a workspace and
          they'll get displayed.  The workspace is stored in the Django database.
        
        - A "collage" attached to every workspace for storing selected info on map
          items (like graphs).
        
        - An extention mechanism to plug more or less arbitrary map sources into the
          workspace so that they can be displayed, searched, etc.
        
        
        Core concept: workspaces
        ------------------------
        
        A *workspace item* is something that can be displayed on a map.  A *workspace*
        is a collection of workspace items that is actually displayed.
        
        Every session gets its own workspace.  (There is a possiblity of adding extra
        workspaces, but that isn't used yet in one of our sites, so it isn't fully
        thought-out yet).
        
        A workspace item needs to know how to display itself, how to search for items
        when you click on the map and more.  To get that to work for arbitrary map
        sources, you need to configure an adapter.  The adapter has a ``layer()``
        method for returning a mapnik layer, a ``search()`` method for searching and
        so on.
        
        - You register an adapter as a so-called "setuptools entrypoint" under a
          specfic name.
        
        - When you add a workspace item, you pass in the adapter name and an optional
          snippet of json to configure the adapter.
        
        The workspace item keeps track of this adapter and its configuragion and uses
        it to generate maps, for searching, etc.
        
        
        Collages
        --------
        
        A workspace item often results in multiple areas or points.  If you click on
        such a point, you normally get a popup with extra information.  If you want to
        compare a couple of those information "snippets", you can place them in your
        workspace's *collage*.
        
        Clicking the collage gives a popup with all the collected information popups
        in that single popup.
        
        
        Interaction
        -----------
        
        Included is quite some javascript for workspace interaction.  Potential
        workspace items can be drag/dropped into a workspace to add them.  Workspace
        items can be reordered.  You can drag them to the trash.
        
        
        Dependencies
        ------------
        
        Almost all dependencies are listed in our ``setup.py``, so they get pulled in
        automatically.  Not all of them install as good as eggs, though.  You might be
        better off installing them system-wide with your OS's own packaging system.
        
        You can force buildout to use system-wide installed packages with the
        `osc.recipe.sysegg <http://pypi.python.org/pypi/osc.recipe.sysegg>`_ recipe.
        An example config::
        
          [buildout]
          ...
          parts =
              sysegg
              ...
        
          [sysegg]
          recipe = osc.recipe.sysegg
          force-sysegg = true
          eggs =
              PIL
              matplotlib
              simplejson
              pyproj
        
        
        Development installation
        ------------------------
        
        The first time, you'll have to run the "bootstrap" script to set up setuptools
        and buildout::
        
            $> python bootstrap.py
        
        And then run buildout to set everything up::
        
            $> bin/buildout
        
        (On windows it is called ``bin\buildout.exe``).
        
        You'll have to re-run buildout when you or someone else made a change in
        ``setup.py`` or ``buildout.cfg``.
        
        The current package is installed as a "development package", so
        changes in .py files are automatically available (just like with ``python
        setup.py develop``).
        
        If you want to use trunk checkouts of other packages (instead of released
        versions), add them as an "svn external" in the ``local_checkouts/`` directory
        and add them to the ``develop =`` list in buildout.cfg.
        
        Tests can always be run with ``bin/test`` or ``bin\test.exe``.
        
        
        External dependencies
        ---------------------
        
        The dependencies for a full website that uses lizard-map are best expressed as
        ubuntu/debian package dependencies: 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.
        
        
        
        TODO
        ====
        
        - Add tests.  We're sorely lacking in that regard.
        
        - Add example app for stand-alone in-browser testing and trying-out.
        
        - Add possibility for multiple base layers.
        
        - Remove hardcoded Dutch-centric initial map extends.
        
        - More i18n/l10n.
        
        - Fix reloading when dragging an item to the trash.
        
        
        Credits
        =======
        
        - Main coders: Jack Ha and `Reinout van Rees
          <http://reinout.vanrees.org>`_ (`Nelen & Schuurmans
          <http://www.nelen-schuurmans.nl>`_).
        
        - Core workspace interaction concept: Jan-Maarten Verbree and
          Bastiaan Roos (`Nelen & Schuurmans <http://www.nelen-schuurmans.nl>`_).
        
        
        Changelog of lizard-map
        ===================================================
        
        
        1.10 (2010-09-08)
        -----------------
        
        - Add never_cache to several server requests, to prevent caching in IE.
        
        - Fixed graph popup rendering problem for IE7 (empty <a> tags get hidden
          there, even if there's an icon background).
        
        
        1.9 (2010-09-03)
        ----------------
        
        - Use updated krw shapefiile.
        
        - Use different open street map.
        
        
        1.8 (2010-08-30)
        ----------------
        
        - Bugfix for when no statistics are available.
        
        
        1.7 (2010-08-27)
        ----------------
        
        - Graph and collage popups now use the "regular" jquerytools popup instead of
          the OpenLayers in-the-map popup.  Visually cleaner, clearer and prettier.
          And easier to maintain and to get right.
        
        - Various visual fixes.
        
        - Deleting a workspace item also deletes the corresponding snippets.
        
        - Added color pulldown for collage view settings (instead of requiring you to
          know the internal matplotlib color code names :-) )
        
        
        1.6 (2010-08-26)
        ----------------
        
        - Animation slider and name-hover are now also working in the default
          workspace view.
        
        - Name hover is now placed just to the lower right of the cursor.  This way
          you can still click on the item you hovered above instead of your click
          being blocked sometimes by the hovering name.
        
        - Added slightly more whitespace to the right of legend-less graphs: this
          prevents (most) labels from being cut off.
        
        
        1.5 (2010-08-26)
        ----------------
        
        - Added tooltips with name when hovering over clickable map items.
        
        - Layout improvements for popups and tables.
        
        - Added dateperiods: calculate periods for use in graphs.
        
        - Added styling for popups.
        
        
        1.4 (2010-08-23)
        ----------------
        
        - WorkspaceCollageSnippetGroup's name was a TextField (=multiline) instead of
          a simple CharField.  Oracle stores a TextField as a "NCLOB" and has some
          restrictions on them (no index, no .distinct()).  Anyway, this blew up on
          an oracle-using installation.  Fixed now.
        
        - Removed double value_aggregate() method from base adapter: the extra one
          raised a NotImplemented error and overshadowed the real method.
        
        
        1.3 (2010-08-18)
        ----------------
        
        - Requiring our dependencies that must be installed with system eggs.  We use
          the osc.recipe.sysegg in our own buildout to grab them from the system.  A
          sample config is included in the readme.
        
        - Implemented export csv for snippet_group.
        
        - Added optional legends.
        
        - Add option to show tables in collage view.
        
        - Importing the simplejson module in a different way to please windows in
          combination with python 2.6.
        
        
        1.2 (2010-08-16)
        ----------------
        
        - Added a bit of test setup to make xml test reports possible (for integration
          with Hudson).  Similarly for coverage reports, also for Hudson.  Automatic
          code quality monitoring!
        
        - Implemented snippet groups. Snippet groups group similar snippets in
          a collage.
        
        - Removed site-specific breadcrumbs.
        
        - Refactored collage view. One can now edit graphs in the collage
          view. The graph-only editor has been removed.
        
        - Added an animation slider for showing map layers at specific points in
          time.  Only shown when there are workspace items that support it.
        
        - Removed graph-properties that were stored in the session.
        
        - Passing extra 'request' keyword argument to all adapter layer() methods.
          **Warning**:  This needs refactoring in all adapters.  Advance warning:
          we'll probably refactor the adapters to get the request in their
          ``__init__()`` method later on.
        
        
        1.1 (2010-07-16)
        ----------------
        
        - Changed json decode behaviour: keys are now strings, not unicode.
        
        
        1.0 (2010-07-15)
        ----------------
        
        - Automatically empties temp workspace when adding item to workspace.
        - Add custom graph edit screen.
        - Add layout option to adapter.location for use with custom graphs.
        - Make generic adapter html rendering, for i.e. popups and collage
          views. Refactored popup_json.
        - Add collage view.
        - Put date_popup in template tag.
        - Update wms.html for custom map-javascript code, for use with
          lizard-sticky.
        - Add symbol function to adapter.
        - Add wgs84 support in coordinates.
        - Add GraphProps manager for keeping track of customized graphs.
        
        
        0.16 (2010-07-06)
        -----------------
        
        - Compensating for lizard-ui's "use-my-size" instead of "use-my-width/height"
          class for image replacement.
        
        
        0.15 (2010-07-02)
        -----------------
        
        - Better empty height/width handling for images.
        
        - Slightly bigger search radius when clicking on a map.
        
        
        0.14 (2010-07-01)
        -----------------
        
        - Using lizard-ui's generic graph resizing and reloading now.
        
        
        0.13 (2010-06-28)
        -----------------
        
        - Popup graph size fixes.
        
        - Updated documentation.
        
        - We're now released on pypi!
        
        
        0.12 (2010-06-23)
        -----------------
        
        - Fancier "nothing found" popup.
        
        
        0.11 (2010-06-23)
        -----------------
        
        - UI interaction fixes.
        
        - Temp workspace popups don't show add-to-collage.
        
        - Added empty-the-workspace button.
        
        - Fixed graph display: no more overlap.
        
        - Added global graph settings.
        
        
        0.10 (2010-06-22)
        -----------------
        
        - Popup (upon map click) shows popup when nothing's found.
        
        - More feedback (hourglass pointer and so).
        
        
        0.9 (2010-06-18)
        ----------------
        
        - Fixed wms.html's javascript code: long live jslint!
        
        - Not emptying the temp workspace anymore: it was happening too often.  Now it
          isn't happening often enough, though.  Will be fixed later.
        
        
        0.8 (2010-06-18)
        ----------------
        
        - Using lizard-ui's new css/javascript blocks.
        
        - Copied charts from krw here.
        
        
        0.7 (2010-06-16)
        ----------------
        
        - "Add to collage" is now hardcoded NL.
        
        - Collage popup is bigger and doesn't contain "add to collage" links anymore.
        
        
        0.6 (2010-06-15)
        ----------------
        
        - Added the date range popup widget from krw-waternet here.  (Still
          session-based.  It also doesn't work with multiple workspaces yet.
        
        - Changed layer_method and other setuptools registered functions to an
          adapter class.
        
        - Added fully functioning collages/snippets support.
        
        0.5 (2010-06-08)
        ----------------
        
        - Added early support for collages/snippets.
        
        - Switched the custom attributes over to "data-xxxxx" attributes (those are
          valid html5).
        
        - Added generic draggability of .workspace-acceptable items.
        
        
        0.4 (2010-05-18)
        ----------------
        
        - Collected the rijksdriehoek and google mercator proj4 strings in one
          location (coordinates.py).  Including handy conversion methods.
        
        - Added views for showing and managing workspaces.
        
        - Added workspaces and workspaceitems for showing map layers and de-coupling
          them with behind-the-scenes data.
        
        - Added generic WMS view.
        
        - Added shapefile layer rendering function.
        
        - Added generic layer rendering and layer searching hook-ups through
          so-called setuptools entrypoints.
        
        - Added template tags for rendering workspaces.
        
        
        0.3 (2010-04-14)
        ----------------
        
        - Reordered templates a bit between lizard-ui and us.
        
        
        0.2 (2010-03-29)
        ----------------
        
        - Really added analysis.html
        
        
        0.1 (2010-03-29)
        ----------------
        
        - Moved analysis.html from krw-waternet to lizard-map
        - Initial library skeleton created by nensskel.  Jack Ha
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Framework :: Django
