Commit graph

439 commits

Author SHA1 Message Date
Artem Pavlenko
71b28a0914 + add templated operator== 2009-11-11 10:56:21 +00:00
Artem Pavlenko
9f51cfdede + apply mapnik formatting
+ change order of template specialization (tidy)
2009-11-08 10:35:29 +00:00
Dane Springmeyer
d1f1f6971b avoid loss of true black on BIG_ENDIAN 2009-11-02 23:55:16 +00:00
Dane Springmeyer
c29c8b459e add BIG_ENDIAN support to graphics rectangle methods 2009-11-02 22:48:39 +00:00
Dane Springmeyer
878143960e support BIG_ENDIAN and jpeg output 2009-11-02 20:55:26 +00:00
Dane Springmeyer
f8248faf4d support BIG_ENDIAN and png256 2009-11-02 20:54:35 +00:00
Dane Springmeyer
1b4443e800 add support for BIG_ENDIAN to 'blendPixel2', to support propertly colored text labels 2009-11-02 19:57:02 +00:00
Dane Springmeyer
8e5d4368bb add missing header so that MAPNIK_BIG_ENDIAN is propertly defined 2009-11-02 19:18:52 +00:00
Dane Springmeyer
34f2214396 apply alternative method of comparing map and layer bounds to support PointDatasource (patch from phispi, test from JRohrer), closes #402 2009-10-21 21:24:44 +00:00
Artem Pavlenko
2dcf88b392 + wall-clock timer from auf
(see #439 for more details)
2009-10-20 20:32:53 +00:00
Artem Pavlenko
a3a5859466 Patch from David Eastcott :
1.  Modified Text Symbolizer

  a) corrected line fragment centering (for 2nd and subsequent lines, when line breaks occur).

  b) adjusted vertical alignment calculation so that:
      i)      middle -> has the center of the text line(s) at the point origin
      ii)     bottom -> has the text line(s) below the point origin
      iii)    top -> has the text line(s) above the point origin

  c) added new text_symbolizer attribute: 'wrap_before', value range: true/false, default == false

     allows line breaks at first wrap_char before wrap_width as an alternative to the original
     which was to create the line break at the first wrap_char after wrap_width

  d) added new text_symbolizer attribute: 'horizontal_alignment', value range: left/middle/right, default == middle
      i)      left -> has all text line(s) to left of the point origin
      ii)     middle -> has all text line(s) centered on the the point origin
      iii)    right -> has all text line(s) to the right of the point origin

      NOTE:   dx, dy position adjustments are applied after alignments and before Justify.

  e) added new text_symbolizer attribute: 'justify_alignment', value range: left/middle/right, default == middle
      i)      left -> after alignments, has all text line(s) are left justified (left to right reading)
      ii)     middle -> after alignments, has all text line(s) center justified
      iii)    right -> after alignments, has all text line(s) right justified (right to left reading)

  f) added new text_symbolizer attribute:  'opacity', value range: 0.0 thru 1.0; 1.0 == fully opaque

  g) modified positioning to compensate for both line_spacing and character_spacing, to ensure proper
     centering of the text envelope.  Also ensure that centering occurs correctly even if no wrapping
     occurs.  Line spacing is uniform and consistent and compensates for errors between text_size and
     the actual size (ci.height is inconsistent, depending on case and character); fixes issue with
     multi-line text where some lines have a slight gap and others are compressed together.


2.  Modified shield_symbolizer

  a) added the attributes:
      i)      allow_overlap
      ii)     vertical_alignment
      iii)    horizontal_alignment
      iv)     justify_alignment
      v)      wrap_width
      vi)     wrap_character
      vii)    wrap_before
      viii)   text_convert
      ix)     line_spacing
      x)      character_spacing
      xi)     opacity

  b)  added new shield_symbolizer attribute: 'unlock_image', value range: true/false, default == false
      i)  false == image and text placement behaviour same as before
      ii) true == image placement independant of text, image is always centered at geometry point, text placed per attributes,
                  dx/dy only affect text.

      Allows user to create point markers with text, but both the text and image rendering collision detection are done
      as a pair (they come and go together - solves problem if using point_symbolizer and text_symbolizers where one or the
      other are omitted due to overlaps, but not both)

  c)  extended choices for the attribute 'placement' to include vertex; effect is limited to the shield_symbolizer

      Allows an attempted placement at every vertex available, gives additional shield placement volume when using line geometry

  d)  ensured that the text placement was not updating the detector unless a shield image was actually placed.

  e)  added new shield_symbolizer attribute: 'no_text', value range: true/false, default = false

      When set true, the text for the feature is ignored ('space' subsituted) so that pure graphic symbols can be used
      and no text is rendered over top of them.
