Skip to content
Use Public Laboratory's Map Knitter to upload your own aerial imagery and combine it into a GeoTiff and TMS/OpenLayers map.
JavaScript CSS Ruby Python PHP Visual Basic
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead, 536 commits behind publiclab:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


oooo                     o8o      .       .                      
`888                     `"'    .o8     .o8                      
 888  oooo  ooo. .oo.   oooo  .o888oo .o888oo  .ooooo.  oooo d8b 
 888 .8P'   `888P"Y88b  `888    888     888   d88' `88b `888""8P 
 888888.     888   888   888    888     888   888ooo888  888     
 888 `88b.   888   888   888    888 .   888 . 888    .o  888     
o888o o888o o888o o888o o888o   "888"   "888" `Y8bod8P' d888b    

Use Public Laboratory's Map Knitter to upload your own aerial imagery and combine it into a GeoTiff and TMS/OpenLayers map.

Copyright 2010-2011 Jeffrey Warren


PLOTS Map Knitter is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

PLOTS Map Knitter is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with PLOTS Map Knitter.  If not, see <>.


Use Public Laboratory's Map Knitter to upload your own aerial imagery and combine it into a GeoTiff and TMS/OpenLayers map.

Read more about PLOTS Map Knitter at:

The Public Laboratory for Open Technology and Science (PLOTS) is a community which develops and applies open-source tools to environmental exploration and investigation. By democratizing inexpensive and accessible “Do-It-Yourself” techniques, Public Laboratory creates a collaborative network of practitioners who actively re-imagine the human relationship with the environment.

The core PLOTS program is focused on “civic science” in which we research open source hardware and software tools and methods to generate knowledge and share data about community environmental health. Our goal is to increase the ability of underserved communities to identify, redress, remediate, and create awareness and accountability around environmental concerns. PLOTS achieves this by providing online and offline training, education and support, and by focusing on locally-relevant outcomes that emphasize human capacity and understanding.

Join now at:


You'll need Ruby on Rails ~2.3.15, Ruby 1.8.7 (Ruby 1.9.x doesn't work for now as there is no packaged version of the geohash gem yet for 1.9.x), and GDAL >=1.7.x (
Check the version of ruby installed on your system by "ruby -v" If it displays a version other than 1.8.7, use a version manager like RVM to use ruby 1.8.7 as default.

1) Download source from
2) Install the compatible (with ruby 1.8.7) versions of the following gems using "gem install" : mysql(2.9.1), geokit-rails(1.1.4), image_science(1.2.6), recaptcha(0.3.6), will_paginate(2.3.16), oa-openid(0.3.2), httparty(0.11.0).
For e.g.- use "gem install geokit-rails -v 1.1.4" to install geokit-rails version 1.1.4. The dependent libraries can be viewed by opening /config/environment.rb.
3) Install davetroy-geohash from github source; first add github source with "gem sources -a" then run "gem install davetroy-geohash". (probably not needed anymore really)
4) Manually run "gem install RubyInline" - this was causing trouble when done from environment.rb
5) Install Amazon S3 gem with "gem install aws-s3" if you are using Amazon S3 for most image storage
6) Copy and configure config/database.yml from config/database.yml.example
7) Initialize database with "rake db:migrate"
8) Change the Google Maps API key at config/config.yml, which you can copy from config/config.yml.example. If you're running it locally, you can use the default which is provided; it's set up for http://localhost:3000. For a new one visit
9) Enter the ReCaptcha public and private keys in config/initializers/recaptcha.rb, copied from recaptcha.rb.example
10) Remove write permissions from the folder you have placed your app in.
11) Start rails with "script/server -p 3000" or "passenger start -p 3000" from the Rails root and open http://localhost:3000 in a web browser.


This is experimental, but if it works, you'll have a local version which you can carry around on a USB stick. We hope it will be useful for low-bandwidth situations. But beware - it hasn't been tested!

From the Bitnami RubyStack README:
To install BitNami RubyStack you will need:

    - Intel x86 or compatible processor
    - Minimum of 512 MB RAM 
    - Minimum of 150 MB hard drive space
    - TCP/IP protocol support
    - Compatible operantig systems:
      - An x86 Linux operating system.
      - A 32-bit Windows operating system such as Windows 2000, XP, Vista
      or Windows Server 2003.
      - An OS X operating system (PowerPC or x86).

You will also need: 
    - GDAL >= 1.7.x (
    - some source of local tiles, such as from TileStream (

1) Download the RubyStack:, and run the installer.
2) Place this MapKnitter folder in the resulting "projects" folder inside "rubystack-2.2-2" (get MapKnitter at or
3) Open a shell prompt/terminal, and enter the "rubystack-2.2-2" folder.
4) Type ".rubyconsole" to start the Bitnami ruby console.
5) Type "cd projects/mapknitter" to enter the MapKnitter project folder.
6) Follow the above steps for a normal installation. 

You can’t perform that action at this time.