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
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
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
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
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
Mickey Rose
09b05b48b0
fix/prevent to_expression_string misuse #985
2012-05-29 22:53:39 +02:00
Dane Springmeyer
6fd92dcc3e
do not premultiply the image mask being composited to the target buffer - fixes #1211
2012-05-24 13:41:00 -07:00
Artem Pavlenko
1077b79a63
Revert "initialise blur radius's to 1 for real this time"
...
This reverts commit f76c6ee25f
.
2012-05-24 11:37:24 +01:00
Artem Pavlenko
f76c6ee25f
initialise blur radius's to 1 for real this time
2012-05-23 20:38:42 +01:00
Hermann Kraus
707052c06b
Add python backwards compatibility for TextSymbolizer.
...
Closes #1115 .
2012-05-23 15:52:43 +02:00
Dane Springmeyer
ebfbe79919
python: fix leaky Py_None return by calling Py_INCREF(Py_None) before returning - closes #1221
2012-05-18 13:22:51 -07:00
Dane Springmeyer
c1495c0c74
restore the fast line rasterizer (rasterizer_outline_aa) and improve its rendering quality and consistency with standard method - refs #873
2012-05-11 17:40:21 -07:00
Dane Springmeyer
8ae867f6de
default values for composite args to maintain api compatibility
2012-05-11 15:19:05 -07:00
Artem Pavlenko
8085110e8f
+ add opacity parameter
2012-05-10 18:14:53 +01:00
Artem Pavlenko
7e49a6f44e
+ move 'smooth' property to symbolizer_base level
...
+ remove 'SYMBOLIZER_FAST' completely
2012-05-07 16:08:16 +01:00
Artem Pavlenko
df0420af8d
Merge branch 'master' into compositing
2012-05-04 09:17:14 +01:00
Dane Springmeyer
f556aa14a6
Merge branch 'master' of github.com:mapnik/mapnik
2012-05-03 21:56:55 -04:00
Dane Springmeyer
5016a1d476
avoid trying to determine relative path from python module to plugins as this can make flexible packaging harder - closes #1171
2012-05-03 21:56:39 -04:00
Artem Pavlenko
642899e52c
Merge branch 'master' into compositing
2012-05-02 08:56:38 +01:00
Dane Springmeyer
b0a08c7178
fix docstring for Style.filter_mode
2012-05-01 23:28:58 -04:00
Artem Pavlenko
77dfac5622
+ re-introduce transform on symbolizer_with_image
2012-05-01 16:47:33 +01:00
Artem Pavlenko
a72ee4ba66
Merge branch 'master' into compositing
...
Conflicts:
include/mapnik/image_compositing.hpp
include/mapnik/util/conversions.hpp
include/mapnik/value.hpp
src/agg/agg_renderer.cpp
src/agg/process_line_symbolizer.cpp
src/agg/process_polygon_symbolizer.cpp
src/png_reader.cpp
src/svg_parser.cpp
utils/svg2png/svg2png.cpp
2012-05-01 12:35:49 +01:00
Artem Pavlenko
03d42e59a5
+ allow specifying premultiply flag for src and dst images
...
+ fix logic in agg_renderer (TODO)
2012-04-20 14:53:11 +01: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
d5c09b6008
reflect the mapnik.logger types in python
2012-04-13 17:52:13 -07:00
Si Parker
003c5a72ab
added MarkersSymbolizer python bindings for fill and stroke
2012-04-11 10:41:15 +01:00
kunitoki
1a203d3f85
- cleaned up logger interface to better integrate with python bindings
...
- polished and finished python bindings for logger interaction
2012-04-10 10:14:28 +02:00
kunitoki
a902a08aab
- added logging to file
...
- started working on the logger bindings
- cleanups some error reporting with cerr/clog in the library
2012-04-10 00:25:31 +02:00
kunitoki
b60c508c1c
- finish thrashing all the useless ifdef MAPNIK_LOG
2012-04-09 21:41:56 +02:00
kunitoki
8c58a9aa73
- improved again the logging facilities
...
- aligned the plugins to using the new methods with severity
- implemented per object severity, with fallback to global (with global functions to set them programmatically)
- initial check in of logger python bindings (todo)
2012-04-09 03:00:51 +02:00
kunitoki
1f351e0e09
implement new debug system
2012-04-08 02:20:56 +02:00
Artem Pavlenko
0618f9ca42
+ remove unused header
2012-04-05 15:56:59 +01: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
2e76ff1958
make stroke property on line_symbolizer a reference when accessed from python (not a copy)
2012-04-02 11:57:24 -07:00
Artem Pavlenko
9840c7df4c
Merge branch 'master' into compositing
...
Conflicts:
include/mapnik/util/dasharray_parser.hpp
src/agg/process_line_symbolizer.cpp
src/image_compositing.cpp
2012-03-26 09:05:02 +01: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
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
5e6632f6eb
declare register_fonts as static
2012-03-23 14:22:47 -07:00
Artem Pavlenko
95cfb061af
+ experimental compositing symbolizer (fill only)
2012-03-21 15:47:33 +00:00
Hermann Kraus
9b62a19cf4
Implement justify-alignment=auto.
...
Closes #1125 .
2012-03-19 17:12:53 +01:00
novldp
0ecd5bae45
+add MarkersSymbolizer ignore-placement to save_map and python bindings
2012-03-18 23:30:37 +01:00
Artem Pavlenko
70512dc03b
+ add optional smothing to line_symbolizer
...
( TODO: conv_dash )
2012-03-15 10:26:53 +00:00
Dane Springmeyer
2abe02bd96
make available MAPNIK_VERSION_STRING in c++ header (not just in python) and add MAPNIK_VERSION_IS_RELEASE define that indicates if the code is released
2012-03-14 18:30:32 -07:00
Dane Springmeyer
74452f8ed7
remove explicit exports in python using __all__ - way more trouble than it is worth
2012-03-14 15:35:16 -07:00
Dane Springmeyer
586416b523
Merge branch 'master' of github.com:mapnik/mapnik
2012-03-14 11:53:58 -07:00
Artem Pavlenko
72baf59247
+ add smooth property
...
+ update help strings
2012-03-14 16:51:07 +00:00
Dane Springmeyer
9cbef60595
pep8 formatting
2012-03-13 08:22:34 -07:00
Dane Springmeyer
b36739fd88
apply mapnik_format.el formatting
2012-03-13 07:59:22 -07:00
Artem Pavlenko
207ecfd597
remove camel-case names from layer.[h,c]pp
2012-03-12 15:39:59 +00:00
Dane Springmeyer
3add1f984c
add Geos plugin to exported module scope
2012-03-08 08:40:12 -08:00
Dane Springmeyer
f90b410ece
formatting to use const& as per 6462af3
2012-03-05 11:10:04 -08:00
Hermann Kraus
5578bdb6f9
Remove has_dimensions and dimensions from text_placement_info.
...
This functionality is better provided by placement_finder.additional_boxes.
2012-03-04 16:38:40 +01:00
Hermann Kraus
46272d836b
Move more variables from text_placements_info to placement_finder.
...
Refs #1048 .
2012-03-04 13:32:10 +01:00
Hermann Kraus
b4eddaab24
Move variables from text_placements_info to placement_finder.
...
Reuse placement_finder objects.
Pass feature to placement_finder.
Refs #1048 .
2012-03-04 01:49:01 +01:00
Dane Springmeyer
adcce7102d
be explicit to avoid compile error if includes change
2012-02-24 16:14:02 -08:00
Artem Pavlenko
8767ca8275
+ add set_pixel method
2012-02-23 14:32:20 +00:00
Hermann Kraus
d203d56d34
Update tests.
2012-02-21 10:21:40 +01:00
Artem Pavlenko
f20007a965
+ add to_geojson() method to mapnik.Path
2012-02-20 12:05:11 +00:00
Artem Pavlenko
68df26baba
+ add to_geojson method to mapnik.Feature
2012-02-20 10:55:25 +00:00
Artem Pavlenko
3953a94636
+ geojson generator interface
2012-02-20 10:53:58 +00:00
Hermann Kraus
725ceaadc1
Fix problem introduced in 060545b9aa
.
2012-02-19 17:12:08 +01:00
Hermann Kraus
6fe0637425
Complete support for formatting types.
2012-02-19 02:03:25 +01:00
Hermann Kraus
3508ec5fb4
Merge branch 'master' into python-textplacement
2012-02-17 20:54:48 +01:00
Hermann Kraus
56004ab181
Python bindings: Rename properties=>defauls, default_format=>format.
2012-02-16 00:27:03 +01:00
Hermann Kraus
ceda45249f
Merge branch 'master' into python-textplacement
2012-02-16 00:18:44 +01:00
Dane Springmeyer
81230b2b30
remove uneeded include
2012-02-14 16:05:25 -08:00
Dane Springmeyer
ab11f48ce4
avoid compiler warning
2012-02-13 11:30:27 -08:00
Dane Springmeyer
6b6d069f3e
silence compiler warning about signed/unsigned comparison
2012-02-13 11:01:16 -08:00
Hermann Kraus
be0f110a76
Fix spelling error.
2012-02-12 23:00:38 +01:00
Hermann Kraus
2b5274c21b
Merge branch 'textplacement-rename' into python-textplacement
2012-02-12 13:57:51 +01:00
Hermann Kraus
52702d3a20
Rename filter_factory to expression.
2012-02-12 13:06:39 +01:00
Hermann Kraus
32b492fac1
Fix includes.
2012-02-12 04:06:34 +01:00
Hermann Kraus
9eccd58ed5
Merge branch 'textplacement-rename' into python-textplacement
...
Conflicts:
include/mapnik/text_processing.hpp
2012-02-12 04:01:58 +01:00
Hermann Kraus
69f153bf8f
Fix all includes.
2012-02-12 03:55:13 +01:00
Hermann Kraus
86d32afac5
Add string constructor for text node.
2012-02-12 01:49:54 +01:00
Hermann Kraus
c94d32b41b
Add bindings for formating::list_node.
2012-02-11 11:21:33 +01:00
Hermann Kraus
060545b9aa
Easier and safer thread blocking. Part 2
2012-02-09 00:28:10 +01:00
Hermann Kraus
113d42c2c3
Easier and safer thread blocking.
2012-02-09 00:22:12 +01:00
Hermann Kraus
383ad9dad8
Add explicit namespaces. Old code compiled with clang but not with gcc.
2012-02-09 00:07:55 +01:00
Hermann Kraus
7088f972e5
Work around ugly boost python bug.
2012-02-08 23:00:07 +01:00
Hermann Kraus
c28582a23c
Add FormatingFormatNode properties.
2012-02-08 20:39:09 +01:00
Hermann Kraus
4333a99991
Copy&paste error.
2012-02-08 00:59:44 +01:00
Hermann Kraus
e71fffe9ac
Fix indention.
2012-02-08 00:44:00 +01:00
Hermann Kraus
6121e47f50
Thread safety for python. Closes #1063 .
2012-02-08 00:40:02 +01:00
Hermann Kraus
c966a07b86
Add wrapper fro formating::format_node.
2012-02-06 01:10:09 +01:00
Hermann Kraus
487a4a3219
Add shortcuts.
2012-02-06 00:33:47 +01:00
Hermann Kraus
86d2db8538
Remove deprecated TextSymbolizer functions.
...
Move to mapnik_text_placement.cpp.
2012-02-05 23:47:32 +01:00
Hermann Kraus
75026700b9
Add second constructor for TextSymbolizer.
2012-02-05 21:58:39 +01:00
Hermann Kraus
c07c5594c9
Correctly wrap FormatingNode.
2012-02-05 21:27:29 +01:00
Hermann Kraus
fae698bc59
Consistent formating.
2012-02-05 15:45:30 +01:00
Hermann Kraus
37b2054041
Copy constructor for CharProperties.
2012-02-05 15:11:08 +01:00
Hermann Kraus
099ec85da6
Implement add_expression and helper classes.
...
Update test.
2012-02-05 04:09:09 +01:00
Hermann Kraus
263f5708f3
More processed_text bindings.
2012-02-05 01:47:49 +01:00
Hermann Kraus
ded95dd1e4
Temporary fix for #1063 .
2012-02-05 01:27:50 +01:00
Hermann Kraus
197af707b1
Remove debuging output.
2012-02-05 00:52:09 +01:00
Hermann Kraus
2f144d6ccb
Python bindings for formating::text_node.
2012-02-04 04:32:32 +01:00
Hermann Kraus
593c8a4838
Correctly register objects.
2012-02-03 23:24:32 +01:00
Hermann Kraus
a140c9ef40
Add python bindings for text_placements and text_placement_info.
2012-02-03 13:54:49 +01:00
Hermann Kraus
99a58ff2ba
Add Python wrapper for formating::node.
2012-02-03 02:01:01 +01:00
Hermann Kraus
f64190e47f
Make TextSymbolizer default constructable and add "placements" property.
2012-02-03 02:00:21 +01:00
Dane Springmeyer
f310148337
whitespace fixes (using format_source_files.sh)
2012-02-01 17:30:26 -08:00
Dane Springmeyer
07d7d7d537
convert to using feature_ptr rather than const& for renderers
2012-02-01 16:37:05 -08:00
Dane Springmeyer
915addc51d
update grid rendering interface to new feature impl
2012-02-01 10:43:23 -08:00
Artem Pavlenko
e4f7f1074a
+ validate input tuple length
...
+ fix index in extract<double>
2012-01-31 20:46:36 +00:00
Hermann Kraus
d2e26b5495
Python bindings for char_properties.
2012-01-31 18:28:02 +01:00
Artem Pavlenko
796bd5d8c2
remove duplicate enumeration registration
2012-01-31 16:51:14 +00: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
Artem Pavlenko
39bafa0cf1
add push_new member function which allows modifying
...
current features context (useful when datasource schema
is unknown, so we update context as we go along).
2012-01-30 14:05:41 +00:00
Hermann Kraus
e4340c0f89
Python bindings for text_symbolizer_properties.
2012-01-30 03:32:25 +01:00
Hermann Kraus
49a3b3c52c
Make code easier to read by using std::pair instead of boost::tuple for position.
2012-01-29 17:33:43 +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
Artem Pavlenko
d1f16bb227
merge textplacement-merge into feature_impl
2012-01-26 13:04:08 +00:00
Artem Pavlenko
d146bcc380
Merge branch 'master' into feature_impl
2012-01-25 10:04:03 +00:00
Hermann Kraus
0c5fc9f246
Merge pull request #1050 from rfw/text-placements-python
...
Add text placements to Python API.
2012-01-24 18:11:13 -08:00
Tony Young
d0d692cb82
Add text placements to Python API.
2012-01-25 12:57:26 +13:00
Artem Pavlenko
c88d7e723d
+ access feature_kv_iterator directly on mapnik::Feature::begin()/end()
...
+ avoid using 'feature' as variable name as mapnik::Feature will be renamed to mapnik::feature
+ revert 'describe' to 'attributes' (original name fits better in this context I think)
+ make attributes a Puython property
2012-01-24 14:48:30 +00:00
Dane Springmeyer
803a705774
add a method to get simple dictionary of feature attributes, remove old/deprecated feature access
2012-01-24 00:27:27 -08:00
Artem Pavlenko
663b4adfa2
feature_impl : add get paths by const reference method
...
python : fix helper functions declarations
2012-01-23 14:22:14 +00:00
Hermann Kraus
21a58b7b7a
Add missing includes.
2012-01-20 22:43:05 +01:00