Commit graph

860 commits

Author SHA1 Message Date
Dane Springmeyer
098f9de2aa fix linking of python.input to python lib on linux 2013-03-06 14:04:17 -08:00
Dane Springmeyer
66aaa4f70c Merge branch '2.1.x' of github.com:mapnik/mapnik into 2.1.x 2012-12-18 18:00:23 -08:00
Dane Springmeyer
8b649f7555 fix compile error due to ambiguous 'str' variable 2012-12-18 18:00:06 -08:00
Dane Springmeyer
3f54120354 python plugin: catch and report exceptions, closes #1422 2012-12-18 17:15:36 -08:00
Sandro Santilli
c921a67fd4 Loosen simplification factor to 1/20 of pixel 2012-12-14 10:00:37 +01:00
Dane Springmeyer
93f58b1ef3 backport support for postgis literal type to 2.1.x - refs #1464 - closes #1626 2012-12-05 20:07:49 -08:00
Dane Springmeyer
4e2d2c67b0 double csv parsing speeds when handling geojson encoded geometries - refs #1436 2012-08-23 09:30:51 -07:00
Dane Springmeyer
a3254965fe double csv parsing speeds when handling wkt encoded geometries - refs #1436 2012-08-23 09:07:06 -07:00
Dane Springmeyer
b81f8f0ee8 link the python plugin to libpython by default 2012-08-22 10:39:49 -07:00
Dane Springmeyer
bfc6a08b2e csv: initialize variables to prevent gcc warnings - refs #1330 2012-08-22 09:54:27 -07:00
Dane Springmeyer
9f7e033dbc csv plugin: be more permissive when headers length > column length but more strict when the opposite is true - closes #1417 2012-08-20 14:06:07 -07:00
Dane Springmeyer
f42805a532 CSV plugin: support reading geojson encoded geometries in various flavors of quoting fun - closes #1392 2012-08-17 13:46:32 -07:00
Dane Springmeyer
aee29b27ed only build geojson plugin if >= boost 1.47 is available to avoid potential compiler errors with missing boost/geometry headers if people try to force older boost versions 2012-08-17 08:57:49 -07:00
Dane Springmeyer
cf3bbb8cf0 csv plugin: be more aggressive about detecting and ignoring blank lines 2012-08-16 18:20:48 -07:00
Dane Springmeyer
a986aedd05 remove 'info' and 'fatal' severities for logging to simplify framework - closes #1400 2012-08-16 15:52:32 -07:00
Dane Springmeyer
d902de1c08 remove unused member variables 2012-08-16 14:05:55 -07:00
Dane Springmeyer
d850ee8b76 correct various old trac links to point to github - closes #1396 2012-08-16 12:27:58 -07:00
Dane Springmeyer
107c72563f avoid some msvc compiler warnings in gdal input- refs #1103 2012-08-15 12:37:17 -07:00
artemp
5f2c2d1a37 + c++ style 2012-08-09 12:41:35 +01:00
Dane Springmeyer
cc1ddc3015 simplify linking logic in python plugin fixing os x install (where we do not want to link the plugin explicitly to python) 2012-08-06 06:32:41 -06:00
Artem Pavlenko
189322ef9f Merge pull request #1337 from rjw57/rjw57-python-plugin
Request for comments: python: a new plugin to use arbitrary Python as a data source
2012-08-06 05:09:29 -07:00
Hermann Kraus
42e31faaf5 Reindent code. 2012-08-05 15:35:43 +02:00
Hermann Kraus
e437ae7aeb Fix crash while processing empty ways in OSM data (e.g. deleted ways). 2012-08-05 15:34:22 +02:00
Rich Wareham
16ffdf1fb5 python plugin: remove useless Makefile 2012-07-31 17:07:11 +01:00
Rich Wareham
156a7590f4 python: a new plugin to use arbitrary Python as a data source
This plugin allows you to write data sources in the Python programming language.
This is useful if you want to rapidly prototype a plugin, perform some custom
manipulation on data or if you want to bind mapnik to a datasource which is most
conveniently accessed through Python.

The plugin may be used from the existing mapnik Python bindings or it can embed
the Python interpreter directly allowing it to be used from C++, XML or even
JavaScript.

