Dane Springmeyer
e88748c57e
stop defaulting to -Wextra [skip ci]
2014-10-21 20:31:48 -07:00
Dane Springmeyer
95b301deb4
set ignore unknown pragmas after -Wall and -Wextra
2014-10-21 20:22:33 -07:00
Dane Springmeyer
dcfa056413
merge
2014-10-21 19:49:03 -07:00
Dane Springmeyer
d25f0c316a
silence more warnings
2014-10-21 17:44:47 -07:00
Dane Springmeyer
83588937b9
silence boost warnings
2014-10-21 16:37:27 -07:00
Dane Springmeyer
44bc5b59d6
break out wkt/json grammars into separate libraries
2014-10-13 01:06:36 -07:00
Dane Springmeyer
87e5df48de
scons: fix memory leak in configure test
2014-10-06 17:23:18 -07:00
Dane Springmeyer
00382775a9
more make clean fixes
2014-09-29 21:20:01 -07:00
Dane Springmeyer
b56168d0a4
actually fix make clean first run - refs #2112
2014-09-24 15:59:08 -07:00
Dane Springmeyer
97dcd2fd59
only accept JOBS via make setting and default to 1 - closes #2430
2014-09-23 11:25:01 -07:00
Dane Springmeyer
6fe0f93e70
remove svg renderer test
2014-08-24 13:46:33 -07:00
Dane Springmeyer
920b92a3ef
improve error message when c++11 compiler is not available - refs #2376
2014-08-21 15:03:57 -07:00
Dane Springmeyer
4e12b999f0
pull in pgraster plugin by @strk from 2.3.x to master/3.x - refs #2329 #1660
2014-08-12 15:03:51 -07:00
Dane Springmeyer
5a35422ee5
build: remove -finline-functions which is no longer supported by clang-3.5
2014-08-08 12:00:20 -07:00
Dane Springmeyer
cbe643c3f5
scons: no need to link to fontconfig in static cairo build
2014-08-07 19:16:59 -07:00
Dane Springmeyer
8af453e77d
scons: fix first-run clean problem #2112
2014-07-29 17:54:49 -07:00
Dane Springmeyer
468bd150b7
scons: fix 'make clean' so it actually runs completely
2014-07-24 19:06:42 -07:00
Dane Springmeyer
d5ac946706
remove libcurl dependency
...
Conflicts:
plugins/input/osm/dataset_deliverer.cpp
plugins/input/osm/osm.cpp
plugins/input/osm/osm_datasource.cpp
plugins/input/osm/test.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
d0b357cab7
scons: support MAPNIK_NAME option to customize libmapnik name for custom packaging
2014-06-09 13:55:56 -07:00
Dane Springmeyer
92bf9782f8
scons: fix path remove to be less aggressive
2014-05-13 15:25:16 -07:00
Dane Springmeyer
9e9747ffad
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
src/agg/process_building_symbolizer.cpp
src/cairo_context.cpp
src/cairo_renderer.cpp
src/grid/process_building_symbolizer.cpp
src/grid/process_line_pattern_symbolizer.cpp
src/grid/process_text_symbolizer.cpp
tests/python_tests/images/support/marker-text-line-scale-factor-0.899.png
tests/python_tests/images/support/marker-text-line-scale-factor-1.5.png
tests/python_tests/images/support/marker-text-line-scale-factor-1.png
tests/python_tests/images/support/marker-text-line-scale-factor-10.png
tests/python_tests/images/support/marker-text-line-scale-factor-100.png
tests/python_tests/images/support/marker-text-line-scale-factor-2.png
tests/python_tests/images/support/marker-text-line-scale-factor-5.png
tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
tests/visual_tests/test.py
2014-04-24 21:44:28 -07:00
Dane Springmeyer
e618a65498
fix #2185
2014-03-20 16:02:47 -07:00
Dane Springmeyer
811e93cdc4
update visual tests against freetype 2.5.3
2014-03-10 11:38:42 -07:00
Dane Springmeyer
0a26485d28
add simple, c++ version of nik2img
2014-02-10 10:46:48 -08:00
Dane Springmeyer
f6b74ff819
fix #2141
2014-02-05 12:32:21 -08:00
Dane Springmeyer
587a1c1bff
remove compile workaround for old OS X gcc since we only support c++11/clang++ now at Mapnik 3.x - refs #1835
2014-01-27 12:23:33 -08:00
Dane Springmeyer
63ea37b4c2
further no terminal port
2014-01-26 14:49:03 -08:00
Dane Springmeyer
87e0ae8124
adapt build to use BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
2014-01-26 14:00:58 -08:00
Dane Springmeyer
fd6474b65e
improve configure doc for FULL_LIB_PATH and ENABLE_SONAME
2014-01-21 21:15:57 -08:00
Dane Springmeyer
0e38731152
add ENABLE_SONAME option + embed rpath/loader_path by default - closes #1225
2014-01-20 20:16:08 -08:00
Dane Springmeyer
fede08d4da
fix boost_regex icu detection on linux when statically linking
2014-01-20 14:19:41 -08:00
Dane Springmeyer
66347f78e6
rework tests: always run locally
2013-11-22 12:01:02 -08:00
Dane Springmeyer
64d5153aea
Improved support for international text
...
- Implementation by @herm for GSOC 2012 (http://mapnik.org/news/2012/10/06/gsoc2012-status9/ )
- C++11 port, improvements, optimizations by @artemp
- Testing and integration with master by @springmeyer
- Thank you to all the support from @behdad along the way
- Thanks for help testing @toton6868, @stephankn, @nirvn, @mfrasca, @simonsonc and many others
Refs: #2073,#2070,#2038,#2037,#1953,#1820,#1819,#1714,#1634,#1547,#1532,#1319,#1208,#1154,#1146
2013-11-22 00:06:32 -08:00
Dane Springmeyer
08fa9fd8ec
Merge branch '2.3.x' of github.com:mapnik/mapnik
...
Conflicts:
bindings/python/mapnik_building_symbolizer.cpp
bindings/python/mapnik_debug_symbolizer.cpp
bindings/python/mapnik_line_pattern_symbolizer.cpp
bindings/python/mapnik_line_symbolizer.cpp
bindings/python/mapnik_markers_symbolizer.cpp
bindings/python/mapnik_point_symbolizer.cpp
bindings/python/mapnik_polygon_symbolizer.cpp
bindings/python/mapnik_python.cpp
bindings/python/mapnik_raster_symbolizer.cpp
bindings/python/mapnik_shield_symbolizer.cpp
bindings/python/mapnik_symbolizer.cpp
2013-11-07 09:21:05 -08:00
Dane Springmeyer
d0619bc402
update copyright year for scons build files
2013-11-05 16:54:13 -08:00
Dane Springmeyer
ca25d6797a
Merge branch '2.3.x' of github.com:mapnik/mapnik
2013-11-04 09:40:58 -08:00
Dane Springmeyer
4fb6f25dcd
scons: back off using -Wshadow since this triggers too much spurious noise with g++-4.7 and clang++/libc++
2013-11-04 09:39:24 -08:00
Dane Springmeyer
f998b2bda6
Merge branch '2.3.x' of github.com:mapnik/mapnik
...
Conflicts:
deps/agg/build.py
deps/clipper/build.py
include/mapnik/feature_style_processor_impl.hpp
plugins/input/csv/csv_datasource.cpp
2013-11-03 23:10:21 -08:00
Dane Springmeyer
26f362db9a
scons: do not (yet) default to using -Wconversion -Wno-sign-conversion
2013-11-03 23:07:03 -08:00
Dane Springmeyer
0f8c931530
scons: suncc support is not maintained, remove it
2013-11-03 23:07:02 -08:00
Dane Springmeyer
c1da56a6a0
scons: specialize default search path for icu on OS X since homebrew is so common now and icu is 'key-only'
2013-10-31 21:14:24 -07:00
Dane Springmeyer
710d558218
scons: simplify linkflags/ldflags setting / attempt to fix #2025
2013-10-22 16:35:46 -04:00
Dane Springmeyer
2e0d905589
add configure test for c++11 support
2013-10-14 19:03:01 -04:00
Dane Springmeyer
32d053abf6
only build pgsql2sqlite if pg_config is available
2013-10-01 10:15:41 -07:00
Dane Springmeyer
2e630c5c14
only build pgsql2sqlite if pg_config is available
2013-10-01 10:13:54 -07:00
artemp
fddec700ad
TopoJSON input plugin
...
skeleton implementation
2013-09-30 14:14:58 +01:00
Dane Springmeyer
8dcf5aa622
Avoid setting -stdlib=libc++ if cross compiling - refs mapnik/mapnik-support#96
2013-09-26 10:26:53 -07:00
Dane Springmeyer
ec53cd9a02
automatically set c++11 flags
2013-09-24 23:22:06 -07:00
Dane Springmeyer
b0436a3ad1
scons: unbreak memory mapped access for shapefiles by fixing the setting of SHAPE_MEMORY_MAPPED_FILE
2013-09-19 20:51:49 -07:00
Dane Springmeyer
9811a946f5
Fix whitespace
2013-09-18 18:50:12 -07:00
Dane Springmeyer
5667343ad9
use U_NAMESPACE_QUALIFIER to most cleanly support when icu is built with -DU_USING_ICU_NAMESPACE=0 - refs #1985
2013-08-14 21:56:40 -04:00
Dane Springmeyer
a13fe7da06
fix 'the table of contents is empty' error when cross compiling for android by respecting RANLIB and AR settings from environment
2013-08-13 20:02:14 -04:00
Dane Springmeyer
e0026f3df2
use icu:: namespace and start isolating icu impl by consistenly using mapnik::value_unicode_string
2013-08-13 18:52:04 -04:00
Dane Springmeyer
3a2a8dbfde
scons: support passing multiple paths to PATH_REMOVE option - useful to strip - after the fact - paths that might come from pkg-config calls to cairo - closes #1980
2013-08-09 11:31:17 -04:00
Dane Springmeyer
19a7e9ad19
make note about need for -Wno-c++11-narrowing - closes #1970
2013-07-30 12:18:48 -04:00
Dane Springmeyer
e641c78a59
scons: fix configure check for sqlite_rtree on linux when sqlite3 is statically linked
2013-07-30 06:35:52 +00:00
Dane Springmeyer
187ab3fe73
make gdal lib check more robust
2013-07-29 20:32:03 -04:00
Dane Springmeyer
64efd5fdf2
boost gil narrowing only impacts clang++ it appears and not g++ 4.6.3 with -std=c++0x (TODO: checkout newer g++ with -std=c++11
2013-07-28 15:50:42 -04:00
Dane Springmeyer
76f111cc97
support optionally compiling with -std=c++11 on OSX / clang / apple libc++ / boost 1.53 - refs #1683
2013-07-27 01:57:24 -04:00
Dane Springmeyer
5b5053d2a9
prepare for c++11: stop forcing -ansi
2013-07-26 19:33:34 -04:00
Dane Springmeyer
a4c79fc6fe
fix handling of the defines of optional deps when cross-compiling
2013-07-26 15:50:35 -04:00
Dane Springmeyer
ef4dfeb747
make it possible to disable compilation of grid_renderer - closes #1962
2013-07-23 19:37:25 -04:00
Dane Springmeyer
6bbbe155fe
remove RENDERING_STATS compile time option - refs #1956
2013-07-19 15:09:59 -04:00
Dane Springmeyer
54d8fc81dd
scons: ensure optional imaging libaries are build if requested when cross compiling
2013-07-19 12:15:24 -04:00
Dane Springmeyer
7796ea65d6
scons: fix the build in the case that one of the optional imaging libraries is not found
2013-07-19 12:13:17 -04:00
Dane Springmeyer
a141c5c27d
webp encoding/decoding support - refs #1955
2013-07-19 01:09:17 -04:00
Dane Springmeyer
fd3977d60c
scons: no need to link iconv if building with cairo
2013-07-14 14:43:13 -04:00
Dane Springmeyer
2505001af1
scons: fixes for bypassing configure checks when HOST is provided (iOS build)
2013-06-14 11:40:45 -07:00
Dane Springmeyer
64947f8540
now working on mapnik v3.0.0-pre
2013-06-03 18:56:56 -07:00
Dane Springmeyer
9231205573
setting up for mapnik v2.2.0 release
2013-06-03 18:26:28 -07:00
Dane Springmeyer
c00a4e6971
scons: assume boost headers are found unless explicitly not
2013-06-03 12:22:29 -07:00
Dane Springmeyer
4f9b0ffba6
scons: no need to check for boost python if boost headers are not found
2013-06-02 19:25:43 -07:00
Dane Springmeyer
540d275cd0
also check for boost development headers
2013-06-02 19:24:11 -07:00
Dane Springmeyer
ef1b99532b
scons: fix boost_regex and sqlite_rtree config checks and be resilient to plugins that cannot be built due to the boost version
2013-06-02 14:56:21 -07:00
Dane Springmeyer
949a356b29
minor build output improvements
2013-06-02 14:15:02 -07:00
Dane Springmeyer
2291c8b698
disable hidden visibility for plugins and hidden inlines for the library by default for 2.2 release - can re-enable after more testing - refs #1863
2013-05-24 12:46:51 -07:00
Dane Springmeyer
4057c2c822
ensure that the input plugin directory exists even if we don't put any plugins in it
2013-05-23 15:40:05 -07:00
Dane Springmeyer
62434041e3
clean up hello.input if stale
2013-05-23 15:36:43 -07:00
Dane Springmeyer
05f010a43b
ensure that when statically linking plugins we remove previously built ones that are stale
2013-05-23 15:20:17 -07:00
Dane Springmeyer
6155d90dd1
better clearing of non requested or non buildable plugins
2013-05-22 17:54:32 -07:00
Dane Springmeyer
5aecb3c5f7
disable building osm plugin by default now that it is no longer needed for visual tests - refs #1822
2013-05-22 16:19:10 -07:00
Dane Springmeyer
031139f6fe
disable building of python plugin by default - works around #1838
2013-05-22 13:48:56 -07:00
Dane Springmeyer
31ae5e632b
rollback accidentally commited change in 126d1b73d6
- not quite yet
2013-05-22 10:22:25 -07:00
Dane Springmeyer
23878cf03e
fix #1858
2013-05-22 09:21:56 -07:00
Dane Springmeyer
126d1b73d6
reflect debug symbolizer in python
2013-05-22 06:49:38 -07:00
Dane Springmeyer
8d9e6e07cf
ensure xml2 is present - punts on and closes #913
2013-05-21 16:22:04 -07:00
Dane Springmeyer
ab27707a91
scons: reduce noisy, non-critical configure output
2013-05-17 16:38:14 -07:00
Dane Springmeyer
3fbf4df67d
add support for statically linking datasource input plugins - closes #1810 and #1821 - refs #249
2013-05-16 11:55:58 -07:00
Dane Springmeyer
c53bf9fff1
remove debug output
2013-05-16 10:03:08 -07:00
Dane Springmeyer
04d119fc92
further improve cairo freetype support checking - refs #1842
2013-05-16 09:59:21 -07:00
Dane Springmeyer
5ff69781c8
scons: disable cairo support at configure time unless cairo reports freetype support - closes #1842
2013-05-16 08:29:31 -07:00
Dane Springmeyer
729f39abd1
disable compiling the c++ benchmark by default
2013-05-15 18:19:49 -07:00
Dane Springmeyer
e4f2c4e94d
scons: fix g++ detection logic on OS X
2013-05-13 09:13:44 -07:00
Dane Springmeyer
ca16303871
use -fpermissive on OS X when g++ is used - closes #1835
2013-05-10 14:16:58 -07:00
Dane Springmeyer
101ea276d1
add mapnik version number reporting to mapnik-config
2013-05-10 13:45:18 -07:00
Dane Springmeyer
7518c9c2c2
default to clang++ on OS X and start reporting CXX compiler used in mapnik-config - closes #1839
2013-05-10 13:24:41 -07:00
Dane Springmeyer
1b95518ce1
remove kismet plugin - closes #1833
2013-05-09 17:29:03 -07:00
Dane Springmeyer
ac5cd2e386
-fvisibility=hidden works with plugins with no code changes - refs #1826
2013-05-09 17:28:04 -07:00
Dane Springmeyer
47ed6d1405
reduce libary size by passing -fvisibility-inlines-hidden - closes #1832 - refs #1826
2013-05-09 14:54:29 -07:00
Dane Springmeyer
4c38bf9b81
remove geos plugin (moved to https://github.com/mapnik/non-core-plugins ) - refs #1809
2013-04-19 14:09:25 -07:00
Dane Springmeyer
79a216f349
remove ltdl to reduce dependencies and because calling dlopen/LoadLibrary is easy
2013-04-09 19:37:02 -07:00
kunitoki
3c56ac656a
- scons help cosmetics
2013-03-27 09:01:03 +01:00
kunitoki
350ff279ee
- avoid treating all CPPDEFINES as a whole in scons
2013-03-26 11:05:02 +01:00
Dane Springmeyer
5af0e95c94
scons: add HOST option, which if set will skip configure checks - in the future it might do more
2013-03-25 11:19:51 -07:00
Dane Springmeyer
e2c7283522
Added new mapnik-config options: git-describe, defines, includes, dep-includes, and cxxflags - closes #1443
2013-03-13 19:49:59 -07:00
kunitoki
02fa32ba5e
- last commit was wrong
2013-03-06 13:21:53 +01:00
kunitoki
2717d25483
- fix linux project file handling in case where a different PREFIX is specified
2013-03-06 13:13:20 +01:00
Dane Springmeyer
f232d026c3
scons: fix behavior of scons --clean install
2013-02-27 10:37:27 -05:00
Dane Springmeyer
b472cd0e14
scons: enable control of shpindex and svg2png tools
2013-02-22 17:15:29 -08:00
Dane Springmeyer
1b3b598b80
scons: do not attempt to configure if clean requested
2013-02-21 16:42:33 -08:00
Dane Springmeyer
4115903148
fix spelling
2013-02-21 16:34:14 -08:00
artemp
617542c136
Merge remote-tracking branch 'origin/master' into clipper
2013-02-20 10:35:47 +00:00
kunitoki
f7e41eb86c
- updated SConstruct
2013-02-19 12:13:53 +01:00
kunitoki
ef955ee924
- automate linux project file generation (and simplify sub projects)
2013-02-19 12:12:13 +01:00
artemp
747305253c
+ link clipper obj's into core lib
2013-02-19 10:06:59 +00:00
Dane Springmeyer
1356775299
scons: remove uneeded BOOST_SPIRIT_THREADSAFE flag - closes #1706
2013-01-29 17:23:10 -05:00
Dane Springmeyer
afa0c8ad27
configure time option to enable proj4
2013-01-29 02:21:27 -05:00
Dane Springmeyer
b1c1c86346
make PNG and TIFF support optional - closes #1704
2013-01-29 02:17:37 -05:00
Dane Springmeyer
7c5693c169
scons: make python includes a list and sensitive to platform specific directories - closes #1691 and fixes mapnik/mapnik-packaging#66
2013-01-14 16:07:38 -08:00
Dane Springmeyer
6f8a12d29d
further fixup the sparsehash usage internally
2013-01-10 17:20:34 -08:00
Dane Springmeyer
6b2b66b894
fix handling/install of sparsehash headers
2013-01-10 09:39:43 -08:00
Dane Springmeyer
94ff584190
finish complete removal of any trace of cairomm/libsigc++ - amends f25d4d9279
and closes #1681
2013-01-09 12:49:39 -08:00
artemp
f25d4d9279
+ implement cairo_context wrapper and remove unnecessary dependencies
...
( cairomm, libsigc++)
2013-01-09 17:00:30 +00:00
Dane Springmeyer
0121f53f56
refactor and speed up hextree image encoding by using dense_has_map - refs #1629
2013-01-08 19:07:11 -08:00
Dane Springmeyer
82e9f5b68c
clear out invalid plugins from source directory to ensure that 'make local' target does not crash
2013-01-04 12:32:53 -08:00
artemp
8da2158781
+ allow configure BIGINT support (default: yes)
2013-01-03 16:23:36 +00:00
Dane Springmeyer
665d390021
only build svg_renderer C++ tests if CPP_TESTS=True
2012-12-21 20:02:19 -08:00
Dane Springmeyer
6590225ce0
disable C++ tests for travis build to speed up overall compile
2012-12-19 20:12:13 -08:00
Dane Springmeyer
159dec9aa5
configure python details if building python plugin as well as bindings
2012-12-16 12:23:01 -08:00
Dane Springmeyer
cea31234fa
allow building svg_renderer again - refs #1438
2012-11-01 10:07:29 -07:00
Dane Springmeyer
2ded86629f
scons: do not invoke any install or uninstall targets if using SYSTEM_FONTS - closes #1481
2012-09-13 13:40:15 -07:00
Dane Springmeyer
f73168a4cc
scons: remove helloworld plugin if out of date and make warning yellow not red
2012-09-03 11:29:14 -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
13bcd3f17f
now working on mapnik v2.2.0-pre
2012-08-23 15:19:56 -07:00
Dane Springmeyer
a25aac80f7
setting up for mapnik v2.1.0 release
2012-08-23 14:50:36 -07:00
Dane Springmeyer
05fdb5424b
more fully disable the svg_renderer backend - refs #1438
2012-08-23 10:10:18 -07:00
Dane Springmeyer
1e0a4ace86
scons: add option to configure custom paths to ltdl - refs #1376
2012-08-22 14:59:51 -07:00
Dane Springmeyer
333ab9a37e
only build pgsql2sqlite if boost_program_options is available
2012-08-17 09:37:08 -07:00
Dane Springmeyer
9ef6c0dce1
scons: ensure you can build pgsql2sqlite even if the sqlite datasource plugin is not requested
2012-08-16 16:21:10 -07: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
619af3e3c7
scons: remove boost_python library check - there is not way to include multiple headers and therefore no way to safely include both boost_python and -lpython libs - refs #1394
2012-08-16 14:29:42 -07:00
Dane Springmeyer
57246bb569
scons: better handling of implicit dependencies - also add distclean target - refs #1395 , #1324 , and #1310
2012-08-16 14:12:49 -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
53685f3f99
scons: create working uninstall target for fonts
2012-08-16 10:05:34 -07:00
Dane Springmeyer
697a750f6a
make LIBDIR_SCHEMA configurable - closes #1377
2012-08-15 18:32:28 -07:00
Dane Springmeyer
e4a4fe41c2
do not use /usr/local as default proj search path - instead match all other defaults as /usr/ - closes #1288
2012-08-15 14:16:49 -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
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
4340e9a605
scons: fixup LIBDIR value settings - closes #1349
2012-07-27 10:56:24 -07:00