368 lines
15 KiB
Text
368 lines
15 KiB
Text
# $Id: CHANGELOG 776 2008-12-7 01:30:27Z dane $
|
|
|
|
----------------
|
|
Mapnik Changelog
|
|
----------------
|
|
|
|
A simple log of core changes affecting Mapnik usage.
|
|
|
|
Developers: Please commit along with changes.
|
|
|
|
For a complete change history, see the SVN log.
|
|
|
|
|
|
Mapnik Trunk
|
|
------------
|
|
|
|
- Upgraded to the latest proj4 string literal for EPSG:4326 (WGS84) as global default projection (#333)
|
|
|
|
- Added 'mapnik_version_from_string()' function in python bindings to easily convert string representation
|
|
of version number to the integer format used in 'mapnik/version.hpp'. e.g. '0.7.1' --> 701.
|
|
|
|
- Added 'mapnik_version_from_string()' function in python bindings to easily convert string representation
|
|
of version number to the integer format used in 'mapnik/version.hpp'. e.g. '0.7.1' --> 701.
|
|
|
|
- Added xinclude (http://www.w3.org/TR/xinclude/) support to libxml2-based xml parser (oldtopos) (#567)
|
|
|
|
- Optimized rendering speeds by avoiding locking in the projection code (r2063)
|
|
|
|
- Added support for setting global alignment of polygon pattern fills (#203)
|
|
|
|
- Added support for choosing OGR layer by index number using 'layer_by_index' parameter (r1904)
|
|
|
|
- Added support for reading jpeg images (in addition to png/tiff) for image symbolizers (#518)
|
|
|
|
- Made libjpeg dependency optional at compile time and added mapnik2.has_jpeg() method to check for support in python (#545).
|
|
|
|
- Fixed reading of PostGIS data on Big Endian systems (#515)
|
|
|
|
- PostGIS: Added better support for alternative schemas (#500)
|
|
|
|
- AGG Renderer - Enforced default gamma function on all symbolizers to ensure proper antialiasing
|
|
even when gamma is modified on the PolygonSymbolizer. (#512)
|
|
|
|
- Added ability to read pre 0.8.0 stylesheets, but prints a warning for deprecated syntax (r1592, #501)
|
|
|
|
- Rasterlite Plugin: Experimental support for Rasterlite, to practically use sqlite database with wavelet compressed rasters (#469)
|
|
|
|
- PNG: fixed png256 for large images and some improvements to reduce color corruptions (#522)
|
|
|
|
- Implement MarkersSymbolizer in Cairo render and improve the markers placementfinder. (#553)
|
|
|
|
|
|
Mapnik 0.7.0 Release
|
|
--------------------
|
|
|
|
(Packaged from r1574)
|
|
|
|
- Core: Fixed linking to external libagg (r1297,r1299)
|
|
|
|
- Core: Completed full support for PPC (Big endian) architectures (r1352 -> r1357)
|
|
|
|
- Gdal Plugin: Added support for Gdal overviews, enabling fast loading of > 1GB rasters (#54)
|
|
|
|
* Use the gdaladdo utility to add overviews to existing GDAL datasets
|
|
|
|
- PostGIS: Added an optional 'geometry_table' parameter. The 'geometry_table' used by Mapnik to look up
|
|
metadata in the geometry_columns and calculate extents (when the 'geometry_field' and 'srid' parameters
|
|
are not supplied). If 'geometry_table' is not specified Mapnik will attempt to determine the name of the
|
|
table to query based on parsing the 'table' parameter, which may fail for complex queries with more than
|
|
one 'from' keyword. Using this parameter should allow for existing metadata and table indexes to be used
|
|
while opening the door to much more complicated subqueries being passed to the 'table' parameter without
|
|
failing (#260, #426).
|
|
|
|
- PostGIS Plugin: Added optional 'geometry_field' and 'srid' parameters. If specified these will allow
|
|
Mapnik to skip several queries to try to determine these values dynamically, and can be helpful to avoid
|
|
possible query failures during metadata lookup with complex subqueries as discussed in #260 and #436, but
|
|
also solvable by specifying the 'geometry_table' parameter. (r1300,#376)
|
|
|
|
- PostGIS: Added an optional 'extent_from_subquery' parameter that when true (while the 'extent' parameter is
|
|
not provided and 'estimate_extent' is false) will direct Mapnik to calculate the extent upon the exact table
|
|
or sql provided in the 'table' parameter. If a sub-select is used for the table parameter then this will,
|
|
in cases where the subquery limits results, provide a faster and more accurate layer extent. It will have
|
|
no effect if the 'table' parameter is simply an existing table. This parameter is false by default. (#456)
|
|
|
|
- PostGIS Plugin: Added 'bbox' token substitution ability in sql query string. This opens the door for various
|
|
complex queries that may aggregate geometries to be kept fast by allowing proper placement of the bbox
|
|
query to be used by indexes. (#415)
|
|
|
|
* Pass the bbox token inside a subquery like: !bbox!
|
|
|
|
* e.g. (Select ST_Union(geom) as geom from table where ST_Intersects(geometry,!bbox!)) as map
|
|
|
|
- PostGIS Plugin: Added 'scale_denominator' substitution ability in sql query string (#415/#465)
|
|
|
|
* Pass the scale_denominator token inside a subquery like: !scale_denominator!
|
|
|
|
* e.g. (Select * from table where field_value > !scale_denominator!) as map
|
|
|
|
- PostGIS Plugin: Added support for quoted table names (r1454) (#393)
|
|
|
|
- PostGIS: Add a 'persist_connection' option (default true), that when false will release
|
|
the idle psql connection after datasource goes out of scope (r1337) (#433,#434)
|
|
|
|
- PostGIS: Added support for BigInt (int8) postgres type (384)
|
|
|
|
- PostGIS Plugin: Throw and report errors if SQL execution fails (r1291) (#363, #242)
|
|
|
|
- PostGIS Plugin: Fixed problem in conversion of long numbers to strings (r1302,1303)
|
|
|
|
- PostGIS Plugin: Added missing support for BigInt(int8) postgres datatypes (r1250) (#384)
|
|
|
|
- OGR Plugin: Added support for reading multipoint features (#458)
|
|
|
|
- Shape Plugin: Fixed bug in file extension stripping (#413)
|
|
|
|
- Shape Plugin: Fixed missing compiler flags that causes crashing on newer g++ versions (#436)
|
|
|
|
- PNG: Fixed problem with garbled/striped png256 output along sharpe edges(#416,#445,#447,#202)
|
|
|
|
- PNG: Added support for semitransparency in png256 output (#477,#202)
|
|
|
|
- PolygonSymbolizer: Added 'gamma' attribute to allow for dilation of polygon edges - a solution
|
|
to gap artifacts or "ghost lines" between adjacent polygons and allows for slight sharpening of
|
|
the edges of non overlapping polygons. Accepts any values but 0-1 is the recommended range.
|
|
|
|
- TextSymbolizer: Large set of new attributes: 'text_convert', 'line_spacing', 'character_spacing',
|
|
'wrap_character', 'wrap_before', 'horizontal_alignment', 'justify_alignment', and 'opacity'.
|
|
|
|
* More details at changesets: r1254 and r1341
|
|
|
|
- SheildSymbolizer: Added special new attributes: 'unlock_image', 'VERTEX' placement, 'no_text' and many
|
|
attributes previously only supported in the TextSymbolizer: 'allow_overlap', 'vertical_alignment',
|
|
'horizontal_alignment', 'justify_alignment', 'wrap_width', 'wrap_character', 'wrap_before', 'text_convert',
|
|
'line_spacing', 'character_spacing', and 'opacity'.
|
|
|
|
* More details at changeset r1341
|
|
|
|
- XML: Added support for using CDATA with libxml2 parser (r1364)
|
|
|
|
- XML: Fixed memory leak in libxml2 implementation (#473)
|
|
|
|
- XML: Added function to serialize map to string, called 'mapnik.save_map_to_string()' (#396)
|
|
|
|
- XML: Added parameter to <Map> called 'minimum_version' to allow for enforcing the minimum Mapnik version
|
|
needed for XML features used in the mapfiles. Uses Major.Minor.Point syntax, for example
|
|
<Map minimum_version="0.6.1"> would throw an error if the user is running Mapnik less than 0.6.1.
|
|
|
|
- XML: Added support for relative paths when using entities and 'mapnik.load_map_from_string()' (#440)
|
|
|
|
- XML: Made width and height optional for symbolizers using images (r1543)
|
|
|
|
- XML: Ensured that default values for layers are not serialized in save_map() (r1366)
|
|
|
|
- XML: Added missing serialization of PointSymbolizer 'opacity' and 'allow_overlap' attributes (r1358)
|
|
|
|
- XML: Default text vertical_alignment now dependent on dy (#485, r1527)
|
|
|
|
- Python: Exposed ability to write to Cairo formats using 'mapnik.render_to_file()' and without pycairo (#381)
|
|
|
|
- Python: Fixed potential crash if pycairo support is enabled but python-cairo module is missing (#392)
|
|
|
|
- Python: Added 'mapnik.mapnik_svn_revision()' function to svn revision of Mapnik was compiled at.
|
|
|
|
- Python: Added 'mapnik.has_pycairo()' function to test for pycairo support (r1278) (#284)
|
|
|
|
- Python: Added 'mapnik.register_plugins()' and 'mapnik.register_fonts()' functions (r1256)
|
|
|
|
- Python: Pickling support for point_symbolizer (r1295) (#345)
|
|
|
|
- Python: Ensured mapnik::config_errors now throw RuntimeError exception instead of UserWarning exception (#442)
|
|
|
|
- Filters: Added support for '!=' as an alias to '<>' for not-equals filters (avoids <>) (r1326) (#427)
|
|
|
|
- SCons: Improved boost auto-detection (r1255,r1279)
|
|
|
|
- SCons: Fixed support for JOBS=N and FAST=True to enable faster compiling (r1440)
|
|
|
|
- SCons: Ensured that -h or --help will properly print help on custom Mapnik options before a user
|
|
has been able to properly run 'configure'. (r1514)
|
|
|
|
- SCons: Added ability to link to custom icu library name using ICU_LIB_NAME (r1414)
|
|
|
|
- SCons: Improved reliability of python linking on OSX (#380)
|
|
|
|
- Fonts: Added unifont to auto-installed fonts, which is used by the OSM styles as a fallback font (r1328)
|
|
|
|
|
|
|
|
Mapnik 0.6.1 Release
|
|
--------------------
|
|
|
|
(Packaged from r1247)
|
|
|
|
- Plugins: expose list of registered plugins as a 'plugin_names()' method of DatasourceCache (r1180)
|
|
|
|
- XML: Fixed serialization and parsing bugs related to handling of integers and Enums (#328,#353)
|
|
|
|
- SCons: Added the ability to set the PKG_CONFIG_PATH env setting (#217)
|
|
|
|
- SCons: Improved linking to only required libraries for libmapnik (#371)
|
|
|
|
- Shape Plugin: Added compile time flag to allow disabling the use of memory mapped files (r1213) (#342)
|
|
|
|
- Core: Improved support for PPC (Big endian) architectures (r1198 -> r1213)
|
|
|
|
- Scons: Improved auto-detection of boost libs/headers (r1200) (#297)
|
|
|
|
- Plugins: Exposed list of available/registered plugins (r1180) (#246)
|
|
|
|
- SCons: Improve build support for SunCC (patches from River Tarnell) (r1168, r1169)
|
|
|
|
- Python: Pickling support for text_symbolizer (r1164) (#345)
|
|
|
|
- Python: Pickling support for proj_transform and view/coord_transform (r1163) (#345)
|
|
|
|
- Python: Pickling support for parameters (r1162) (#345)
|
|
|
|
- Python: Pickling support for stroke objects (r1161) (#345)
|
|
|
|
- Python: Pickling support for line_symbolizer (r1160) (#345)
|
|
|
|
- Python: Pickling support for projection objects (r1159) (#345)
|
|
|
|
- Python: Pickling support for shield_symbolizer (r1158) (#345)
|
|
|
|
- Python: Pickling support for polygon_symbolizer (r1157) (#345)
|
|
|
|
- Python: Pickling support for query objects (r1156) (#345)
|
|
|
|
- Python: Pickling support for pattern symbolizers (r1155) (#345)
|
|
|
|
- Python: Pickling support for raster_symbolizer (r1154) (#345)
|
|
|
|
- Python: Added 'mapnik.has_cairo()' function to test for cairo support (r1152) (#284)
|
|
|
|
- Python: Exposed dash_array get method (r1151) (#317)
|
|
|
|
- Python: Pickling support for Coord objects (#345)
|
|
|
|
- GDAL Plugin: Added an experimental option to open files in 'shared mode' (r1143)
|
|
|
|
- Python: Exposed RasterSymbolizer options in Python (r1139)
|
|
|
|
- Plugins: Fixed support for non-file based sources in GDAL and OGR plugins (#336,#337)
|
|
|
|
- Plugins: Formal inclusion of new plugin for Kismet server (r1127) (#293)
|
|
|
|
- Python: Made access to features and featuresets more Pythonic (r1121) (#171,#280,#283)
|
|
|
|
- XML: Ensured relative paths in XML are interpreted relative to XML file location (r1124) (#326)
|
|
|
|
- XML: Added ability to serialize all default symbolizer values by passing third argument to save_map(m,'file.xml',True)(r1117) (#327)
|
|
|
|
- Core: Added support for alpha transparency when writing to png256 (patch from Marcin Rudowski) (#202)
|
|
|
|
- SCons: Ensured ABI compatibility information is embedded in libmapnik.dylib on Mac OS X (#322)
|
|
|
|
- SCons: Ensured that the full 'install_name' path would be added to libmapnik.dylib on Mac OS X (#374)
|
|
|
|
- Tests: Added testing framework in Python using nose (r1101-r1105)
|
|
|
|
- Raster Plugin: Added a tile/bbox-based read policy for large (rasters width * height > 1024*1024 will be loaded in chunks) (r1089)
|
|
|
|
- OGCServer: Made lxml dependency optional (r1085) (#303)
|
|
|
|
- Rasters: Handle rounding to allow better alignment of raster layers (r1079) (#295)
|
|
|
|
- AGG Renderer: Added option to control output JPEG quality (r1078) (#198)
|
|
|
|
- Plugins: Fixed segfault in OGR Plugin with empty geometries (r1074) (#292)
|
|
|
|
|
|
|
|
Mapnik 0.6.0 Release
|
|
--------------------
|
|
|
|
(Packaged from r1066)
|
|
|
|
- Python: Added support for aspect_fix_mode (r1013)
|
|
|
|
- OGCServer Fixed axis-ordering for WMS 1.3.0 request (r1051) (#241)
|
|
|
|
- Plugins: Added option to all plugins to support using a 'base' path argument (r1042)
|
|
|
|
- Symbolizers: RasterSymbolizer now support composing modes for hillshading (r1027)
|
|
|
|
- SCons: Added options to build the rundemo and pgsql2sqlite tools (r989)
|
|
|
|
- OGCServer: Added content-length output (r986)
|
|
|
|
- SCons: Replaced LIBS/INCLUDES options for postgres and gdal with pg_config and gdal-config (r977)
|
|
|
|
- SCons: Created an optional configure stage (r973)
|
|
|
|
- Python: Added further pickling/copy support to Map, Layers, Datasources, Styles,and Rules (r907,r913,r921)
|
|
|
|
- OGCServer: Added support for load_map(), allowing reading of XML styles and layers (r901)
|
|
|
|
- OGCServer: Enabled friendly html output when in debug mode (debug=1 in ogcserver.conf) (r899)
|
|
|
|
- Plugins: Added Sqlite driver for reading sqlite databases (r881)
|
|
|
|
- Python: Exposed a number of properties for the Text Symbolizer (r869)
|
|
|
|
- Plugins: PostGIS plugin now accepts multi-line queries (r862)
|
|
|
|
- Filter parsing: Allow numbers in the filter field name.
|
|
This allows for shapefiles with columns like '1970'.
|
|
|
|
- Plugins: Added OGR driver for reading all OGR supported formats (kunitoki) (r836) (#170)
|
|
|
|
- XML: Added serialization of Fontsets (r807)
|
|
|
|
- XML: Added support for reading xml from a string (r806)
|
|
|
|
- C++: renamed mapnik::Color to mapnik::color (r796)
|
|
|
|
- Python: Made available the scale_denominator property from the map in c++ and python (r794)
|
|
|
|
- Python: Added ability to resize map and clear all layers and styles from python (r793)
|
|
|
|
- Python: Exposed Proj to/from transformation for projected coordinate systems (r792,r822) (#117)
|
|
|
|
- Memory Datasource: Added support for dynamically adding Points to map using Point Datasource (r790)
|
|
|
|
- XML: Added xml serialization for abstract, title, minzoom, maxzoom, and queryable attributes (r787)
|
|
|
|
- Core: Transformation is now skipped if srs values match exactly (r777)
|
|
|
|
- Symbolizers: 'min_distance' now honored for POINT placement using Text Symbolizer (r771)
|
|
|
|
- Plugins: PostGIS plugin now accepts a geometry_field,record_limit, cursor_size options (r769,r872)
|
|
|
|
- Python: Added ability to transform as a method on Coord and Envelope objects (r764)
|
|
|
|
- Python: Added docstrings to the Layer object (r763)
|
|
|
|
- Plugins: Loosened the type checking in Shapefile Plugin dbf reader (r762)
|
|
|
|
- Fonts: Added support for Right-to-left Hebrew text (r749)
|
|
|
|
- Core: Added a Map buffer parameter - helps to avoid cut labels at tile edges (r744)
|
|
|
|
- Symbolizers: Added opacity support to Point Symbolizer (r743)
|
|
|
|
- Symbolizers: Added support of using Points with Shield Symbolizer (r741)
|
|
|
|
- Plugins: PostGIS plugin now accepts alternate schemas (r773)
|
|
|
|
- Fonts: Added support for fallback fonts (r704)
|
|
|
|
- Cairo: Cairo support exposed in Python (r666)
|
|
|
|
- Plugins: Added OSM plugin for reading directly from OSM data (r663)
|
|
|
|
- Filters: Added support for boolean expressions (r660)
|
|
|
|
- Python: Added ability to open Image32 files (r652)
|
|
|
|
- Cairo: Cairo rendering support added (r656)
|
|
|
|
- Core: Added unicode support based on ICU (r650)
|
|
|
|
- Core: Added support for single and multi threaded variants of Mapnik (r632,r634)
|
|
|
|
- Plugins: Use memory mapped files for reading shape file (r628)
|
|
|
|
- Core: Use streams to write images (i/o refactor) (r628) (#15)
|