2009-10-19 13:52:53 +00:00
Dane Springmeyer
ba9376626a add a filter parsing alias of '!=' for '<>' - closes #427 2009-09-29 23:40:40 +00:00
Dane Springmeyer
78fd5dc89a avoid deprecation warnings with boost 1_40 related to location of property_map.hpp 2009-09-25 22:08:52 +00:00
Dane Springmeyer
d9d15bb081 avoid segfault when pickling a TextSymbolizer using wrap_character by removing const declaration 2009-09-25 20:29:03 +00:00
Dane Springmeyer
e897b832a4 +reflect new text symbolizer options added in r1254 - closes #391 2009-08-17 22:54:50 +00:00
Dane Springmeyer
65066f604f formatting 2009-08-11 01:22:08 +00:00
Dane Springmeyer
e7dd9094a5 revert unintended file changes from r1275 2009-07-26 01:15:44 +00:00
Dane Springmeyer
45266074c8 scons: fix typo, and ensure all temp output is writeable 2009-07-26 01:08:51 +00:00
Dane Springmeyer
52eb500749 formatting 2009-07-24 07:26:14 +00:00
Dane Springmeyer
286ad12c47 add method to save a map to a string (closes #396) 2009-07-24 06:15:58 +00:00
Dane Springmeyer
e0c9e5c826 add missing serialization of building symbolizer height, be explicit of double in polygon_symbolizer 2009-07-24 06:10:42 +00:00
Artem Pavlenko
85ecc33d7f + applied patch from Jochen Topf :
* text_convert="none|toupper|tolower"
 Convert all text to upper/lower case before rendering. "none" doesn't do
 anything with the text and is the default. Works for labels along lines
 or at points.

* line_spacing="<number>"
 Add this many pixels space between two lines in text labels that have
 been broken into several lines. Default is 0. Doesn't do anything for
 labels along lines.

* character_spacing="<number>"
 Add this many pixels space between two characters in a text. Default is 0.
 Currently only works for text labels on point geometries. This should
 also be implemented for labels along lines, but I'll leave that for
 another day.

* wrap_character="<character>"
 Instead of breaking text into lines on spaces, use this character. This
 is useful, when you want to make sure that labels are broken at the right
 spot. Note that you'll probably want to make wrap_width small so that
 your lines are actually broken, otherwise you'll see the wrap_character
 in the output. Default is ' ' (space). Doesn't do anything for labels
 along lines.
2009-07-20 15:30:19 +00:00
Dane Springmeyer
d6cf82efb0 +support for BigInt(int8) datatype in postgres, closes #384 2009-07-17 04:30:11 +00:00
Artem Pavlenko
e81f6b23ef + increment version to 0.6.1 2009-07-09 14:41:14 +00:00
Artem Pavlenko
e5ac14a236 + removed unused #include 2009-07-08 20:50:20 +00:00
Artem Pavlenko
155e490c33 + store individial colour components internally 2009-07-08 11:52:13 +00:00
Dane Springmeyer
408e3fedcb fix small typo in #define 2009-07-08 00:06:13 +00:00
Artem Pavlenko
ae96fffee0 + use MAPNIK_BIG_ENDIAN
+ support for reading int16_t 
+ allow compiling shape.input with or without memory mapped files support 
  ( define SHAPE_MEMORY_MAPPED_FILE to enable)
2009-07-07 23:56:01 +00:00
Artem Pavlenko
535a8dc2a5 + fully qualify stl strings 2009-07-07 23:54:02 +00:00
Artem Pavlenko
470c92adee + reverse order when reading NDR int/double 2009-07-07 19:44:40 +00:00
Artem Pavlenko
6ca258cc1e + fixed read_xxx_double methods 2009-07-07 16:05:24 +00:00
Artem Pavlenko
d20a2de459 + move byte order depended I/O to global.hpp
this should fix shape.input PPC issues
2009-07-03 13:29:50 +00:00
Dane Springmeyer
14ef2b36f0 expose list of registered plugins as a 'plugin_names()' method of DatasourceCache similar to the FontEngine.face_names() - closes #246 2009-06-22 06:59:56 +00:00
Jon Burgess
8c60753db6 Fix reduce_4() to make it consistent with reduce_8(). This was breaking tiles which were compressing down to a 16 entry colormap. All the pixels were being set to the alpha index. 2009-06-13 18:27:44 +00:00
Dane Springmeyer
7eb01c0be4 +make cairo compilation conditional on CFLAG (as well as Scons) like bindings/python/python_cairo.cpp 2009-06-08 19:43:49 +00:00
Dane Springmeyer
06f740615d apply patch from River Tarnell <river@loreley.flyingparchment.org.uk> for Sun CC (Solaris) compile support 2009-06-03 06:10:35 +00:00
Dane Springmeyer
e7aff375db std namespacing 2009-06-03 05:26:46 +00:00
Dane Springmeyer
dadd64519b +add pickle support for proj_transform and view/coord_transform - see #345 2009-05-24 06:31:32 +00:00
Dane Springmeyer
fd98a4a49a shuffle guess_type to image_utils for logical re-use 2009-05-19 22:43:54 +00:00
Dane Springmeyer
88765bb582 add MAPNIK_DECL to symbolizer_with_image - closes #94 2009-05-15 23:56:06 +00:00
Dane Springmeyer
13fa57e61f expose setting of symbolizer_with_image filename 2009-05-14 22:54:36 +00:00
Dane Springmeyer
b905e81fbe formatting 2009-05-14 22:53:03 +00:00
Dane Springmeyer
196b01c16c + make interface to datasource attributes, featuresets, and features more pythonicby adding feature.envelope() method returning combined extent of geometries, ds.fields() method returning list of names, and featureset.features() which returns list of all features in featurset - now accessible via datasource.all_features()- closes #283, #280, #171 2009-05-01 01:21:29 +00:00
Dane Springmeyer
263674d3d9 fix compiler warnings after r1111 (adding png256 alpha support) 2009-04-30 17:38:32 +00:00
Lucio Asnaghi
eaa49ca028 + applying patch proposed by dane that add explicit_defaults selection when saving maps (closes #327) 2009-04-28 21:44:34 +00:00
Lucio Asnaghi
158989fc56 + fix text_symbolizer support for vertical_alignment in save_map() (closes #328) 2009-04-28 21:23:43 +00:00
Dane Springmeyer
201461e8c9 +png256 alpha support from Marcin - closes #202 2009-04-28 07:29:48 +00:00
Artem Pavlenko
8d963e4270 + use separate x/y scales - important for raster 2009-04-10 12:00:51 +00:00
Artem Pavlenko
9cdc8951ca + pass parameter by const ref 2009-04-10 11:47:46 +00:00
Dane Springmeyer
4276ae24fe allow customization of JPEG output image quality using syntax similar to png256, but using 0-100 as suffix, e.g. render_to_file(m,'image.jpeg','jpeg80') - closes #198 - patch from Dennis Luxen 2009-04-07 15:48:51 +00:00
Dane Springmeyer
1fd4ed0a55 fix missing const - thanks Denis - closes #273 and #287 2009-04-02 16:35:08 +00:00
Dane Springmeyer
08669a08fb scons: add an option to turn on XML spirit debug output in addition to debug mode (note earlier commit added part of this patch http://trac.mapnik.org/changeset/1027/trunk/include/mapnik/filter_parser.hpp) - closes #150 2009-04-01 03:31:24 +00:00
Artem Pavlenko
4a3a9128ec + move compositing modes implementation out of Image class 2009-03-31 10:08:33 +00:00
Artem Pavlenko
e4f305620f + use 'byte' (boost::uint8_t) 2009-03-31 09:42:20 +00:00
Artem Pavlenko
10f55a678b + add support for vertical_alignment (text_symbolizer)
valid values are : top, middle, bottom
  default to middle which can now center multi-line text
2009-03-30 20:47:26 +00:00
Artem Pavlenko
2eec236fc2 + applied "hill shading" patch from Marcin Rudowski
a) Raster opacity
   b) Raster merging modes (TODO:add more modes, consider agg impl)
   c) Raster scaling algos: fast,bilinear,bilinear8
      (TODO: add alpha support in bilinear8) 
   d) improvements to png256

   *Great work, thanks!*
