Commit graph

1327 commits

Author SHA1 Message Date
Dane Springmeyer
954eb5c539 reduce usage of boost::lexical_cast during map parsing by using spirit2-based conversion functions - refs #1055 2012-02-24 18:26:48 -08:00
Dane Springmeyer
2f134657b4 speed up xml loading by avoiding repeated grammar creation - refs #1028 (TODO - still need to handle text/shield expressions) 2012-02-24 16:34:39 -08:00
Dane Springmeyer
b1f5f701cc Merge branch 'master' of github.com:mapnik/mapnik 2012-02-24 16:27:37 -08:00
Dane Springmeyer
128f43bc79 remove used functions in ptree_helpers.hpp 2012-02-24 16:25:46 -08:00
Hermann Kraus
1906cddf04 Improve error messages. 2012-02-25 00:57:05 +01:00
Dane Springmeyer
a917b7b410 fix the ability of external libraries to link mapnik on windows 2012-02-24 11:32:16 -08:00
Artem Pavlenko
4aa957d373 Merge remote-tracking branch 'origin/master' 2012-02-24 18:09:15 +00:00
Artem Pavlenko
917e684bdd dummy decrement() and advance(p) to compile with vc10 (untested) 2012-02-24 18:07:13 +00:00
Dane Springmeyer
2a4fa323cf declare feature_impl and context_type for windows symbol visibility 2012-02-24 09:25:32 -08:00
Dane Springmeyer
dccaff73d9 Merge branch 'master' of github.com:mapnik/mapnik 2012-02-23 18:55:59 -08:00
Dane Springmeyer
9c2e0f478a c++ style 2012-02-23 18:55:48 -08:00
Dane Springmeyer
37d76eccb4 Add explicit header 2012-02-23 18:55:20 -08:00
Dane Springmeyer
e88b8c9cac boost 1.42 compatibility 2012-02-23 15:52:04 -08:00
Dane Springmeyer
871650a3c2 specialize string2int conversion to avoid std::string ctor 2012-02-23 13:11:25 -08:00
Dane Springmeyer
02eb9067e0 fix linking with msvc by declaring text_placements 2012-02-23 11:47:45 -08:00
Dane Springmeyer
2d1f2d19cc fix compile of shield_symbolizer.hpp on windows 2012-02-23 09:22:51 -08:00
Hermann Kraus
e79f13df1f Add debug helper for XML. 2012-02-23 18:10:49 +01:00
Artem Pavlenko
abd57d2acb + use boost::scoped_ptr for auto memory managment
+ remove delete/new from create_palette
2012-02-23 12:26:16 +00:00
Artem Pavlenko
61c6b7e6b2 + use boost::range algorithms for brevity 2012-02-23 12:10:32 +00:00
Artem Pavlenko
9db9e7d161 Merge remote-tracking branch 'origin/master' 2012-02-23 10:23:31 +00:00
Artem Pavlenko
00787ec12d + implement 'filter' iterator to output key/value pairs
where value is not value_null().
+ use it in json::feature_generator to have more compact json
2012-02-23 10:21:29 +00:00
Dane Springmeyer
56aeae1b52 fix broken python linking after 6a0ce99e22 2012-02-22 16:45:02 -08:00
Artem Pavlenko
8fe79f910f Merge remote-tracking branch 'origin/master' 2012-02-22 22:47:28 +00:00
Artem Pavlenko
00abb57ffa add missing image_width fix 2012-02-22 22:46:35 +00:00
Dane Springmeyer
188ba774b9 rollback part of 5dee576 - avoiding skipping nodes with <= 3 pixels as this fixed only symptoms of the hextree crash and not the root cause (note: divide by zero fix is maintained) 2012-02-22 14:32:12 -08:00
Artem Pavlenko
5b49d64a48 Merge remote-tracking branch 'origin/master' 2012-02-22 17:17:25 +00:00
Artem Pavlenko
199adc17d0 fix reduced image width calc 2012-02-22 17:16:07 +00:00
Dane Springmeyer
5dee576df2 hextree: avoid memory corruption in create_palette_rek() by not skipping <3 pixel nodes and avoid potential divide by zero in assign_node_colors() (led to hang on osx) - closes #1087 2012-02-21 22:37:56 -05:00
Dane Springmeyer
3c2938b812 add header with simple spirit string conversion functions- refs #1055 2012-02-21 10:57:58 -08:00
Dane Springmeyer
9213dd5426 fixup multi-symbolizer processing function 2012-02-20 22:53:54 -08:00
Hermann Kraus
a05faceb11 Fix ShieldSymbolizer line placement.
Refs #1078, https://github.com/MapQuest/MapQuest-Mapnik-Style/issues/8.
2012-02-21 00:06:54 +01:00
Artem Pavlenko
80cf0c2bd5 make generators noncopyable 2012-02-20 22:19:50 +00:00
Hermann Kraus
46f80cc6aa Use double instead of int and avoid rounding when possible.
Closes #1078.
2012-02-20 19:32:34 +01:00
Artem Pavlenko
6f5d16bfe3 + make feature_collection_parser a template so we can
instantiate with different iterator types
  e.g std::string::const_iterator and
  boost::spirit::multi_pass<std::istreambuf_iterator<char> >
