Commit graph

186 commits

Author SHA1 Message Date
Dane Springmeyer
bffabbf99d allow input plugins and fonts directories to be set by environment when auto-loaded from python - closes - refs 2012-11-26 17:44:58 -08:00
Hermann Kraus
c5e69022cd Fix wrap_before in python.
Closes .
2012-10-06 00:20:58 +02:00
Dane Springmeyer
657098fd48 fix git conflicts that snuck into the code 2012-09-14 18:35:54 -07:00
Hermann Kraus
e629cbb1c3 Raise Exception instead of returning None. 2012-09-15 02:06:08 +02:00
Hermann Kraus
1940014a48 Remove deprecation warnings. 2012-09-14 23:25:32 +02:00
Hermann Kraus
d181313e90 Add TextSymbolizer.name in python bindings.
Refs .
2012-09-14 01:56:35 +02:00
artemp
a513d3f97d + code: avoid exposing unsafe static methods in datasource_cache ( )
+ python: remove redundent 'instance' method (mapnik.DatasourceCache)
+ python: reflect plugin_directories method
+ tests: update python usage

TODO: consider using similar approach in FontEngine etc..
TODO: consider returning reference from singleton::instance() to
      safeguard from accidental deleting a 'singleton' pointer
2012-09-05 12:53:37 +01:00
Dane Springmeyer
6a0df52b1c python: add wrap_character alias to wrap_char - refs 2012-08-21 14:48:10 -07:00
Rich Wareham
0301294c84 python bindings: add wkt_features helper to PythonDatasource
The Python plugin datasource helper class already contained a helper for generating WKB features. This patch adds an
almost identical helper for WKT features. This is to facility Python data source who generate their features directly
using the text formatting support in Python.
2012-08-18 17:15:38 +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
Dane Springmeyer
5b873beafb add support for dynamically inheriting an optional settings file in python 2012-06-25 15:37:49 -07:00
Dane Springmeyer
f374d01896 only mark deprecated api names for removal at major versions to ensure we are semver compatible - thanks @migurski - closes 2012-06-06 17:32:16 -07:00
Hermann Kraus
707052c06b Add python backwards compatibility for TextSymbolizer.
Closes .
2012-05-23 15:52:43 +02:00
Dane Springmeyer
2abe02bd96 make available MAPNIK_VERSION_STRING in c++ header (not just in python) and add MAPNIK_VERSION_IS_RELEASE define that indicates if the code is released 2012-03-14 18:30:32 -07:00
Dane Springmeyer
74452f8ed7 remove explicit exports in python using __all__ - way more trouble than it is worth 2012-03-14 15:35:16 -07:00
Dane Springmeyer
9cbef60595 pep8 formatting 2012-03-13 08:22:34 -07:00
Dane Springmeyer
3add1f984c add Geos plugin to exported module scope 2012-03-08 08:40:12 -08:00
Hermann Kraus
6fe0637425 Complete support for formatting types. 2012-02-19 02:03:25 +01:00
Hermann Kraus
be0f110a76 Fix spelling error. 2012-02-12 23:00:38 +01:00
Hermann Kraus
c94d32b41b Add bindings for formating::list_node. 2012-02-11 11:21:33 +01:00
Hermann Kraus
37b2054041 Copy constructor for CharProperties. 2012-02-05 15:11:08 +01:00
Hermann Kraus
099ec85da6 Implement add_expression and helper classes.
Update test.
2012-02-05 04:09:09 +01:00
Hermann Kraus
263f5708f3 More processed_text bindings. 2012-02-05 01:47:49 +01:00
Hermann Kraus
2f144d6ccb Python bindings for formating::text_node. 2012-02-04 04:32:32 +01:00
Hermann Kraus
593c8a4838 Correctly register objects. 2012-02-03 23:24:32 +01:00
Artem Pavlenko
d1f16bb227 merge textplacement-merge into feature_impl 2012-01-26 13:04:08 +00:00
Dane Springmeyer
803a705774 add a method to get simple dictionary of feature attributes, remove old/deprecated feature access 2012-01-24 00:27:27 -08:00
Dane Springmeyer
820b9a2b25 merge master with feature_impl 2012-01-17 17:47:27 -05:00
Dane Springmeyer
136239f88b remove mapnik::point_datasource from c++ and mapnik.PointDatasource from python bindings 2012-01-17 09:58:45 -05:00
Artem Pavlenko
8de670ecb9 + add mapnik.Context
+ implement __setitem__
+ fix mapnik.Feature ctor - now requires Context obj
2012-01-13 12:03:26 +00:00
Dane Springmeyer
2a137908c3 cleanup python datasource api simplifying access to descriptors 2012-01-11 20:03:47 -08:00
Dane Springmeyer
b820cf7807 Merge branch 'geometry_cleanup' 2011-12-22 12:42:05 -08:00
Dane Springmeyer
89a09208e8 finish geometry cleanup work by ensuring proper behavior in the ogr plugin with multigeometries 2011-12-21 12:22:05 -08:00
Dane Springmeyer
bbeeaada4d python: reflect fontsets to enable fuller test of map.deepcopy - closes 2011-12-20 12:34:27 -08:00
Dane Springmeyer
6aefbd0d99 update tests as per 2011-12-16 07:22:52 -08:00
Dane Springmeyer
61453b3842 removed unused file remaining from old automake system 2011-12-13 17:51:40 -08:00
Dane Springmeyer
1190f3003d remove svn revision reporting as it is not longer relevant to git versioned mapnik 2011-12-06 16:52:50 -08:00
Dane Springmeyer
ccca5afa89 OGCServer now lives at https://github.com/mapnik/OGCServer, remove from python bindings 2011-11-23 20:27:54 -08:00
Artem Pavlenko
b689670ffd switch back from mapnik2 to mapnik
add mapnik2 module which redirects to mapnik and issues DeprecationWarning
2011-11-23 11:33:58 +00:00
Robert Coup
1dcea7e310 Merge remote branch 'origin/master' 2011-10-31 10:53:35 +13:00
Robert Coup
0e390eacfe [fixes ] Python2.5 compatibility. 2011-10-31 10:53:17 +13:00
kunitoki
088561bd5e - implemented sql query in OGR plugin (closes ) 2011-10-24 11:53:33 +02:00
Matt Amos
517fc59f77 Added Python test for multi-tile raster policy. 2011-10-18 14:34:58 +01:00
Dane Springmeyer
7432e1e55a removing my name from copyright as the intention/convention is for copyright to be help by project founder artem: contributions do not necessitate copyright - TODO: document this on community wiki 2011-10-11 17:52:15 -07:00
Dane Springmeyer
da5f283c9e support mixed case file extentions when loading fonts via python wrapper function 2011-09-15 20:11:30 +00:00
Artem Pavlenko
703240cf40 + update to reflect interface changes 2011-09-13 13:23:30 +00:00
Artem Pavlenko
6575e34973 + add initial support for new WKT path/geometry parser concept 2011-09-08 11:52:59 +00:00
Dane Springmeyer
90acfb3e1c +reflect mapnik.Palette in python 2011-08-31 02:28:38 +00:00
Dane Springmeyer
a6a8e8348a return string repr of types rather than dodgy type conversion in python 2011-07-12 00:58:02 +00:00
Dane Springmeyer
e84119aed9 directly link libmapnik in plugins (not just darwin) - patch from Stella L. - closes 2011-07-05 23:41:17 +00:00