2009-03-29 11:05:20 +00:00
Andreas Volz
cab469eefb - added new et input plugin
- add missing files to plugins Makefile.am
- split debugging and tracing
- documentation
2009-03-22 22:26:42 +00:00
Artem Pavlenko
570fe611f4 + qualify 'value' to avoid names clashing
+ use _enumeration helper wrapper
2009-03-21 12:39:06 +00:00
Artem Pavlenko
afaf2df3ec + update CHANGELOG
+ formatting
2009-03-21 11:25:07 +00:00
Andreas Volz
194093d719 doxygen docs for some functions and classes 2009-03-01 21:09:09 +00:00
Lucio Asnaghi
556095af04 - sqlite.input: added row_offset and row_limit to parameters
- sqlite.input: added wkb_format parameter for selecting WKB format (generic/spatialite)
- sqlite.input: commented check of the spatial index
- wkb.hpp: removed wkqSQLite in favour of wkbSpatiaLite
2009-02-23 15:00:25 +00:00
Andreas Volz
c64269e1e3 support for sqlite3 and ogr 2009-02-18 22:17:00 +00:00
Artem Pavlenko
f3a835d2f2 + const correctness 2009-02-18 16:39:26 +00:00
Artem Pavlenko
97a40d7e7e + fix msvc-9.0 compiler warnings 2009-02-17 23:19:28 +00:00
Artem Pavlenko
5358417474 + use class/struct keywords correctly 2009-02-17 22:06:30 +00:00
Artem Pavlenko
021c7c0044 + ignore unused variable warning 2009-02-16 23:31:47 +00:00
Artem Pavlenko
da9f79c494 + add specialisations for bool
+ small fix
2009-02-16 15:47:18 +00:00
Artem Pavlenko
98267e2959 + MAPNIK_VERSION (defined in mapnik/version.hpp)
+ expose version in Python :
  mapnik.mapnik_version()
  mapnik.mapnik_version_string()