2012-02-20 16:23:31 +00:00
Artem Pavlenko
6e498ad062 + update to use new names
+ add geometry_generator
2012-02-20 12:03:56 +00:00
Artem Pavlenko
8536b8a536 + better naming 2012-02-20 12:03:07 +00:00
Artem Pavlenko
3953a94636 + geojson generator interface 2012-02-20 10:53:58 +00:00
Artem Pavlenko
8e40537c48 + fix ident 2012-02-20 10:53:15 +00:00
Artem Pavlenko
256d23d5bc + cleanup 2012-02-20 10:52:39 +00:00
Artem Pavlenko
d8005e3486 + feature/geometry geojson generator impl 2012-02-20 10:51:45 +00:00
Hermann Kraus
76cdd7a254 Merge branch 'master' into python-textplacement 2012-02-19 01:00:52 +01:00
Hermann Kraus
6efdb3969e Handle text position differently.
Should fix part of the ShieldSymbolizer problems.
Refs #1078.
2012-02-18 14:39:13 +01:00
Hermann Kraus
2843ff3da8 Fix placement_finder.hpp includes. 2012-02-18 14:03:21 +01:00
Hermann Kraus
bb3ad18c95 Rename starting_{x,y} to center to reflect actual meaning. 2012-02-18 13:07:23 +01:00
Hermann Kraus
93d119464c Add new class to avoid mixing different types of positions. 2012-02-18 12:12:45 +01:00
Hermann Kraus
980cdd9e92 Use text_placements registry. 2012-02-18 00:39:14 +01:00
Hermann Kraus
3508ec5fb4 Merge branch 'master' into python-textplacement 2012-02-17 20:54:48 +01:00
Hermann Kraus
481e172b8e Add placement registry. 2012-02-17 20:15:16 +01:00
Hermann Kraus
2c6502e791 Merge branch 'master' of github.com:mapnik/mapnik 2012-02-17 19:52:38 +01:00
Hermann Kraus
7c98b8c9c0 Add XML name registry.
Allows users to add new types to XML styles.
2012-02-17 19:45:13 +01:00
Artem Pavlenko
b5bc17304c Merge remote-tracking branch 'origin/master' 2012-02-17 10:48:49 +00:00
Artem Pavlenko
c6a091937f + add get_optional to mapnik::feature_impl
returns -> boost::optional<mapnik::value const&>
+ use get_optional in feature_kv_iterator to avoid
  throwing exceptions
