Commit graph

787 commits

Author SHA1 Message Date
Hermann Kraus
e5351ced6f Add missing reference images. 2012-09-14 18:05:52 +02:00
Hermann Kraus
6d9c808b6d Fix all reference to points.shp.
Add new character spacing test.
2012-09-13 23:35:42 +02:00
Dane Springmeyer
231bf3c197 add source tif for #1471 testcase 2012-09-11 19:30:19 -07:00
Dane Springmeyer
12f26614e5 add failing testcase for #1471 (expected image generated with patch from #1471 that disables premultiplication of data raster before blending) 2012-09-11 19:29:45 -07:00
Dane Springmeyer
116f025e8a fix expected reprojection output after #1473 2012-09-11 17:04:15 -07:00
Dane Springmeyer
4703e7bda4 fix query tests after #1473 2012-09-11 17:01:47 -07:00
Hermann Kraus
297bfeb454 Merge branch 'master' into harfbuzz
Conflicts:
	src/symbolizer_helpers.cpp
2012-09-08 01:26:47 +02:00
Hermann Kraus
0744362481 Fix tests broken by a513d3f97d. 2012-09-08 00:43:32 +02:00
Hermann Kraus
85e075b8ea Merge branch 'master' into harfbuzz
Conflicts:
	bindings/python/mapnik_text_placement.cpp
	include/mapnik/font_engine_freetype.hpp
	include/mapnik/map.hpp
	include/mapnik/metawriter.hpp
	include/mapnik/metawriter_inmem.hpp
	include/mapnik/metawriter_json.hpp
	include/mapnik/placement_finder.hpp
	include/mapnik/symbolizer.hpp
	include/mapnik/symbolizer_helpers.hpp
	include/mapnik/text_properties.hpp
	src/agg/process_shield_symbolizer.cpp
	src/build.py
	src/cairo_renderer.cpp
	src/feature_style_processor.cpp
	src/grid/process_shield_symbolizer.cpp
	src/metawriter.cpp
	src/metawriter_inmem.cpp
	src/placement_finder.cpp
	src/processed_text.cpp
	src/symbolizer_helpers.cpp
	tests/visual_tests/images/lines-shield-200-reference.png
	tests/visual_tests/images/lines-shield-400-reference.png
	tests/visual_tests/images/lines-shield-600-reference.png
	tests/visual_tests/images/lines-shield-800-reference.png
	tests/visual_tests/styles/formatting.xml
	tests/visual_tests/test.py