+ add SQLite plug-in in Python bindings
2009-02-12 16:44:04 +00:00
Artem Pavlenko
950cfb8473 + add missing MAPNIK_DECL 2009-02-12 14:33:00 +00:00
Artem Pavlenko
8839d9fd3f + add <string> 2009-02-11 17:09:56 +00:00
Artem Pavlenko
698037e782 + use 'byte' defined in global.hpp 2009-02-11 16:57:46 +00:00
Artem Pavlenko
f65f3782dc + use 'typedef byte' instead of uint_8t 2009-02-11 16:45:20 +00:00
Artem Pavlenko
c937fe280a + make compile cleanly with boost >= 1.38.0
(TODO : move to spirit2 in milestone 1.0.0)
2009-02-11 16:29:44 +00:00
Artem Pavlenko
160c227196 + boost-qualify type 2009-02-11 15:58:22 +00:00
Artem Pavlenko
66120740cf + add missing header cstdint.hpp 2009-02-11 15:23:45 +00:00
Artem Pavlenko
87add8220f + fixed typo affecting win32 build 2009-02-11 15:12:06 +00:00
Lucio Asnaghi
2c81706eb5 Following #223:
+ improvements to the wkb converter
+ improved sqlite index usage
+ added more parameters to sqlite datasource
2009-02-10 19:09:16 +00:00
Tom Hughes
abe24475d8 Add a modulus operator to the filter language. 2009-02-10 15:46:54 +00:00
Artem Pavlenko
7d2f492ef2 + sqlite-input-plugin.patch (kunitoki)
+ wkb-sqlite.patch (kunitoki)
+ very preliminary spatial index support (idx_<tablename>_<geometry_field>)
2009-02-09 19:43:57 +00:00
Jon Burgess
5ac5522f4b Improve numerical accuracy of calculations used for finding the polygon centroid. Otherwise the labels for small polygons might appear outside the boundary. 2009-02-07 23:46:26 +00:00
Tom Hughes
220bb3e99a Revert the patch to add a show_page flag to the cairo renderer and
replace it with support for rendering to a cairo context rather than
a cairo surface.