2012-02-17 10:46:29 +00:00
Dane Springmeyer
9be9b09d72 Merge branch 'master' of github.com:mapnik/mapnik 2012-02-16 17:44:34 -08:00
Dane Springmeyer
a5e1a66fe6 c++ style in hextree.hpp to aid in debugging - no functional change 2012-02-16 17:44:04 -08:00
Hermann Kraus
44beaf1bdf Make ShieldSymbolizer variables doubles.
Refs #1078.
2012-02-17 00:03:46 +01:00
Artem Pavlenko
63735982ee + remove const from parameters passed by-value 2012-02-16 15:35:27 +00:00
Hermann Kraus
ceda45249f Merge branch 'master' into python-textplacement 2012-02-16 00:18:44 +01:00
Hermann Kraus
819ee98041 Rename properties=>defauls, default_format=>format. 2012-02-16 00:17:22 +01:00
Hermann Kraus
4602338e0c Add ExpressionFormat: Allow changing text format based on expressions.
Closes #1036.
Refs #1048.
2012-02-15 21:38:24 +01:00
Artem Pavlenko
c83ab1d14e Merge remote-tracking branch 'origin/master' 2012-02-15 19:20:17 +00:00
Hermann Kraus
a2c2ad40e2 Make markers_placement a bit simpler and add sanity checks.
refs #974.
2012-02-15 20:06:50 +01:00
Artem Pavlenko
01497bfc36 + add typedef size_type to mapnik::vertex_vector
+ remove set_capacity() method - no longer required
2012-02-15 15:16:33 +00:00
Dane Springmeyer
a13b3f650c when feature put/get throws, print the key that does not exist 2012-02-14 14:57:03 -08:00
Artem Pavlenko
8116ba4809 ident 2012-02-14 18:35:00 +00:00
Artem Pavlenko
7e8207236e ident 2012-02-14 18:34:29 +00:00
Artem Pavlenko
dc4cc8f197 + base class already derived from boost::noncopyable 2012-02-14 18:33:39 +00:00
Artem Pavlenko
58b51b208e use standard_wide::space 2012-02-14 18:33:05 +00:00
Dane Springmeyer
9d5591b77a add argument 2012-02-13 22:02:23 -08:00
Dane Springmeyer
a18927a0b1 Add include 2012-02-13 11:59:04 -08:00
Dane Springmeyer
cafb98ed88 qi::omit works with boost >=1.46 but not <=1.45 - refs #1074 2012-02-13 11:47:55 -08:00
Hermann Kraus
be464f0c5b Move code for makers placement from hpp to cpp. 2012-02-13 20:20:09 +01:00
Dane Springmeyer
08216606ee formatting 2012-02-13 11:01:25 -08:00
Hermann Kraus
043dba3786 Merge branch 'cleanup-includes' 2012-02-13 19:37:20 +01:00
Hermann Kraus
f3dc78506b Remove almost empty unused headers. 2012-02-13 18:07:47 +01:00
Hermann Kraus
01e3450dff Add warning for filter_factory.hpp. 2012-02-13 17:03:42 +01:00
Artem Pavlenko
06ae6ae845 + fix #1042 - don't use omit[...] directive with boost_1_42_0 2012-02-13 12:12:13 +00:00
Hermann Kraus
828316bffd Remove unused file. 2012-02-12 23:44:05 +01:00
Hermann Kraus
d3e191ff73 Merge branch 'master' into python-textplacement
Conflicts:
	include/mapnik/formatting/list.hpp
