Commit graph

162 commits

Author SHA1 Message Date
Dane Springmeyer
4cf1484b53 disable colorize-alpha comp-op as per #1371 2012-08-15 14:46:58 -07: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
Dane Springmeyer
b7aafe51bc update markers line placement tests 2012-07-31 17:53:20 -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
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
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
27e9068ccf add test map for colorize-alpha comp-op 2012-07-25 15:04:07 -07:00
Dane Springmeyer
b298e21f8e add test for #997- closes #997 2012-07-25 13:16:46 -07:00
Dane Springmeyer
ad7a02695e fix test markers xml, accidentally changed in 9888ff0d50 2012-07-09 13:38:49 -07:00
Dane Springmeyer
7d9b4ce0da settle upon 'geometry-transform' naming - refs #1276 2012-07-03 18:34:11 -07: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
7b3e86b59f add test csv file 2012-06-25 14:58:38 -07:00
Carl Simonson
cd7ad3e15e Catch and throw PNG exceptions - fixes #1213
The png library uses setjmp/longjmp to throw exceptions when reading. If this
is not set up, the png library calls abort(). This change handles the errors
and throws a C++ exception instead.

This issue was found by testing images from pngsuite at
http://www.schaik.com/pngsuite/. These images are included and a unit test was
added to test both images that should be successful and images that should
throw an exception.
2012-06-06 17:52:41 -05:00
Dane Springmeyer
43d6de7fa6 add partial test files for second case of #997 2012-05-24 16:57:17 -07:00
Dane Springmeyer
e1fa732f90 add test for alpha blending during bilinear scaling - refs #997 2012-05-24 16:39:24 -07:00
Dane Springmeyer
bd7b07d3f9 add missing test files 2012-04-04 14:37:27 -07:00
Dane Springmeyer
46b16c917e support nodata for paletted images and allow user to set nodata on-the-fly - closes #1160 and #1161 - refs #688 and refs #730 and refs #50 and refs #1018 2012-04-03 16:06:36 -07:00
Dane Springmeyer
9d1afbbfc6 Merge branch 'master' of https://github.com/mapnik/mapnik 2012-03-27 18:56:52 -04:00
Dane Springmeyer
dbd4258079 more markers_symbolizer test maps 2012-03-27 18:54:59 -04:00
Dane Springmeyer
ea5a46f230 remove the storage and serialization of 'font-directory' and 'minimum-version' since there is no strong need to have them accessible after initial parsing 2012-03-23 18:14:14 -07:00
Dane Springmeyer
3b498efbd9 fixup font registration code ensuring invalid fonts will warn but not throw and register_fonts will only return success if > one font is registered and none have failed 2012-03-23 15:07:28 -07:00
Ramunas
1ac4c0ca53 remove notices due to inkscape metadata 2012-02-18 10:45:58 +02:00
Hermann Kraus
212171b9ee Add visual test for ShieldSymbolizer. 2012-02-18 01:17:29 +01:00
Hermann Kraus
822786e41c Remove no-text attribute. One can simply leave the text empty if one wants this. 2012-01-29 13:10:14 +01:00
Hermann Kraus
51d8718701 Move tests to new location. 2012-01-25 23:31:07 +01:00
Hermann Kraus
cd5c1c6ab4 Add reference image for formating test. 2012-01-25 23:26:39 +01:00
Hermann Kraus
26c13d4df4 Add tests for text formating. 2012-01-25 18:46:27 +01:00
Hermann Kraus
047cda5d1b Fix some tests. 2012-01-20 00:45:15 +01:00
Hermann Kraus
a1c80d1a4c Add full set of tests for text placement. 2012-01-20 00:18:37 +01:00
Hermann Kraus
537231f60e Remove glyph symbolizer. 2012-01-19 20:34:09 +01:00
Dane Springmeyer
63891cec15 finish refactor, moving to separate method off datasources to get_geometry_type and using enums all around 2012-01-17 01:09:46 -05:00
Hermann Kraus
cbcb545b65 Fix the problem reported in #1003 (NE, NW, SE not working for text-placement=simple).
Add test cases for this problem.

Conflicts:

	src/text_placements.cpp
	tests/data/placement/clean.sh
	tests/data/placement/test.py
2012-01-09 23:30:22 +01:00
Dane Springmeyer
e72330e38c fixup fontset tests 2011-12-22 12:48:11 -08:00
Dane Springmeyer
323c36db61 Merge branch 'geometry_cleanup' 2011-12-22 12:42:05 -08:00
Dane Springmeyer
7b7fc5eb94 add test comparing geometry handling between ogr and shape plugin - currently fails 2011-12-21 12:26:03 -08:00
Dane Springmeyer
c551626916 finish geometry cleanup work by ensuring proper behavior in the ogr plugin with multigeometries 2011-12-21 12:22:05 -08:00
Dane Springmeyer
2d59f401b5 tests for fontsets 2011-12-20 12:46:20 -08:00
Dane Springmeyer
90b5cf69cc update tests as per #992 2011-12-16 07:22:52 -08:00
Dane Springmeyer
754581f278 tests: no need to test sqlite through ogr anymore - native impl is robust and has its own tests now 2011-12-13 13:52:11 -08:00
Dane Springmeyer
d0cbb77864 add readme to svg test dir 2011-12-12 16:02:12 -08:00
Dane Springmeyer
077eb4c865 add new csv test 2011-12-12 16:00:53 -08:00
Dane Springmeyer
9e924bfa11 add ability to have typed arbitrary parameters in xml - refs #977 2011-12-05 14:46:38 -08:00
Dane Springmeyer
1d408aa485 fixup tests around parameters usage 2011-12-02 18:00:20 -08:00
Dane Springmeyer
bc06b31746 test reading from an empty sqlite db 2011-11-09 17:19:05 -08:00
Dane Springmeyer
6b7635119c Merge branch 'master' into sqlite-refactor 2011-11-04 20:44:15 -07:00