When rendering to a surface a show_page is done, when rendering to a
context it is not so that multiple renders can be done, possibly with
modified scaling and/or translation.
2009-02-06 00:46:29 +00:00
Dane Springmeyer
51293f64ba + apply show_page.patch (thanks Berteun) (closes #201) 2009-02-05 18:09:14 +00:00
Artem Pavlenko
a45e93b79a + more property goodness on the TextSymbolizer from Python (springmeyer) 2009-02-05 11:54:07 +00:00
Dane Springmeyer
29cc79b9cf Fix compiler warnings introduced in r855 by moving allow_overlap below has_dimensions 2009-02-03 03:10:18 +00:00
Artem Pavlenko
e27a71cc39 + mapnik_text_overlap.patch (Marcin Rudowski) 2009-02-02 23:37:16 +00:00
Artem Pavlenko
760d82f511 + mapnik_png256_reduce.patch (Marcin Rudowski) 2009-02-02 23:35:57 +00:00
Artem Pavlenko
10481f8403 + use 'buffered' extent in bbox query 2009-02-02 23:08:28 +00:00
Artem Pavlenko
866f5f98eb + implement buffered_extent method on Map object 2009-02-02 23:07:18 +00:00
Artem Pavlenko
6a86e239b1 + always clip bbox to layer extent 2009-02-01 23:25:05 +00:00
Artem Pavlenko
d61b3e4918 + remove unused header 2009-02-01 23:23:37 +00:00
Jon Burgess
cc91460a01 Filter parsing: Allow numbers in the filter field name. This allows for shapefiles with columns like '1970'. 2009-02-01 23:07:37 +00:00
Dane Springmeyer
f5127d6ee4 Remove reference to CAIRO_HAS_IMAGE_SURFACE macro since this is not supported until cairo 1.8 release 2009-01-28 21:11:10 +00:00
Artem Pavlenko
98875e392b + fix compiler warning 2009-01-27 10:18:06 +00:00
Artem Pavlenko
eeb759d9e1 + normalize rgb color ranges to 0-255,
+ clip alpha to 0.0 - 1.0 range
2009-01-26 15:59:10 +00:00
Artem Pavlenko
9b1c4b2413 + cast to unsigned int to avoid compiler warnings 2009-01-26 14:25:05 +00:00
Artem Pavlenko
2c317f7706 + mapnik-write-colors-using-rgba-not-hex.patch (jonb)
When you use save_xml() the colors are written out in #RGB format
  which can not represent alpha information. The patch makes it save using
  the rgb()/rgba() strings.
2009-01-21 15:43:49 +00:00
Artem Pavlenko
a0cbbaaec0 + mapnik-roundup-alpha-conversion.patch (jonb)
Round up alpha values when converting float to int otherwise the value
   to changes each time we read/write the color to XML.
2009-01-21 15:39:54 +00:00
Artem Pavlenko
8b298729bf + mapnik-centralise-image-tostring-functions.patch (jonb)
(moves Image.tostring() to core c++ code)
2009-01-19 22:51:55 +00:00
Artem Pavlenko
fbb8b5da3e + added specializations for mapnik::color to avoid to/from stream conversions 2009-01-17 23:45:19 +00:00
Artem Pavlenko
e6ab076a4c + init alpha to 255 in actions 2009-01-17 21:44:01 +00:00