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
artemp
d7d833dd13
+ cleanup/small fixes
2012-07-31 13:31:22 +01:00
artemp
c7af665cc7
+ process SEG_CLOSE
2012-07-31 10:59:09 +01:00
artemp
76569cccb8
+ select clipper based on geometry type
...
+ process SEG_CLOSE command
2012-07-31 10:57:42 +01:00
artemp
a3b7d07da0
+ select clipper based on geometry type
2012-07-31 10:56:13 +01:00
Dane Springmeyer
39a1477eb2
allow marker-width and marker-height to apply directly to ellipse rx/ry - maintaining ability to precisely control ellipse dimensions, combine with transforms, and avoid scaling line-widths - refs #1348 and #1347
2012-07-30 23:20:20 -07:00
Dane Springmeyer
e69c6037b7
mapnik coding style
2012-07-30 23:07:12 -07:00
Dane Springmeyer
e482998c51
rename path_ptr to the more explicit svg_path_ptr and set up markers_symbolizer rendering for upcoming changed
2012-07-30 21:45:46 -07: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
6f174287a2
amend 822531a
which broke polygon geometry labeling - refs #1350
2012-07-30 18:29:26 -07:00
Dane Springmeyer
e6e7b4c700
svg2png: inflate the rendering canvas to avoid edge affect for 100% w/h svgs
2012-07-30 16:37:34 -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
artemp
b963b6c2b3
Merge remote-tracking branch 'origin'
2012-07-30 18:35:03 +01:00
artemp
822531a114
+ filter on geometry type to use centroid (Polygon) or
...
middle_point (LineString) label placement
2012-07-30 18:32:42 +01:00
artemp
8931509adc
+ move middle_point into label namespace
2012-07-30 18:31:15 +01: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
81937f7317
only allow restyling of svg paths that already have visible display of stroke/fill
2012-07-28 09:27:37 -07:00
Dane Springmeyer
e213f49d7c
re-implement conditional stroke application in markers_symbolizer initially added in 9d756165e0
, amended in 9f064960e3
, and wrongly disabled in bd74d18f6d
2012-07-27 19:21:46 -07:00
Dane Springmeyer
4340e9a605
scons: fixup LIBDIR value settings - closes #1349
2012-07-27 10:56:24 -07:00
artemp
03422de504
+ close polygons (SEG_CLOSE)
2012-07-26 15:51:10 +01:00
artemp
fe4cfea536
+ add call to close_path() if SEG_CLOSE
2012-07-26 15:49:58 +01:00
artemp
1b805abc23
+ add close(x,y) method to geometry
2012-07-26 15:21:25 +01:00
artemp
ec2d0cc210
+ wkb reader : close polygons
2012-07-26 15:20:56 +01:00
artemp
618bc1ba0f
+ close polygon
2012-07-26 15:20:23 +01:00
artemp
1844217615
+ fix SEG_CLOSE value to be compatible with agg
2012-07-26 15:19:11 +01:00
artemp
4ddddba254
+ use pre-increment op
2012-07-26 11:58:48 +01:00
artemp
690b56a511
+ use std::auto_ptr
2012-07-26 11:57:41 +01:00
artemp
07ec5c31d0
+ turns off white space skipping
2012-07-26 11:45:34 +01:00
Dane Springmeyer
4fbe353d4a
make stock ellipse a true ellipse
2012-07-25 19:29:43 -07:00
Dane Springmeyer
bd74d18f6d
no need anymore to have parse_stroke return a bool
2012-07-25 18:26:34 -07:00
Dane Springmeyer
9f064960e3
load_map: a stroke-width=0 is valid for markers now (for restyling svg)
2012-07-25 18:19:41 -07:00
Dane Springmeyer
5bd0bec0e9
add render target
2012-07-25 16:58:45 -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
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
d63cf684dd
update changelog with geometry filter support as per #546
2012-07-25 14:56:28 -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
2680f941eb
clean up unused code and includes
2012-07-25 09:31:57 -07:00
Dane Springmeyer
6df998cf39
fixup various plugin includes
2012-07-25 09:29:21 -07:00
Dane Springmeyer
4e60c0cc9b
Merge branch 'master' of github.com:mapnik/mapnik
2012-07-25 08:47:19 -07:00
Dane Springmeyer
b68ea3bb1d
new patch from @lightmare for protecting against expression.to_string misusage - closes #1232
2012-07-25 08:47:10 -07:00
artemp
774e1b1d77
+ avoid applying scaling_factor twice for raster markers
...
+ cleanup
2012-07-25 11:43:43 +01:00
artemp
e48057b274
+ remove unused member variable
...
+ format
2012-07-25 10:00:58 +01:00
artemp
f0ada2b284
+ remove colorizer (@springmeyer - was it intentional?)
2012-07-25 10:00:08 +01:00
artemp
9fe15c9d3e
Merge remote-tracking branch 'origin/master'
...
Conflicts:
include/mapnik/geom_util.hpp
2012-07-25 09:38:14 +01:00