Commit graph

898 commits

Author SHA1 Message Date
Konstantin Käfer
f5ed45ff80 Merge branch 'master' of git://github.com/mapnik/mapnik into conv_simplify 2012-08-25 15:02:12 +02:00
Panagiotis Skintzos
e34dc99f3a Exposed the label collision detector outside of Cairo renderer and added Python bindings (issue #1107) 2012-08-25 11:43:31 +02:00
Konstantin Käfer
13c46b6cc6 Merge branch 'master' into conv_simplify
Conflicts:
	bindings/python/mapnik_line_symbolizer.cpp
	bindings/python/mapnik_polygon_symbolizer.cpp
2012-08-24 23:29:43 +02:00
Konstantin Käfer
4e1423cefe Merge branch 'master' of git://github.com/mapnik/mapnik into conv_simplify
Conflicts:
	src/cairo_renderer.cpp
2012-08-24 23:24:31 +02:00
Dane Springmeyer
d9fa1cb0c2 remove old $ cruft 2012-08-24 13:49:28 -07:00
Dane Springmeyer
c0539406d8 fix includes post bf3efbeab8 - refs #1435 2012-08-23 11:34:13 -07:00
Dane Springmeyer
ce03b3599b expose svg output for geometries - refs #1437 (TODO: support svg_multi_generator) 2012-08-22 19:13:37 -07:00
Dane Springmeyer
501d322c96 +reflect comp_op, smooth, and clip in python bindings for all relevant symbolizers - closes #1264 2012-08-21 18:05:43 -07:00
Dane Springmeyer
e8101a070a partially repair backward compatibility in python for 'marker-type' - refs #1427 and #1285 2012-08-21 16:36:15 -07:00
Dane Springmeyer
ab5ce64b16 python: add properties to mapnik.Stroke to match xml/svg spec - refs #1427 2012-08-21 15:59:31 -07:00
Dane Springmeyer
6a0df52b1c python: add wrap_character alias to wrap_char - refs #1427 2012-08-21 14:48:10 -07:00
Dane Springmeyer
d069ce7405 apply patch from @lightmare for fixing return of text_transform - closes #1420 2012-08-21 14:37:35 -07:00
Dane Springmeyer
0dec6c69ca +reflect miterlimit in python 2012-08-20 19:19:21 -07:00
Dane Springmeyer
72f967924e +reflect new opacity propert of polygon_pattern_symbolizer in python 2012-08-20 18:52:07 -07:00
Dane Springmeyer
6ca9196c98 remove unused header 2012-08-20 18:22:46 -07:00
Dane Springmeyer
3e4d579a5e +reflect background_image in python and add background_color to match XML 2012-08-20 18:18:36 -07:00
Dane Springmeyer
b76c8e5c64 +reflect building symbolizer in python 2012-08-20 18:17:00 -07:00
Dane Springmeyer
9273f861bc reflect all new style properties in python - refs #1264 2012-08-20 17:17:37 -07:00
Dane Springmeyer
8c8cf71d52 python: add 'status' property to match XML - refs #1418 2012-08-20 17:16:47 -07:00
Dane Springmeyer
55646ce236 fix group_by on layer to be std::string const& and reflect in python 2012-08-20 16:26:41 -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
artemp
f24641e802 + add envelope() method to mapnik.Path 2012-08-17 16:53:43 +01:00
artemp
258ea94d8d + add_geojson and from_geojson methods
+ add_wkb,from_wkb throw RuntimeError
+ cleanups
2012-08-17 12:48:41 +01:00
Dane Springmeyer
ad2250a4b5 back compatibility for raster-mode values using _ and shield-no-text 2012-08-16 19:20:29 -07:00
Dane Springmeyer
62e039d2c9 double grid encoding performance in python - closes #1315 2012-08-16 18:39:11 -07:00
Dane Springmeyer
58d848ae8e c++ style 2012-08-16 18:25:06 -07:00
Dane Springmeyer
25a1643d54 partial revert of e6e32fc and general cleanup to match node-mapnik grid api - refs #1325 and 1315 2012-08-16 17:51:36 -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
Konstantin Käfer
b243f03c90 use a set to make visvalingam a lot faster 2012-08-16 22:26:58 +02:00
Dane Springmeyer
a3e27ed726 Merge branch 'master' of github.com:mapnik/mapnik 2012-08-16 12:29:27 -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
ecb72d6cbc scons: don't run parseconfig if uninstalling 2012-08-16 10:00:05 -07:00
Konstantin Käfer
22150f908f add facilities to choose the simplification algorithm 2012-08-16 16:53:38 +02:00
artemp
8bba93d299 + don't pass std::string arg by value - use const& 2012-08-16 12:05:31 +01:00
artemp
e6e32fcb39 + applied patch from @lightmare - #1325 2012-08-16 11:00:07 +01:00
Dane Springmeyer
91b15c4cdf remove python pickling for map/style/rule/symbolizers/fontset/query - refs #1391 2012-08-15 13:55:36 -07:00
Dane Springmeyer
b8a0587c29 disable deepcopy in python bindings until this is more solid - refs #1390 2012-08-15 13:27:44 -07:00
Dane Springmeyer
6f5d6f65b1 include what you use 2012-08-15 10:24:56 -07:00
artemp
aecf0531f5 + remove metawriters for the upcoming 2.1 release 2012-08-15 09:47:03 +01:00
Dane Springmeyer
3d048c5f72 add ticket reference for workaround added in 60d843a7a8 2012-08-14 12:19:56 -07:00
Konstantin Käfer
dcd7a07c8e simplify-tolerance property boilerplate 2012-08-14 17:04:57 +02:00
Dane Springmeyer
339fd59293 +reflect line_symbolizer offset 2012-08-13 14:06:11 -07:00
Hermann Kraus
1dba0581c2 Merge branch 'master' into harfbuzz
Conflicts:
	src/cairo_renderer.cpp
2012-08-12 12:32:35 +02:00
artemp
7847af51e7 + fix __iter__ protocol 2012-08-08 16:15:54 +01:00
artemp
abd40edfd9 + add std::runtime_error to python translator 2012-08-08 12:11:30 +01:00
artemp
c2dca42a4f + use Py_RETURN_NONE
+ cleanup/simplify
2012-08-07 17:01:03 +01:00
artemp
7cfdfde247 + call Py_RETURN_NONE macro to properly handle returning Py_None
(http://docs.python.org/c-api/none.html) - thanks, @lightmare!
2012-08-07 15:43:40 +01:00
artemp
9da9ffadc1 + don't crash on empty paths 2012-08-07 14:47:28 +01:00
artemp
60d843a7a8 + temp fix : provide get_fill_opacity_impl to avoid
"No to_python (by-value) converter found for C++ type: float"
2012-08-07 11:37:24 +01: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
3529ecf336 Update python bindings to work with 5e259bf064. 2012-08-04 19:51:39 +02:00
Hermann Kraus
ef0aae3733 Merge branch 'master' into harfbuzz
Conflicts:
	src/build.py
2012-08-03 19:27:09 +02:00
artemp
5541ea0271 + layer : minimum-extent and buffer-size
+ agg::process_xxx : remove ad-hoc query_extent modifiers
+ ctrans : simplify vertex skipping
2012-08-01 15:44:36 +01:00
Dane Springmeyer
a9f99848c2 expose boost::optional<mapnik::stroke> for markers_symbolizer (which works as oopposed to boost::optional<double> and boost::optional<float> which are broken 2012-07-31 18:40:53 -07:00
Dane Springmeyer
f60f40c939 Merge pull request #1157 from mapnik/stroke-as-reference
make stroke property on line_symbolizer a reference when accessed from python (not a copy)
2012-07-31 18:20:55 -07:00
Dane Springmeyer
16084ff335 support both interior placement and point for markers - helps prepare for #952 2012-07-31 18:13:50 -07: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
0d97b851fa markers: support opacity on bitmaps, and move to supporting both opacity and fill-opacity 2012-07-30 18:31:21 -07:00
Hermann Kraus
9cdb9a7bf3 Fix build errors introduced by 4e3e5cb0b0. 2012-07-29 01:31:10 +02:00
Hermann Kraus
4e3e5cb0b0 Merge branch 'master' into harfbuzz
Conflicts:
	bindings/python/mapnik_shield_symbolizer.cpp
	include/mapnik/agg_renderer.hpp
	include/mapnik/cairo_renderer.hpp
	src/build.py
2012-07-28 20:59:42 +02:00
Hermann Kraus
a953d535ad Use pixel_position consistently everywhere. 2012-07-28 16:34:44 +02:00
Dane Springmeyer
1476280189 include what you use 2012-07-24 19:08:15 -07:00
Dane Springmeyer
6c7ab1767b include what you use 2012-07-24 18:35:18 -07:00
Hermann Kraus
08cbf1c71c Fix deprecation warnings. Part 2
Closes #1340.
2012-07-25 01:15:44 +02:00
Dane Springmeyer
e13e81c4d5 move grid utility functions to cpp file - avoids function 'defined but not used' compiler warnings - refs #1330 2012-07-23 11:43:24 -07:00
Hermann Kraus
b53849d441 Merge branch 'master' into harfbuzz
Conflicts:
	include/mapnik/font_engine_freetype.hpp
	include/mapnik/symbolizer_helpers.hpp
	src/agg/process_shield_symbolizer.cpp
	src/agg/process_text_symbolizer.cpp
	src/cairo_renderer.cpp
	src/font_engine_freetype.cpp
	src/formatting/list.cpp
	src/grid/process_shield_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	src/symbolizer_helpers.cpp
	tests/visual_tests/styles/harfbuzz.xml
2012-07-21 20:19:22 +02: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
Rich Wareham
7b3baee3a1 python bindings: export Query.resolution property as a tuple
Although the mapnik::query class is exposed to the Python bindings, the
resolution attribute is a raw boost::tuple. If you attempt to access
this tuple from Python, boost complains strongly.

This patch adds the required magic to marshal the raw boost::tuple which
is query::resolution_type into an honest-to-goodness Python tuple.
2012-07-19 19:35:20 +01:00
artemp
d3bc55761b + define keys container in client code not in grid/grid_view,
e.g doesn't have to be std::map<...>
2012-07-12 10:57:57 +01:00
Dane Springmeyer
3e895ac6b7 implement built in support for ellipse and arrow markers, make markers_symbolizer default to POINT placement and ellipse drawing, add back compatibility for deprecated marker-type property - refs #1285 and #1304 2012-07-10 22:38:53 -07:00
Dane Springmeyer
5aff56a192 expose ability to clear global caches in python - closes #1022 2012-07-10 09:36:08 -07:00
Hermann Kraus
17efe0601b Make sure everything compiles again after font engine changes. 2012-07-08 17:19:55 +02:00
Dane Springmeyer
cde0c0217d add missing file 2012-07-06 18:39:59 -07:00
Dane Springmeyer
269569250c use mapnik.Image for visual tests - closes #1296 2012-07-06 17:44:15 -07:00
Dane Springmeyer
3823890b40 rollback 34c3128b0c, move 'scaling' to proper enum, and move image_scaling functions to new cpp/hpp 2012-07-06 16:45:58 -07:00
Dane Springmeyer
9dd69d091b merge with master 2012-07-05 15:40:16 -07:00
Dane Springmeyer
d8c719f05e finish exposing scale_factor to cairo_renderer 2012-07-05 14:54:58 -07:00
Dane Springmeyer
44769def3c Merge branch 'master' of github.com:mapnik/mapnik 2012-07-05 11:55:05 -07:00
Dane Springmeyer
906de8e317 simplify boost_python library configure checks 2012-07-05 11:54:43 -07:00
artemp
ebf1ef6bcf + update python bindings for markers_symbolizer 2012-07-05 17:13:21 +01:00
artemp
9b14a7206a remove arrow/ellipse ad-hoc markers - see #1285 2012-07-04 14:50:11 +01:00
Hermann Kraus
aecd6820c2 Use char_properties_ptr everywhere. 2012-07-02 00:10:55 +02:00
Hermann Kraus
e537b0e8dd Remove old code. 2012-07-01 02:47:39 +02:00
Hermann Kraus
63e8b6d6db Some changes to make testing easier. 2012-06-30 10:04:18 +02:00
Hermann Kraus
62ccc7d313 Send processed text directly to text_layout. 2012-06-29 00:48:04 +02:00
Dane Springmeyer
d9880efd6e avoid compiler warning on unsigned/signed comparison 2012-06-26 11:23:26 -07:00
Dane Springmeyer
5b873beafb add support for dynamically inheriting an optional settings file in python 2012-06-25 15:37:49 -07:00
Artem Pavlenko
2e9f3ad245 python bindings : expose largest_bbox_only property 2012-06-25 15:09:40 +01:00
Dane Springmeyer
5b61c093e5 initialize grid buffers to std::numeric_limits<int>::min() and use that value to mean no-hit or non-interactive pixels - closes #1065 2012-06-23 22:41:07 -04:00
Dane Springmeyer
631b3637dc avoid compiler warning 2012-06-23 22:10:12 -04:00
Dane Springmeyer
eb4740b50f fix behavior of compositing via python api now that we have premultiplication issues sorted out in core - refs #1262 and #314 and #1211 2012-06-21 15:44:57 -04:00
Artem Pavlenko
c5864453a0 + only premultiply src 2012-06-18 18:50:32 -04:00
Dane Springmeyer
eb8f27bee7 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-07 13:17:44 -05:00
Mickey Rose
1e3c48afb1 split parse_transform.hpp, set dynamic transform expression from python 2012-06-07 17:06:45 +02:00
Dane Springmeyer
51d3310012 grid encoding: reuse key string 2012-06-07 07:27:42 -07:00
Artem Pavlenko
11c34b1599 Merge branch 'transform_expr' of https://github.com/mirecta/mapnik 2012-06-07 10:20:05 +01:00
Dane Springmeyer
f374d01896 only mark deprecated api names for removal at major versions to ensure we are semver compatible - thanks @migurski - closes #1129 2012-06-06 17:32:16 -07:00
Dane Springmeyer
c29c18e8df expose a get_pixel method on mapnik::grid (for testing purposes) 2012-06-06 16:34:45 -07:00
Mickey Rose
bd9609c370 new feature: transform expressions are now dynamic
(cherry picked from commit 173c402b5c142310087246b0ea54dbec54edcac8)

Conflicts:

	include/mapnik/vertex_converters.hpp
	src/agg/process_markers_symbolizer.cpp
	src/agg/process_point_symbolizer.cpp
	src/agg/process_polygon_pattern_symbolizer.cpp
	src/load_map.cpp
2012-06-06 17:34:26 +02:00
Dane Springmeyer
11e81fdb03 finish exposing markers symbolizer in python - closes #612 2012-06-04 13:42:51 -07:00