Mapnik already has excellent Python bindings but they only directly support
calling *into* mapnik *from* Python. This forces mapnik and its input plugins to
be the lowest layer of the stack. The role of this plugin is to allow mapnik to
call *into* Python itself. This allows mapnik to sit as rendering middleware
between a custom Python frontend and a custom Python datasource. This increases
the utility of mapnik as a component in a larger system.

There already exists MemoryDatasource which can be used to dynamically create
geometry in Python. It suffers from the problem that it does not allow
generating only the geometry which is seen by a particular query. Similarly the
entire geometry must exist in memory before rendering can progress. By using a
custom iterator object or by using generator expressions this plugin allows
geometry to be created on demand and to be destroyed after use. This can have a
great impact on memory efficiency. Since geometry is generated on-demand as
rendering progresses there can be arbitrarily complex 'cleverness' optimising
the geometry generated for a particular query. Obvious examples of this would
be generating only geometry within the query bounding box and generating
geometry with an appropriate level of detail for the output resolution.
2012-07-31 17:05:27 +01:00
artemp
03422de504 + close polygons (SEG_CLOSE) 2012-07-26 15:51:10 +01:00
artemp
618bc1ba0f + close polygon 2012-07-26 15:20:23 +01:00
artemp
4ddddba254 + use pre-increment op 2012-07-26 11:58:48 +01:00
artemp
690b56a511 + use std::auto_ptr 2012-07-26 11:57:41 +01:00
Dane Springmeyer
4ad15db23d collect attribute descriptions in geojson plugin (TODO: sorting of attributes is returned in reverse order) 2012-07-25 16:11:51 -07:00
Dane Springmeyer
6df998cf39 fixup various plugin includes 2012-07-25 09:29:21 -07:00
Dane Springmeyer
241bf28da0 'include what you use' in plugins to set up for future forward declarations in mapnik/feature.hpp and mapnik/datasource.hpp 2012-07-24 19:21:55 -07:00
Dane Springmeyer
1b23838c58 avoid uninitialized compiler warning 2012-07-23 17:43:21 -07:00
Dane Springmeyer
5c20a9f72a suppress unused variable compiler warnings with gcc 2012-07-23 17:29:10 -07:00
Dane Springmeyer
a1d6579da2 silence a few compiler warnings 2012-07-23 17:21:29 -07:00
Dane Springmeyer
0e7414ea1d ogr plugin: no need to pass dataset pointer 2012-07-20 19:01:09 -07:00
Dane Springmeyer
669c4906d4 avoid c-linkage warning with datasources - closes #1323 2012-07-20 18:34:41 -07:00
Dane Springmeyer
e36081a5c0 change geometry_utils::from_wkb to return a bool that signifies if at least one wkb path was parsed - refs #1333 and #1305 2012-07-20 15:09:01 -07:00
Dane Springmeyer
15a624fa79 update readmes for template plugins 2012-07-10 14:54:05 -07:00
Dane Springmeyer
d3b375713b properly populate the context 2012-07-10 14:51:13 -07:00
Dane Springmeyer
86f137fd25 recompile stale targets during deploy 2012-07-10 14:50:43 -07:00
Dane Springmeyer
c227ea8b5f add sample Makefile for local dev 2012-07-10 14:46:00 -07:00
Dane Springmeyer
f79fd4634e make markdown files 2012-07-10 14:28:52 -07:00
artemp
700b5978d8 + check bounding box intersections if use_spatial_index=false (#971) 2012-07-02 18:15:18 +01:00
Dane Springmeyer
37c9142515 csv plugin: also detect fields named 'lng' as longitude 2012-06-25 10:18:09 -07:00
Dane Springmeyer
39bae3825e remove plugin usage of lexical cast - refs #1055 2012-06-22 16:49:53 -04:00
Artem Pavlenko
8d4534de78 + remove debug print 2012-06-14 15:10:32 +01:00
Artem Pavlenko
ddfe15025b + use rtree index 2012-06-14 14:41:15 +01:00
Artem Pavlenko
e89eb99e28 + geojson input plugin (thanks, @tmcw!) 2012-06-13 13:30:58 +01:00
Sandro Santilli
ceffa76bdc Provide !pixel_width! and !pixel_height! tokens (#1181) 2012-04-24 12:56:07 +02:00