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
e0c2304d42
+ store size by value
2012-07-19 18:44:29 +01:00
artemp
4625e509b4
+ rename vertex() back to get_vertex() to avoid g++ getting confused
2012-07-19 17:10:27 +01:00
artemp
aee38935ac
Merge branch 'master', remote-tracking branch 'origin'
2012-07-19 17:00:20 +01:00
artemp
8e2774fe84
+ remove debug output
2012-07-19 16:59:33 +01:00
Artem Pavlenko
70818a500c
Merge pull request #1328 from rjw57/rjw57-janitor
...
SConstruct: trivial typo fix 'henche' -> 'hence'
2012-07-19 08:39:19 -07:00
artemp
ab0722efce
+ AGG: refactor process_markers_symbolizer to use vertex_converters
2012-07-19 16:37:54 +01:00
artemp
7b10400be9
+ update rendering code to work with new labeling methods
...
+ rename num_points() to size()
+ rename get_vertex() to vertex()
2012-07-19 16:36:44 +01:00
artemp
9e1914a4df
+ remove label position alogos from geometry class
2012-07-19 16:36:06 +01:00
artemp
f6fa57da26
+ add VertexSource based implementations of label position algos
2012-07-19 16:31:47 +01:00
artemp
710b7eb04b
+ instantiate all vertex_converters permutations
...
+ pass parameter by const reference
2012-07-19 16:26:10 +01:00
artemp
c0ecb7e980
+ use member variable in ctor
2012-07-19 16:24:29 +01:00
artemp
994f9abb01
+ apply _mapnik_ coding style
2012-07-19 16:23:39 +01:00
artemp
c8cfde58f7
+ pass box2d<double> by const ref
...
+ make member const& too
2012-07-19 16:22:45 +01:00
Rich Wareham
ee7ebb61f2
SConstruct: trivial typo fix 'henche' -> 'hence'
2012-07-19 16:08:25 +01:00
Dane Springmeyer
587f0131a2
add tests for grid rendering with point_symbolizer
2012-07-18 17:29:22 -07:00
Dane Springmeyer
b7630a3eb8
default to fully opaque default marker svg - fixes #1326
2012-07-18 14:07:52 -07:00
artemp
560aca20fa
Merge remote-tracking branch 'origin/master'
2012-07-17 17:11:59 +01:00
artemp
195b8ad887
+ affine transform for raster markers - #1279
2012-07-17 17:10:24 +01:00
Dane Springmeyer
6d95076954
sync grid renderer with agg for text/shields/point - refs #1309
2012-07-16 11:51:14 -07:00
Dane Springmeyer
89668e7b26
map bilinear8 to bilinear for now (TODO - add bilinear8 to AGG)
2012-07-16 09:42:01 -07:00
Dane Springmeyer
8fcf10be12
Merge branch 'master' of github.com:mapnik/mapnik
2012-07-15 20:39:21 -07:00
Dane Springmeyer
e9c5ab3d94
sync polygon rendering between agg and grid backends
2012-07-13 16:42:23 -07:00
artemp
0eddc2b5a0
+ apply scale_factor
2012-07-13 11:17:35 +01:00
artemp
1e6be7abc3
+ add accessor methods
2012-07-13 10:25:12 +01: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
fad8eff676
fix scaling of markers when render time resolution != 1
2012-07-12 19:01:59 -07:00
Dane Springmeyer
0c37819989
remove duplicate grid rendering test
2012-07-12 19:01:31 -07:00
Dane Springmeyer
2fe306e34f
fix marker clamping and sync with agg renderer- refs #1309
2012-07-12 18:41:03 -07:00
Dane Springmeyer
b20481115f
marker width/height should be double
2012-07-12 18:39:12 -07:00
Dane Springmeyer
02644aeed1
add explicit bool operator to negate to silence msvc warnings - closes #1307
2012-07-12 16:38:13 -07:00
artemp
d828377c7c
+ fix operator= typo
2012-07-12 20:00:02 +01:00
artemp
461f5cfe08
+ use separate stroke-opacity and fill-opacity
2012-07-12 15:38:25 +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
artemp
279bfe7f0f
+ remove unused mutating methods
...
+ cleanup&style
2012-07-12 10:21:57 +01:00
artemp
030639a7b8
+ remove meaningless -> std::set<std::string> property_names()
2012-07-12 10:18:35 +01:00
artemp
da5d4961f1
+ return from operator=
2012-07-12 09:54:03 +01:00
Dane Springmeyer
da775051ea
allow non const copy access to property_names on grid and grid_view objects
2012-07-11 18:58:25 -07:00
artemp
c7960a2093
+ support clipping on/off in text_symbolizer_helper,
...
shield_symbolizer_helper and process_markers_symbolizer
TODO: revisit implementation to avoid code duplication
2012-07-11 14:47:39 +01:00
artemp
8cf9a5a082
+ more const correctness
2012-07-11 10:32:08 +01:00
artemp
35ab93667f
+ enforce const
...
+ pass arguments by const ref
2012-07-11 10:13:38 +01:00
artemp
f830a0141c
Merge remote-tracking branch 'origin/master'
2012-07-11 09:36:55 +01:00
Artem Pavlenko
5f2c60261c
Merge pull request #1311 from mapnik/stock-markers
...
Stock markers support
2012-07-11 01:36:09 -07:00
artemp
7a63e9fd0b
Merge branch 'master', remote-tracking branch 'origin'
2012-07-11 08:40:09 +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
cd66495ec5
support setting fill and stroke opacity on the fly in svg marker rendering
2012-07-10 22:36:03 -07:00
Dane Springmeyer
75d2d5bdca
remove duplicate variable
2012-07-10 22:34:46 -07:00
Dane Springmeyer
e67463661c
sync grid markers_symbolizer rendering with agg
2012-07-10 22:32:19 -07:00