Commit graph

583 commits

Author SHA1 Message Date
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
Dane Springmeyer
9284c6369d correct rendering behavior of marker-opacity, which should not, as per svg, override fill-opacity and stroke-opacity but should combine with it 2012-08-03 14:14:03 -07:00
Dane Springmeyer
a51678d307 first, not yet fully working attemp to validate pixel alpha status - refs #1369 2012-08-03 14:13:13 -07:00
Dane Springmeyer
cd73d391f7 unmask second, previously crashing svg rendering/compositing test 2012-08-03 09:43:33 -07:00
Dane Springmeyer
e62739d146 fix render_marker for grid renderer and other minor syncing - refs #1309 2012-08-02 13:10:05 -07:00
Dane Springmeyer
a22b31b0cc switch out new test image since there is no visual difference to the old one 2012-08-01 16:43:47 -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
b7aafe51bc update markers line placement tests 2012-07-31 17:53:20 -07:00
Dane Springmeyer
3867a75adf comment crashing test 2012-07-31 16:42:07 -07:00
Dane Springmeyer
4d2eb73e3b add tests for complex marker rendering functionality 2012-07-31 16:04:42 -07:00
Dane Springmeyer
6c984b4f13 add testcase for #1365 2012-07-31 16:03:51 -07:00
Dane Springmeyer
cb246a436f update the grid rendering tests with new expected results (should now be passing) 2012-07-31 13:16:41 -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
Dane Springmeyer
1a6cbfb568 fix xml comment 2012-07-30 15:54:08 -07:00
Dane Springmeyer
ce7b6a93fb Add test case for #1354 2012-07-30 14:48:32 -07:00
Hermann Kraus
5fedfc8a52 Fix problem with python tests. 2012-07-30 01:25:21 +02:00
Hermann Kraus
19ed8718a3 Fix test crashes when reference image doesn't exists.
Refs #1296 and commit 269569250c
2012-07-29 01:47:16 +02:00
Dane Springmeyer
827b015d15 add a geometry collection to csv wkt test 2012-07-25 16:57:47 -07:00
Dane Springmeyer
3da72ff8cb unmask failing test - refs #1345 2012-07-25 16:37:05 -07: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
27e9068ccf add test map for colorize-alpha comp-op 2012-07-25 15:04:07 -07:00
Dane Springmeyer
fa052c5021 amend 516f7c7 to suport filtering on collections and rename line to linestring for consistency - refs #546 2012-07-25 14:43:32 -07:00
Dane Springmeyer
b298e21f8e add test for #997- closes #997 2012-07-25 13:16:46 -07:00
Dane Springmeyer
cc8f86e873 ensure simple invalid inputs to wkb do not crash - closes #1333 2012-07-25 11:14:23 -07:00
Dane Springmeyer
e225eaae4b add c++ test for exceptions 2012-07-20 18:33:14 -07:00
Dane Springmeyer
cccb916924 cleanup wkb descriptions to be proper wkt 2012-07-20 15:25:14 -07:00
Dane Springmeyer
537ce09336 also test return value from add_wkb 2012-07-20 15:13:36 -07:00
Dane Springmeyer
b0cb5b04de more empty geometry wkb tests - refs #1305, #1333 2012-07-20 14:57:20 -07:00
Dane Springmeyer
942fa1233f add wkb test that currently crashes - refs #1305, #1132 2012-07-20 12:29:18 -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
Dane Springmeyer
587f0131a2 add tests for grid rendering with point_symbolizer 2012-07-18 17:29:22 -07:00
Dane Springmeyer
bc8d6568f5 sync line rendering between grid and agg - refs #1309 2012-07-12 19:34:39 -07:00
Dane Springmeyer
214b24ed12 finish updating marker tests - closes #1304 2012-07-12 19:21:04 -07:00
Dane Springmeyer
34aa050521 update tests to work with new svg-based grid rendering - closes #1304 2012-07-12 19:02:52 -07:00
Dane Springmeyer
0c37819989 remove duplicate grid rendering test 2012-07-12 19:01:31 -07:00
Dane Springmeyer
ad7a02695e fix test markers xml, accidentally changed in 9888ff0d50 2012-07-09 13:38:49 -07:00
Dane Springmeyer
269569250c use mapnik.Image for visual tests - closes #1296 2012-07-06 17:44:15 -07:00
Dane Springmeyer
d721cdb6b9 re-expose raster scaling in tests 2012-07-06 16:48:37 -07:00
Hermann Kraus
c805cbcfe1 Add test for ShieldSymbolizer with text placements. 2012-07-05 10:37:39 +02:00
Dane Springmeyer
7d9b4ce0da settle upon 'geometry-transform' naming - refs #1276 2012-07-03 18:34:11 -07:00
Hermann Kraus
eb682c1f4f Fix visual_tests/test.py. 2012-07-03 23:39:34 +02:00
Dane Springmeyer
9888ff0d50 remove geometry type tests for postgis that are not longer valid with postgis 2.0 2012-06-29 16:52:54 -07:00
Dane Springmeyer
67e9b0d616 move marker width/height to expressions - closes #1102 and replaces #1255 2012-06-28 19:54:25 -07:00
Hermann Kraus
d9afce16c2 Revert "Add tests for international text."
This reverts commit 0caebc52ae.
2012-06-29 01:01:58 +02:00
Dane Springmeyer
cd644ac24f Merge branch 'master' of github.com:mapnik/mapnik 2012-06-28 15:11:35 -07:00
Hermann Kraus
0caebc52ae Add tests for international text. 2012-06-28 20:49:41 +02:00
Dane Springmeyer
9e8f815b07 add a few more filter tests - all should pass cleanly 2012-06-26 18:55:58 -07:00
Dane Springmeyer
c38598e9ad allow the ogr shapefile reading test to pass with latest gdal 2012-06-26 18:25:56 -07:00
Dane Springmeyer
7b3e86b59f add test csv file 2012-06-25 14:58:38 -07:00