Commit graph

398 commits

Author SHA1 Message Date
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
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
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
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
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
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
d721cdb6b9 re-expose raster scaling in tests 2012-07-06 16:48:37 -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
67e9b0d616 move marker width/height to expressions - closes #1102 and replaces #1255 2012-06-28 19:54:25 -07: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
37c9142515 csv plugin: also detect fields named 'lng' as longitude 2012-06-25 10:18:09 -07: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
63bd634536 set encoding for test file 2012-06-22 10:15:10 -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
Mickey Rose
2a7634693f add python test: set ShieldSymbolizer's transform 2012-06-07 17:12:38 +02:00
Artem Pavlenko
03e6f9d023 Merge pull request #1245 from simonsonc/png-exceptions
Catch and throw PNG exceptions - fixes #1213
2012-06-07 04:00:40 -07:00
Dane Springmeyer
957c40f763 move to int32 for grid rendering buffer - closes #1196 2012-06-06 16:36: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
11e81fdb03 finish exposing markers symbolizer in python - closes #612 2012-06-04 13:42:51 -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
a567c02306 Revert "update test images used for validating compositing"
This reverts commit ac2d935c28.
2012-05-24 11:05:17 -07:00
Dane Springmeyer
975242e597 disable non-critical failing test on ubuntu 2012-05-23 15:40:25 -07:00
Dane Springmeyer
3178b96d67 overwrite the tiff test images again 2012-05-14 14:13:32 -07:00
Dane Springmeyer
ac2d935c28 update test images used for validating compositing 2012-05-11 15:42:50 -07:00
Dane Springmeyer
3531cb6fff update expected images from test output since minor differences occur from new compositing 2012-05-11 07:28:23 -07:00
Dane Springmeyer
61d3cf635a Merge pull request #1172 from caffeinate/master
MarkersSymbolizer - stroke/fill python bindings
2012-04-19 12:15:43 -07:00
Dane Springmeyer
f977134afd touch sqlite tests further 2012-04-18 16:06:18 -07:00
Dane Springmeyer
f8e6b4f27d test round tripping a feature and wkb geometry through sqlite 2012-04-18 12:49:49 -07:00
Dane Springmeyer
5767c65470 improve the map.query_point/query_map_point implementation, now throwing for invalid coords or projection transformations 2012-04-13 11:28:30 -07:00
Si Parker
003c5a72ab added MarkersSymbolizer python bindings for fill and stroke 2012-04-11 10:41:15 +01:00
kunitoki
1f351e0e09 implement new debug system 2012-04-08 02:20:56 +02:00
Dane Springmeyer
b7f714f7ec postgis: primary key autodetection will now only happen if 'autodetect_key_field' is set to true - maintains current behavior - refs #804 2012-04-05 11:05:14 -07:00
Dane Springmeyer
4dbadaa7cd ensure proper reprojection of unbuffered bbox used for geometry clipping - closes #1138 2012-04-04 12:43:32 -07:00
Dane Springmeyer
d29ae14104 make it possible to set the map.maximum_extent back to None/uninitialized from python 2012-04-04 12:07:15 -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
a7e150a593 tests: add simple tests for postgis 'bbox' token replacement 2012-04-02 19:29:06 -07:00
Dane Springmeyer
d9cb76f7a1 postgis: support mixed case table names - closes #1159 2012-04-02 19:21:14 -07:00
Dane Springmeyer
10848f9d04 postgis: warn in the unlikely case of a numeric primary key 2012-04-02 18:13:27 -07:00
Dane Springmeyer
763e84a6e9 postgis: add support for auto-detection of primary key field - closes #804 - refs #753 2012-04-02 16:20:41 -07:00
Dane Springmeyer
2e76ff1958 make stroke property on line_symbolizer a reference when accessed from python (not a copy) 2012-04-02 11:57:24 -07:00
Dane Springmeyer
9d1afbbfc6 Merge branch 'master' of https://github.com/mapnik/mapnik 2012-03-27 18:56:52 -04:00
Dane Springmeyer
67f6d0f672 fixup pycairo rendering test 2012-03-27 18:55:33 -04:00
Dane Springmeyer
3f26c439c9 fix marker width/height to mean pixels - which it should have all along - closes #1134 2012-03-23 20:28:12 -07:00
Dane Springmeyer
46fdc570c2 cpp tests for mapnik parameters and mapnik:boolean -refs #1141 2012-03-23 20:04:42 -07: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
13189e0a55 tests for compositing operations 2012-03-23 17:36:37 -07:00
Dane Springmeyer
e9940c6add update osm test now that extent is not hardcoded 2012-03-22 16:44:27 -07:00
Hermann Kraus
a84fcdb133 Update tests.
Refs #1125.
2012-03-19 17:40:51 +01:00
Dane Springmeyer
015f666e9e tests: remove ancient CssParameter holdovers 2012-03-13 07:42:33 -07:00
Dane Springmeyer
803447a8d8 disable non-critical failing test after reverting shapefile polygon handling - refs #1093 2012-02-28 20:18:47 -08:00
Dane Springmeyer
3839dd363f more pep8 for tests 2012-02-24 13:15:48 -08:00
Dane Springmeyer
0a37a1591e fixup whitespace with pep8 tricks from https://gist.github.com/1903033 2012-02-24 13:13:56 -08:00
Hermann Kraus
d203d56d34 Update tests. 2012-02-21 10:21:40 +01:00
Dane Springmeyer
7327a646f0 fix memory datasource test 2012-02-14 15:01:41 -08:00
Dane Springmeyer
da845cfaa3 update feature expression test to new feature attr api that will throw if attr is not found 2012-02-14 14:57:36 -08:00
Dane Springmeyer
16828ec161 use row/col instead of x/y for clearer grid resolution function 2012-02-07 13:44:08 -08:00
Dane Springmeyer
b3819633bd fix point WKT format 2012-02-01 17:03:31 -08:00
Dane Springmeyer
915addc51d update grid rendering interface to new feature impl 2012-02-01 10:43:23 -08:00
Artem Pavlenko
b90de4874c Merge branch 'textplacement-merge' into feature-text-merge
Conflicts:
	docs/textrendering.gv
	include/mapnik/building_symbolizer.hpp
	include/mapnik/placement_finder.hpp
	include/mapnik/symbolizer_helpers.hpp
	include/mapnik/text_placements.hpp
	include/mapnik/text_placements_list.hpp
	include/mapnik/text_placements_simple.hpp
	include/mapnik/text_processing.hpp
	plugins/input/shape/shape_utils.hpp
	src/agg/process_shield_symbolizer.cpp
	src/agg/process_text_symbolizer.cpp
	src/cairo_renderer.cpp
	src/grid/process_shield_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	src/load_map.cpp
	src/placement_finder.cpp
	src/shield_symbolizer.cpp
	src/text_placements.cpp
	src/text_processing.cpp
	src/text_symbolizer.cpp
	tests/visual_tests/clean.sh
	tests/visual_tests/test.py

