apply patch from strk for 80 columns format for README and INSTALL - closes #636

This commit is contained in:
Dane Springmeyer 2010-10-02 12:30:53 +00:00
parent d4306abf7d
commit 169196e009
2 changed files with 75 additions and 38 deletions

89
INSTALL
View file

@ -41,11 +41,13 @@ Run python interpreter and check installation::
If you get this error ensure that Mapnik in is your PYTHONPATH. If you get this error ensure that Mapnik in is your PYTHONPATH.
Otherwise your setup is ready. You can now visit http://trac.mapnik.org/wiki/GettingStarted for a basic tutorial. Otherwise your setup is ready. You can now visit
http://trac.mapnik.org/wiki/GettingStarted for a basic tutorial.
For help with using SCons see: http://trac.mapnik.org/wiki/UsingScons For help with using SCons see: http://trac.mapnik.org/wiki/UsingScons
For troubleshooting errors see: http://trac.mapnik.org/wiki/InstallationTroubleshooting. For troubleshooting errors see:
http://trac.mapnik.org/wiki/InstallationTroubleshooting.
Prerequisites Prerequisites
@ -87,11 +89,19 @@ Second, here are the optional software dependencies:
- libocci - Oracle input plugin support - libocci - Oracle input plugin support
- libcurl - OSM input plugin support - libcurl - OSM input plugin support
If your system does NOT have one of these installed, you will need to install the mandatory ones at the very least before proceeding further. If your system does NOT have one of these installed, you will need to
install the mandatory ones at the very least before proceeding further.
Instructions for installing many of these dependencies on various platforms can be found at the Mapnik Community Wiki (http://trac.mapnik.org/wiki/MapnikInstallation). Instructions for installing many of these dependencies on
various platforms can be found at the Mapnik Community Wiki
(http://trac.mapnik.org/wiki/MapnikInstallation).
On Linux and Mac OS, package management systems (such as apt for debian or macports for darwin) can be used to install most or all dependencies, but source installs may be preferrable. This is particularly true for libraries that a required for the Python bindings, where source installs may be the best way to ensure that the same python version us linked to Boost, Cairo, and Mapnik. On Linux and Mac OS, package management systems (such as apt for debian
or macports for darwin) can be used to install most or all dependencies,
but source installs may be preferrable. This is particularly true for
libraries that a required for the Python bindings, where source installs
may be the best way to ensure that the same python version us linked to
Boost, Cairo, and Mapnik.
Note: a minimum of 256MB of RAM is recommended for the build process. Note: a minimum of 256MB of RAM is recommended for the build process.
@ -99,17 +109,24 @@ Note: a minimum of 256MB of RAM is recommended for the build process.
Building Building
-------- --------
Once you've installed the required software packages, the simplest way to build Mapnik is to run SCons (The software builder) without any options:: Once you've installed the required software packages, the simplest way to
build Mapnik is to run SCons (The software builder) without any options::
$ cd ~/src/mapnik $ cd ~/src/mapnik
$ python scons/scons.py configure $ python scons/scons.py configure
$ python scons/scons.py # will build sources $ python scons/scons.py # will build sources
This should compile and link the mapnik library as well as the input plugins and the python language binding (if possible). If any mandatory dependencies are not found the build will fail, and you will need to specify custom paths to your libraries and include files. This should compile and link the mapnik library as well as the input
plugins and the python language binding (if possible). If any mandatory
dependencies are not found the build will fail, and you will need to
specify custom paths to your libraries and include files.
SCons accepts a variety of options to customize your build. This allows you to specify which components are compiled, where to find dependencies, where to install mapnik, and so on. SCons accepts a variety of options to customize your build. This allows
you to specify which components are compiled, where to find dependencies,
where to install mapnik, and so on.
To see the list of available options, from the root of the source distribution, run:: To see the list of available options, from the root of the source
distribution, run::
$ python scons/scons.py -h $ python scons/scons.py -h
@ -117,23 +134,28 @@ For example, if you compiled your own set of Boost libraries, you might use::
$ python scons/scons.py configure BOOST_INCLUDES=/usr/local/include/ BOOST_LIBS=/usr/local/lib $ python scons/scons.py configure BOOST_INCLUDES=/usr/local/include/ BOOST_LIBS=/usr/local/lib
Or if you installed ICU from source and you'd like to build Mapnik in Debug mode you might use:: Or if you installed ICU from source and you'd like to build Mapnik in
Debug mode you might use::
$ python scons/scons.py configure DEBUG=True ICU_INCLUDES=/usr/local/include ICU_LIBS=/usr/local/lib $ python scons/scons.py configure DEBUG=True ICU_INCLUDES=/usr/local/include ICU_LIBS=/usr/local/lib
For more details on all the options see: http://trac.mapnik.org/wiki/UsingScons For more details on all the options see:
http://trac.mapnik.org/wiki/UsingScons
Note: the Python used to run SCons does NOT have to be the same as the one used for the python bindings. Note: the Python used to run SCons does NOT have to be the same as the
one used for the python bindings.
Installation Installation
------------ ------------
Once the build has successfully completed, you can install the various files on your system by executing:: Once the build has successfully completed, you can install the various
files on your system by executing::
$ sudo python scons/scons.py install $ sudo python scons/scons.py install
By default, everything will be installed under the PREFIX '/usr/local' as such:: By default, everything will be installed under the PREFIX '/usr/local'
as such::
$PREFIX/lib: libmapnik.so (.dylib on mac os) $PREFIX/lib: libmapnik.so (.dylib on mac os)
$PREFIX/lib/mapnik/input: input plug-ins $PREFIX/lib/mapnik/input: input plug-ins
@ -141,13 +163,15 @@ By default, everything will be installed under the PREFIX '/usr/local' as such::
$PREFIX/bin: shapeindex utility $PREFIX/bin: shapeindex utility
$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages/mapnik: Python bindings $PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages/mapnik: Python bindings
If you're using the default PREFIX, you will most likely need to be root to perform the install. If you're using the default PREFIX, you will most likely need to be root
to perform the install.
Testing Installation Testing Installation
-------------------- --------------------
First, try importing the Mapnik python module in a python interpreter, and make sure it does so without errors:: First, try importing the Mapnik python module in a python interpreter,
and make sure it does so without errors::
$ python $ python
Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17) Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
@ -161,7 +185,9 @@ Then, try rendering the demo map, included in the Mapnik source code::
$ cd demo/python $ cd demo/python
$ python rundemo.py $ python rundemo.py
If the resulting maps look good, this indicates the core components of Mapnik are installed properly, as well as the Shapefile plugin, Unicode text support (ICU), and re-projection support using Proj. If the resulting maps look good, this indicates the core components of
Mapnik are installed properly, as well as the Shapefile plugin, Unicode
text support (ICU), and re-projection support using Proj.
For further tests see the `tests` folder within the Mapnik source code. For further tests see the `tests` folder within the Mapnik source code.
@ -170,22 +196,31 @@ Learning Mapnik
--------------- ---------------
For Users: For Users:
- Visit http://trac.mapnik.org/wiki/LearningMapnik for basic tutorials on making maps with Mapnik using the Python bindings. - Visit http://trac.mapnik.org/wiki/LearningMapnik for basic tutorials
on making maps with Mapnik using the Python bindings.
For Developers: For Developers:
- Visit http://trac.mapnik.org/#DevelopersCorner for resources for getting involved with Mapnik development. - Visit http://trac.mapnik.org/#DevelopersCorner for resources for
getting involved with Mapnik development.
Mapnik Community Mapnik Community
---------------- ----------------
Mapnik has an active community of talented users and developers making amazing maps. Mapnik has an active community of talented users and developers making
amazing maps.
If you are looking for further help on installation or usage and you can't find what you are looking for from searching the users list archives (http://lists.berlios.de/pipermail/mapnik-users/) or the trac wiki (http://trac.mapnik.org/), feel free to join the Mapnik community and introduce yourself. If you are looking for further help on installation or usage and you can't
find what you are looking for from searching the users list archives
(http://lists.berlios.de/pipermail/mapnik-users/) or the trac wiki
(http://trac.mapnik.org/), feel free to join the Mapnik community and
introduce yourself.
You can get involved by: You can get involved by:
- Subscribing to the mapnik-users list: http://lists.berlios.de/mailman/listinfo/mapnik-users - Subscribing to the mapnik-users list:
- Subscribing to the mapnik-developers list: http://lists.berlios.de/mailman/listinfo/mapnik-devel http://lists.berlios.de/mailman/listinfo/mapnik-users
- Subscribing to the mapnik-developers list:
http://lists.berlios.de/mailman/listinfo/mapnik-devel
- Joining the #mapnik channel on irc://irc.freenode.net/mapnik - Joining the #mapnik channel on irc://irc.freenode.net/mapnik
- Signing up as a user or contributer at http://www.ohloh.net/p/mapnik/ - Signing up as a user or contributer at http://www.ohloh.net/p/mapnik/
@ -193,8 +228,8 @@ You can get involved by:
A note on projection support A note on projection support
---------------------------- ----------------------------
Mapnik's core C++ library and map rendering engine support on-the-fly cartographic Mapnik's core C++ library and map rendering engine support on-the-fly
reprojections. cartographic reprojections.
Here is an example on how to use it:: Here is an example on how to use it::
@ -206,5 +241,5 @@ Here is an example on how to use it::
Envelope(461721.365661,94917.0749406,469024.861457,206224.090767) # reprojected extent Envelope(461721.365661,94917.0749406,469024.861457,206224.090767) # reprojected extent
The Projection() instance provides inverse() and forward() methods. For details on the possible parameters, The Projection() instance provides inverse() and forward() methods.
see the PROJ.4 documentation. For details on the possible parameters, see the PROJ.4 documentation.

22
README
View file

@ -1,18 +1,20 @@
See INSTALL file for installation instructions See INSTALL file for installation instructions
Mapnik is an OpenSource C++/Python toolkit for developing Mapnik is an OpenSource C++/Python toolkit for developing GIS (Geographic
GIS (Geographic Information Systems) applications. At the core is a C++ shared Information Systems) applications. At the core is a C++ shared library
library providing algorithms/patterns for spatial data access and visualization. providing algorithms/patterns for spatial data access and visualization.
Essentially a collection of geographic objects (map, layer, datasource, feature, geometry), Essentially a collection of geographic objects (map, layer, datasource,
the library doesn't rely on "windowing systems" and can be deployed in any server environment. feature, geometry), the library doesn't rely on "windowing systems"
It is intended to play fair in a multi-threaded environment and is aimed primarily, and can be deployed in any server environment. It is intended to play
but not exclusively, at web-based development. fair in a multi-threaded environment and is aimed primarily, but not
exclusively, at web-based development.
High-level Python bindings (boost.python) facilitate rapid application development, High-level Python bindings (boost.python) facilitate rapid application
targeting zope3, django etc. development, targeting zope3, django etc.
Mapnik is a free software and is released under LGPL (GNU Lesser General Public Licence) (see COPYING) Mapnik is a free software and is released under LGPL (GNU Lesser General
Public Licence) (see COPYING)
For further information see: For further information see:
- http://mapnik.org - http://mapnik.org