2012-02-12 22:58:02 +01:00
Hermann Kraus
1fd7f9d543 Fix spelling error. 2012-02-12 22:48:44 +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
91ddbd4f73 Move other text placement files. 2012-02-12 03:16:33 +01:00
Hermann Kraus
34638b9e3c Split text_placements.hpp 2012-02-12 03:11:58 +01:00
Hermann Kraus
18004ca7fb Move processed_text. 2012-02-12 02:52:00 +01:00
Hermann Kraus
fbe929810b Fix most includes. 2012-02-12 02:47:26 +01:00
Hermann Kraus
6c29a12f24 Move text_symbolizer_properties. 2012-02-12 02:24:26 +01:00
Hermann Kraus
d7da55be15 Move char_properties. 2012-02-12 02:19:31 +01:00
Hermann Kraus
508ce0b65d Move formating::format_node. 2012-02-12 02:10:08 +01:00
Hermann Kraus
390b70eb44 Move formating::list_node. 2012-02-12 02:07:36 +01:00
Hermann Kraus
e37070f177 Move formating::text_node. 2012-02-12 02:05:27 +01:00
Hermann Kraus
e2c75c5eef Move formating::node. 2012-02-12 02:01:25 +01:00
Hermann Kraus
dc665bdea1 Merge branch 'master' into python-textplacement 2012-02-12 01:49:15 +01:00
Hermann Kraus
3b2767f167 Add additional constructor for common use case. 2012-02-12 01:48:25 +01:00
Hermann Kraus
67faac351b Merge branch 'master' into python-textplacement 2012-02-11 11:25:28 +01:00
Hermann Kraus
7ef1c3544e Bugfix: Collect expressions for formating::format_node. 2012-02-11 11:24:33 +01:00
Hermann Kraus
c94d32b41b Add bindings for formating::list_node. 2012-02-11 11:21:33 +01:00
Dane Springmeyer
4bf8a7f69e boost 1.42 compatibility 2012-02-10 10:31:11 -08:00
Artem Pavlenko
6a015dcd59 Merge remote-tracking branch 'origin/master' 2012-02-10 11:59:12 +00:00
Artem Pavlenko
602264d368 + implement 'in situ' boost::spirit::qi based geojson parser 2012-02-10 11:56:53 +00:00
Artem Pavlenko
f19bcafbf6 + make wkt_parser noncopyable 2012-02-10 10:53:04 +00:00
Artem Pavlenko
ff66cc1326 + check if index is valid in to_string()
+ output feature id
2012-02-10 10:52:06 +00:00
Hermann Kraus
1d50aa1b85 Make interface consistent with similar classes. 2012-02-08 01:16:37 +01:00
Artem Pavlenko
958097600c add wkt_parser class for grammar re-usage
implement from_wkt in terms of wkt_parser
2012-02-06 22:49:47 +00:00
Artem Pavlenko
8366da08ee fix compiler warnings about ref to temp obj (@springmeyer) 2012-02-06 09:42:53 +00:00
Hermann Kraus
b5627c0f5c Reduce warnings. 2012-02-05 18:10:29 +01:00
Hermann Kraus
a8e2fb1301 Enable depreaction warnings. 2012-02-05 16:31:29 +01:00
Hermann Kraus
e298d141da Improve expression handling. 2012-02-05 03:11:00 +01:00
Hermann Kraus
0a030d55e6 Remove left over declaration. 2012-02-03 23:33:34 +01:00
Hermann Kraus
9c92bf713d Easier syntax by hiding internal data type. 2012-02-03 00:34:14 +01:00
Dane Springmeyer
17d13cff67 whitespace fixes - closes #911 2012-02-01 17:53:35 -08:00
Dane Springmeyer
1cafc03a46 whitespace fixes 2012-02-01 17:49:28 -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
Hermann Kraus
cc886d1688 Merge branch 'feature-text-merge' 2012-01-31 16:52:28 +01:00
Hermann Kraus
06ce3f7eec Merge remote-tracking branch 'herm/textplacement-merge' 2012-01-31 16:37:37 +01:00
Hermann Kraus
72f061b75a Revert 0c5fc9f246.
For new text placment branch a different solution is needed.
2012-01-31 16:36:40 +01:00
Hermann Kraus
1a16e9c5ab Remove class text_processor. 2012-01-31 16:24:58 +01: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
7f91fb7b1e change read_xxx_xxx methods to not return
input value by ref.
2012-01-31 09:46:21 +00:00
Artem Pavlenko
cad0261e55 check if index is valid before pushing back value. 2012-01-31 09:45:06 +00:00
Artem Pavlenko
f53122ea04 add setter for geometry type
add default ctor (eGeomType->Unknown)
2012-01-30 20:46:39 +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
49225d7468 Handle additional boxes from ShieldSymbolizer. 2012-01-29 20:28:32 +01:00
Hermann Kraus
16e5fefb4d Remove text_placement_info::initialize() to avoid incorrect usage of this object. 2012-01-29 20:04:31 +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
Hermann Kraus
09459683e9 Update symbolizer helpers for ShieldSymbolizer.
Correctly handle point placement for TextSymbolizer. (Tries each possible placement for each point).
2012-01-29 04:49:02 +01:00
Hermann Kraus
a3871e52b7 Rename set_values_from_xml to from_xml. 2012-01-28 17:13:41 +01:00
Hermann Kraus
ff07b4bce0 placement_element => text_path 2012-01-28 00:09:58 +01:00
Hermann Kraus
d6b8209a9d Rewrote text processing to use a tree structure.
Reduces the number of classes and simplifies extension.
2012-01-27 23:15:12 +01:00
Artem Pavlenko
be9b622d1d revert previous bogus change 2012-01-27 17:01:07 +00:00
Artem Pavlenko
09687ce331 Merge branch 'master' into feature-text-merge 2012-01-27 12:51:13 +00:00
Artem Pavlenko
f646aa2228 add support for escaped characters/hex notataion i.e \x20
allow both single and double quoted strings
2012-01-27 12:43:43 +00:00
Artem Pavlenko
77772e8470 add basic polygon sorting 2012-01-27 09:47:04 +00:00
Hermann Kraus
dbc1280731 Process more than one geometry.
Start work on ShieldSymbolizer.
2012-01-26 20:05:38 +01:00
Hermann Kraus
1bd3e3678c Really use filtered geometries. 2012-01-26 18:13:40 +01:00
Artem Pavlenko
ff44b53583 use geometries_to_process 2012-01-26 16:25:26 +00:00
Artem Pavlenko
5c6fdc780f return member variable by const reference 2012-01-26 13:07:28 +00:00
Artem Pavlenko
36a23367a6 + fix compilation issues 2012-01-26 13:05:41 +00:00
Artem Pavlenko
d1f16bb227 merge textplacement-merge into feature_impl 2012-01-26 13:04:08 +00:00
Artem Pavlenko
c405d61e1c remove <config.hpp> 2012-01-25 20:23:14 +00:00
Artem Pavlenko
06e91a56c6 remove <config.hpp> 2012-01-25 20:21:06 +00:00
Hermann Kraus
37ba77550c More documentation. 2012-01-25 18:46:27 +01:00
Hermann Kraus
1106dcb445 Support for cairo + grid renderer. 2012-01-25 16:17:38 +01:00
Hermann Kraus
bdc20f766b Complete symbolizer_helpers.hpp for TextSymbolizer. 2012-01-25 15:44:19 +01: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