Skip to content
This repository

OpenTreeMap is a collaborative platform for crowdsourced tree inventory, ecosystem services calculations, and community engagement. OpenTreeMap is a project of Azavea and Urban Ecos.

Octocat-spinner-32 api Merge remote-tracking branch 'upstream/v1.3' into v1.3
Octocat-spinner-32 classfaves initial commit
Octocat-spinner-32 importer Handle unicode and normal strings
Octocat-spinner-32 polygons Merge pull request #142 from steventlamb/bug/show_photo_edits
Octocat-spinner-32 profiles Add template profile_detail.html, change edit_profile.html to match, …
Octocat-spinner-32 qs_tiles initial commit
Octocat-spinner-32 registration_backend Set minimum password length of 6
Octocat-spinner-32 scripts Re-add search view script (delete in d3332e7)
Octocat-spinner-32 static Cleanup JS lint
Octocat-spinner-32 templates Update importer merge tool
Octocat-spinner-32 tilecache remove mapserver
Octocat-spinner-32 treekey Fixed conflicts, merged js files by hand from 1.0.3 updates
Octocat-spinner-32 treemap Merge pull request #183 from steventlamb/topic/audit_exports
Octocat-spinner-32 utils initial commit
Octocat-spinner-32 wsgi-scripts fix path issues
Octocat-spinner-32 .gitignore Ignore more files
Octocat-spinner-32 LICENSE Turned pending user checks on, fixed several small bugs
Octocat-spinner-32 OpenTreeMap-CLA-Corporate.pdf Added Contributor Agreement PDFs
Octocat-spinner-32 OpenTreeMap-CLA-Individual.pdf Added Contributor Agreement PDFs
Octocat-spinner-32 README.md Add USDA Grant info
Octocat-spinner-32 __init__.py initial commit
Octocat-spinner-32 choices.example.py adding choices.example.py
Octocat-spinner-32 local_settings.example.py TILECACHE_POLYGON_LAYER added
Octocat-spinner-32 manage.py initial commit
Octocat-spinner-32 requirements.txt Integrate eco.py and remove old csv-type fields
Octocat-spinner-32 settings.py Use a valid default itree region
Octocat-spinner-32 settings_audit.py Updated locality in search fields to PA - should make a setting instead
Octocat-spinner-32 urls.py Don't cache species views
README.md

OpenTreeMap Logo

Updates? Issues? Questions?

For updates join the announcement email list here: http://groups.google.com/group/opentreemap-user For issues or questions you can try mailing the user list: http://groups.google.com/group/opentreemap-user or connect with us via IRC at #opentreemap on freenode (freenode.net).

This is v1.3 of OpenTreeMap, the in development version.

Other Repositories

OpenTreeMap is also available for iOS and Android.

iOS app code is available at https://github.com/azavea/OpenTreeMap-iOS
Default graphics and config files for the OpenTreeMap iOS app are available at https://github.com/azavea/OpenTreeMap-iOS-skin

Android app code is available at https://github.com/azavea/OpenTreeMap-Android
A default skin is included in the repository, as are "howto.pdf" build instructions.

Installation Instructions

Required programs:

  • Webserver - Gunicorn is recommended
  • Database - Postgres 8.1 + postgis 1.5 is recommended (postgis 2.0+ is not yet supported)
  • Map tile renderer - GeoServer(java) on tomcat is recommended
  • SMTP service - sendmail is recommended
  • tile caching service - tilecache is recommended (port 8080 through apache)
  • Python 2.7