2012-09-07 19:07:31 +02:00
artemp
967d6110bf + singleton: return ref from instance() method 2012-09-07 16:23:03 +01:00
artemp
a513d3f97d + code: avoid exposing unsafe static methods in datasource_cache ( #1451)
+ 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
0e0cd08ccb ensure opacity naming fix works - closes #1470 2012-09-04 13:30:24 -07:00
Dane Springmeyer
d133db55f6 remove unused style 2012-09-04 13:21:40 -07:00
Dane Springmeyer
449aff6432 comment failing agg blending tests 2012-09-03 10:52:51 -07:00
Dane Springmeyer
f5cf5aa09d start reporting geometry type in geojson plugin 2012-09-03 10:01:01 -07:00
Dane Springmeyer
d054178a75 add grayscale conversion test - refs #1454 2012-08-31 19:12:12 -07:00
Dane Springmeyer
6450d33462 update tests images after change made to agg src_over in #1452, refs #1369 2012-08-31 18:16:49 -07:00
Dane Springmeyer
bc3c7b4b40 optimize the agg compositing test build 2012-08-31 18:15:56 -07:00
Dane Springmeyer
5e84ce0dfc agg compositing: change src_over alpha to avoid pixel artifacts by reordering computations and add basic tests comparing src_over composting to normal agg alpha blending - closes #1452 - refs #1313, #1454, #1369 2012-08-31 18:04:08 -07:00
Dane Springmeyer
affecb0f32 csv plugin: support single row data and fix warning when no data can be parsed 2012-08-31 12:07:35 -07:00
Colin Rundel
dc3763885c More parser clean up - color parser
Dropped color_factory class in favor of single color_parser function. Moved implementation to new color_factory.cpp since it is odd to have two headers (color.hpp, color_factory.hpp) and only one source file.
2012-08-29 16:41:48 -04:00
Dane Springmeyer
6aa9043352 improve upon premultiplied alpha tests in a51678d307 2012-08-28 18:53:27 -07:00
Dane Springmeyer
5120d0398d add build file for headers and svg/output code directories to hold the svg_renderer used for output - refs #1438 2012-08-27 17:58:49 -07:00
Dane Springmeyer
52c180aebc fixup json escaping test 2012-08-25 11:05:01 -07:00
Dane Springmeyer
4f4902611b only run tests if shape plugin is available 2012-08-23 14:41:45 -07:00
Dane Springmeyer
6806ca1509 load in load_map if image/svg files are not available when not using stock markers or dynamic expressions - closes #1439 2012-08-23 14:31:50 -07:00
Dane Springmeyer
f4a74d0dde add a csv_datasource initialization c++ test 2012-08-23 09:10:03 -07:00
Dane Springmeyer
769fc8948e fix test failure after c3dae01055 - refs #1399,#1282, and #1433 2012-08-22 18:17:43 -07:00
Dane Springmeyer
f431193a90 update test images 2012-08-22 14:49:10 -07:00
Dane Springmeyer
da1f12613e start a label algorithm c++ test - refs #1425 2012-08-22 13:33:24 -07:00
Dane Springmeyer
bf559f9720 add tests for symbolizer clip/transform/smooth/comp_op from python - refs #1264 2012-08-21 18:18:20 -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
dc1ab040f3 move box2d tests to standlone test 2012-08-21 16:21:28 -07:00
Dane Springmeyer
e63b19cc42 no need for test comments 2012-08-21 16:19: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
Hermann Kraus
c8eb8e5775 Switch tests from shapefile to osm.
Closes #1121.
2012-08-22 00:06:26 +02:00
Dane Springmeyer
6a0df52b1c python: add wrap_character alias to wrap_char - refs #1427 2012-08-21 14:48:10 -07:00
Dane Springmeyer
0c6030303d Add a (currently) failing test for #1420 2012-08-21 14:27:57 -07:00
Hermann Kraus
610a0906d1 Update tests. 2012-08-21 22:36:05 +02:00
Hermann Kraus
020e79f53b Add new test mode. 2012-08-21 22:36:04 +02:00
Dane Springmeyer
ac313cf907 add note about expected test failure with gdal older than 1.9 2012-08-21 11:47:15 -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
cc2c819931 remove layer test which is now standalone 2012-08-20 16:27:29 -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
Dane Springmeyer
3be516a805 Merge pull request #1416 from mirecta/transform_expr-sep
transform expressions: whitespace/comma argument separation rules
2012-08-20 14:28:54 -07:00
Dane Springmeyer
83d247a793 Merge pull request #1414 from rjw57/rjw57-remove-shapely-python-plugin-tests
Remove shapely dependency from python plugin tests
2012-08-20 14:26:45 -07:00
Dane Springmeyer
b1e9c738ee Merge pull request #1415 from rjw57/rjw57-issue-1407
Move python test maps from 'good_maps' directory
2012-08-20 14:25:13 -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
Mickey Rose
cbaf80f574 transform expressions: add parsing tests 2012-08-20 02:24:34 +02:00
Rich Wareham
b085b401db Move python test maps from 'good_maps' directory
If the CirclesDatasource class was not available from the python_plugin_tests module then the 'load_good_maps' test
would fail. The class would not be available if, for example, the python plugin had not been built or if shapely was not
available on the test system. (Pull request #1414 removes the dependency on Shapely.)

The error reporting should be tidied up for this case but for the moment, move the Python plugin's test maps into their
own directory since they're not guaranteed to be 'good maps' in all cases at the moment.

Hopefully addresses issue #1407
2012-08-18 17:38:37 +01:00
Rich Wareham
6867509da8 python plugin: remove Shapely dependency from tests
Remove the Shapely dependency by generating the output features directly in WKT format. Update the expected output image
because the circles are now generated directly as 72-sided polygons rather than by buffering a point.
2012-08-18 17:17:14 +01: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
1454e3ea97 nicer error message if python-nose is not installed 2012-08-17 09:47:47 -07:00
Hermann Kraus
a1f0af112e Support ShieldSymbolizer. 2012-08-17 18:31:55 +02:00
artemp
b24c2efddc + add geojson geometry parsing test 2012-08-17 13:07:32 +01:00
artemp
45515e2b2d + it's a TIN (triangulated irregular network) not TIM :D
+ fixup wkb parsing test
2012-08-17 12:49:55 +01:00
Dane Springmeyer
97e907d95f fix test 2012-08-16 19:29:07 -07: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
2bed3d1acf add test for reading csv from string 2012-08-16 18:18:00 -07:00
Dane Springmeyer
3cdc0de559 add testcase for #1375 2012-08-16 17:59:03 -07:00
Hermann Kraus
f72527da8b Add tests. 2012-08-17 01:56:43 +02: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
62d669907b tests: only run pycairo test if sqlite ds is available 2012-08-16 15:46:40 -07:00
Dane Springmeyer
4cd54f4e0b fix test 2012-08-16 14:05:39 -07: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
a2d6c55478 tests: assume script running "paths_relative_to_script" is in the root mapnik dir not the tests dir 2012-08-16 10:26:39 -07:00
Dane Springmeyer
636a5dadc5 Merge branch 'master' of github.com:mapnik/mapnik 2012-08-16 08:31:46 -07:00
Dane Springmeyer
af413aa959 conditionally run tests based on availability of datasources 2012-08-15 19:22:47 -07:00
Dane Springmeyer
0a5daee2a8 add agg-stack-blur example 2012-08-15 19:01:21 -07:00
Dane Springmeyer
4cf1484b53 disable colorize-alpha comp-op as per #1371 2012-08-15 14:46:58 -07: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
9e85944d93 remove unneeded import 2012-08-15 13:27:10 -07:00
artemp
aecf0531f5 + remove metawriters for the upcoming 2.1 release 2012-08-15 09:47:03 +01:00
Dane Springmeyer
f057f43dac fix grid/markers tests after a57996e661 - refs #1309 2012-08-14 17:20:19 -07:00
Dane Springmeyer
d7d088cc97 Merge branch 'master' of github.com:mapnik/mapnik 2012-08-14 09:04:06 -07:00
Dane Springmeyer
d8bb4050c5 minor grid rendering test touchups 2012-08-13 16:52:31 -07:00
Hermann Kraus
79ad6b395e Implement label-position-tolerance. 2012-08-13 02:31:08 +02:00
Hermann Kraus
2a0a52fba2 Update tests. 2012-08-12 15:30:54 +02:00
Hermann Kraus
1dba0581c2 Merge branch 'master' into harfbuzz
Conflicts:
	src/cairo_renderer.cpp
2012-08-12 12:32:35 +02:00
Dane Springmeyer
e07c04ed7b Merge branch 'master' of github.com:mapnik/mapnik 2012-08-08 10:19:25 -07:00
Dane Springmeyer
f53549ca65 add empty geom test 2012-08-08 10:19:16 -07:00
artemp
92eff33433 + update tests to use Python iterator protocol 2012-08-08 17:31:30 +01:00
artemp
d7fa56b307 Merge remote-tracking branch 'origin/master' 2012-08-07 11:39:11 +01:00
artemp
ee6ddbf2c8 + correct fill_opacity test value 2012-08-07 11:36:44 +01:00
Dane Springmeyer
3965e2e9e3 new test image after color burn fixes 2012-08-06 11:40:14 -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
Hermann Kraus
e380a20b6c Merge branch 'master' into harfbuzz
Conflicts:
	src/symbolizer_helpers.cpp
2012-08-05 16:29:09 +02: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
Hermann Kraus
ef0aae3733 Merge branch 'master' into harfbuzz
Conflicts:
	src/build.py
2012-08-03 19:27:09 +02: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
Hermann Kraus
0c90f0f22b Update all tests which return obviously correct results. 2012-08-02 01:28:19 +02:00
Hermann Kraus
c529bf7b06 Implement font sets. 2012-08-02 01:12:52 +02:00
Hermann Kraus
f2e2483109 Better text positions. 2012-08-01 23:09:47 +02: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
Hermann Kraus
5929c3c9db Add "rotate-displacement". 2012-07-31 23:05:31 +02: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
a41eafd8ee Add rotation tests. 2012-07-30 18:06:06 +02:00
Hermann Kraus
a57123f8be Add collision detector support. 2012-07-30 02:17:43 +02:00
Hermann Kraus
00ae551564 Merge branch 'master' into harfbuzz 2012-07-30 01:26:31 +02:00
Hermann Kraus
5fedfc8a52 Fix problem with python tests. 2012-07-30 01:25:21 +02:00
Hermann Kraus
2e3e76ebaa Merge branch 'master' into harfbuzz 2012-07-29 01:48:48 +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
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
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
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
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
Hermann Kraus
019a44da80 Add new tests for Khmer text.
Reference renderings: http://licadho-cambodia.org/mapnik/khmer.html
Thanks to github user "nirvn" for providing these images.
Refs #1208.
2012-07-17 22:03:25 +02: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
Hermann Kraus
beed2d08f2 Implement missing functions.
This is the first version that actually renders text. And it's working correctly!
2012-07-11 02:21:30 +02: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
Hermann Kraus
993395c510 Add test case with mixed text. 2012-07-01 23:13:54 +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