Merge herm/textplacement-merge
2012-01-31 11:09:55 +00:00
Hermann Kraus
2d50c840fe Update tests. 2012-01-28 19:37:13 +01:00
Artem Pavlenko
d1f16bb227 merge textplacement-merge into feature_impl 2012-01-26 13:04:08 +00:00
Dane Springmeyer
4cb9aa44b5 update tests to python api for features 2012-01-24 15:16:40 -08:00
Dane Springmeyer
e542e90fcf get most of the tests passing 2012-01-24 00:27:44 -08:00
Hermann Kraus
047cda5d1b Fix some tests. 2012-01-20 00:45:15 +01:00
Hermann Kraus
537231f60e Remove glyph symbolizer. 2012-01-19 20:34:09 +01:00
Artem Pavlenko
e699ba17cb Merge branch 'master' into feature_impl 2012-01-18 07:48:57 -05:00
Dane Springmeyer
425f20fb68 ogr plugin: for geometry type inspection support older gdal/ogr versions - fixes compile on ubuntu oneiric 2012-01-17 18:43:01 -05:00
Dane Springmeyer
fb80de8dfe ogr plugin: for geometry type inspection support older gdal/ogr versions - fixes compile on ubuntu oneiric 2012-01-17 18:43:01 -05:00
Dane Springmeyer
820b9a2b25 merge master with feature_impl 2012-01-17 17:47:27 -05: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
Dane Springmeyer
b0d0d06564 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
Dane Springmeyer
acc0d6e302 cleanup python datasource api simplifying access to descriptors 2012-01-11 20:03:47 -08:00
Dane Springmeyer
2a137908c3 cleanup python datasource api simplifying access to descriptors 2012-01-11 20:03:47 -08:00
Dane Springmeyer
f83b0edbe5 make failing osm plugin test a todo 2012-01-05 18:49:41 -08:00
Dane Springmeyer
e649bb42cf make failing osm plugin test a todo 2012-01-05 18:49:41 -08:00
Dane Springmeyer
b7c69a8462 test cleanup 2012-01-05 18:48:20 -08:00
Dane Springmeyer
80d18dedc3 test cleanup 2012-01-05 18:48:20 -08:00
Dane Springmeyer
fa93ad7de5 more wkb/wkt tests 2012-01-05 18:26:01 -08:00
Dane Springmeyer
8ce9da421f more wkb/wkt tests 2012-01-05 18:26:01 -08:00
Dane Springmeyer
70bb3805e2 test wkb collection output to match wkt output 2012-01-05 17:30:21 -08:00