Required python libraries (installed via pip)

  • BeautifulSoup (3.2.0)
  • Django (1.3.4)
  • PIL (1.1.7)
  • South (0.7.5)
  • Unidecode (0.04.9)
  • django-badges (0.1.6)
  • django-debug-toolbar (0.9.1)
  • django-extensions (0.7.1)
  • django-pagination (1.0.7)
  • django-profiles (0.2)
  • django-shapes (0.2.0)
  • django-sorting (0.1)
  • django-tagging (0.3.1)
  • django-threadedcomments
  • django-pipeline (1.1.27)
  • feedparser (5.1)
  • geopy (0.94.1)
  • psycopg2 (2.4.1)
  • python-omgeo (1.4.1)
  • simplejson (2.3.2)
  • sorl-thumbnail (11.12)
  • template-utils (0.4p2)
  • wsgiref (0.1.2)
  • xlrd (0.7.1)
  • yuicompressor (2.4.6.1)

Optional libraries

  • gunicorn (0.14.3) (via pip)
  • libapache2-mod-wsgi (if you want to run with apache) (via apt)

Required libraries from aptitude

  • binutils
  • libgeos-3.2.0
  • libgeos-c1
  • libgdal1-1.6.0
  • libproj0
  • gdal-bin

Required libraries from the web

Patches:

Fix to proj to deal with spherical mercator
    wget http://download.osgeo.org/proj/proj-datumgrid-1.4.tar.gz
    tar -xzf /proj-datumgrid-1.4.tar.gz
    cd proj-datumgrid-1.4
    nad2bin null < null.lla
                            sudo cp null /usr/share/proj
Get django-sorting and fix bug
    git clone git://github.com/directeur/django-sorting.git
            Apply patch to django-sorting:
        https://github.com/directeur/django-sorting/issues#issue/8
                    -including comment by Alsaihn
            sudo cp django_sorting -R /usr/local/lib/python2.6/dist-packages/django_sorting
Get django-shapes and remove HttpResponse call
    wget https://bitbucket.org/springmeyer/django-shapes/get/tip.tar.gz
    In shapes/views/export.py - zip-response method - change >
        # Stick it all in a django HttpResponse
        #response = HttpResponse(zip_stream, mimetype=mimetype)
        #response['Content-Disposition'] = 'attachment; filename=%s.zip' % file_name.replace('.shp','')
        #response['Content-length'] = str(len(zip_stream))
        #response['Content-Type'] = mimetype
        #response.write(zip_stream)
        return zip_stream

Get django-reputation and fix default config and user bug
    svn checkout http://django-reputation.googlecode.com/svn/trunk/ django-reputation
            cd django-reputation
            sudo cp django_reputation -R /usr/local/lib/python2.6/dist-packages/django_reputation
            Change default config and user bug: (b/c it doesn't seem to accept values in settings.py)
                    cd /usr/local/lib/python2.6/dist-packages/django_reputation
                    In config.py - <change values as needed>
        In model.py - change >
            ....
            relevant_reputation_actions = UserReputationAction.objects.filter(user=user).filter........
            ....
            if expected_delta <= MAX_REPUTATION_GAIN_PER_DAY and expected_delta >= -1 * MAX_REPUTATION_LOSS_PER_DAY:
                delta = action_value
            elif expected_delta > MAX_REPUTATION_GAIN_PER_DAY:
                delta = 0
            elif expected_delta < MAX_REPUTATION_LOSS_PER_DAY:
                delta = 0
            ...
Fix Tilecache TMS issue
            In tilecache/Services/TMS.py - change >
                    ...
                    elif len(parts) < 2:
                            return self.serviceCapabilities(host, self.service.layers)
                    else:
                + parts = parts[-5:]
                            layer = self.getLayer(parts[1])
                            if len(parts) < 3:
                            return self.layerCapabilities(host, layer)
                    ...

USDA Grant

Portions of OpenTreeMap are based upon work supported by the National Institute of Food and Agriculture, U.S. Department of Agriculture, under Agreement No. 2010-33610-20937, 2011-33610-30511, 2011-33610-30862 and 2012-33610-19997 of the Small Business Innovation Research Grants Program. Any opinions, findings, and conclusions, or recommendations expressed on the OpenTreeMap website are those of Azavea and do not necessarily reflect the view of the U.S. Department of Agriculture.

Something went wrong with that request. Please try again.