Commit graph

461 commits

Author SHA1 Message Date
Dane Springmeyer
9ce6792eda add a function to query for the svn revision of the mapnik python bindings 2009-07-17 20:51:39 +00:00
Artem Pavlenko
c83000eb60 + use UnicodeString->utf8->PyUnicode conversion 2009-07-13 22:20:25 +00:00
Artem Pavlenko
9872a3be7c + fixed UnicodeString to Py_Unicode conversion (needs testing) 2009-07-13 21:39:39 +00:00
Dane Springmeyer
32b77c2e88 typo fix 2009-07-07 23:42:29 +00:00
Artem Pavlenko
7ebe50d9de + Cleaner builds - don't import everything from ENV!
+ Add FRAMEWORK_SEARCH_PATH option for Max OS X
2009-06-29 14:04:44 +00:00
Dane Springmeyer
e10b471a90 +reflect 'plugin_names()' method in python 2009-06-22 07:04:07 +00:00
Dane Springmeyer
e7457a139a +add pickle support to text_symbolizer, improve support for stroke, and add tests for stroke and text pickling via python - see: #345 2009-05-26 01:50:58 +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
92ca0a8ac9 +expose parameters as python list and dict, and add pickle support by taking advantage of boost visitation - needs further review - see #345 2009-05-24 06:12:32 +00:00
Dane Springmeyer
5aa1fda60e +add partial pickle support for strokes - see #345 2009-05-24 06:08:21 +00:00
Dane Springmeyer
e7e0dd9045 +add pickle support to line_symbolizer - see #345 2009-05-24 06:03:23 +00:00
Dane Springmeyer
def1c709ce +add pickle support to projection class - see #345 2009-05-24 06:02:33 +00:00
Dane Springmeyer
8b854a1bb2 +add pickle support for shield_symbolizer - see #345 2009-05-24 05:55:35 +00:00
Dane Springmeyer
1218b4c034 +add pickle support for polygon_symbolizer - see #345 2009-05-24 05:52:54 +00:00
Dane Springmeyer
91876c9863 +add support for pickling a mapnik query - see #345 2009-05-24 05:49:03 +00:00
Dane Springmeyer
bd1407b7c5 +add pickle support for pattern symbolizers - see #345 2009-05-24 05:45:07 +00:00
Dane Springmeyer
ff36980723 +add pickle support for raster_symbolizer - see #345 2009-05-24 05:34:18 +00:00
Dane Springmeyer
7fcc462a8f apply patch from mishok13 to allow proper checking for pycairo support compiled into mapnik - closes #284 2009-05-24 04:25:51 +00:00
Dane Springmeyer
b2570bd866 apply patch from mishok13 from #wherecamp to expose dash array list in python along with a small test case - closes #317 2009-05-24 04:14:35 +00:00
Dane Springmeyer
80a5bdf6e3 revert pickling support on datsources since they can't be created directly from python - we now dump and load in the layer object via params as of r1149 - see #345 2009-05-20 00:26:44 +00:00
Dane Springmeyer
6825541057 fix pickling for styles since they have state and no initial args 2009-05-20 00:21:29 +00:00
Dane Springmeyer
424980d92b via a layer object pickle datasource params rather than the datasource object itself - see #345 2009-05-20 00:18:46 +00:00
Dane Springmeyer
9a2894dc3c +copy/pickle support for Coord objects - see #345 2009-05-20 00:08:18 +00:00
Dane Springmeyer
9b02e6ced4 + reflect raster symbolizer options in python (may need to eventually switch to ENUMS) 2009-05-13 20:28:51 +00:00
Dane Springmeyer
904f1d6899 add python wrapper and docstring for kismet plugin - closes #293 2009-05-04 21:40:48 +00:00
Dane Springmeyer
4e1e6c6c1d ogcserver: upgrade GetFeatureInfo based on changes in r1121 2009-05-01 02:27:56 +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
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
Dane Springmeyer
57f995b0cc ogcserver: apply fix for dynamic script name in mod_server (from tmcw, closes #277) 2009-04-20 15:32:22 +00:00
Dane Springmeyer
4429958816 minor formatting to render_to_file docstring 2009-04-12 21:36:45 +00:00
Dane Springmeyer
48dea30184 slight formatting fixes to docstrings in layer class 2009-04-12 20:57:08 +00:00
Artem Pavlenko
8d963e4270 + use separate x/y scales - important for raster 2009-04-10 12:00:51 +00:00
Dane Springmeyer
82c6e87578 Support xml lib fallback and GetFeatureInfo on all layers - closes #303 and #304 2009-04-09 18:40:39 +00:00
Dane Springmeyer
c9a9fcf287 named docstring arguments only supported in boost python >= 1.35 2009-04-08 22:25:38 +00:00
Dane Springmeyer
000dcab3c9 Maintain support for boost version before 1.34 when writing argument signatures and add docstring for buffered_envelope 2009-04-08 20:11:45 +00:00
Dane Springmeyer
512029bfa4 update docstrings based on jpeg quality controls (#198) 2009-04-08 00:27:36 +00:00
Dane Springmeyer
72c2f903ca We should actually use 'self' as the term for first argument/instance 2009-04-07 23:26:33 +00:00
Dane Springmeyer
47822d578e Add argument aliases to __init__ method for easier/more understandable introspection - addresses #29 2009-04-07 23:17:57 +00:00
Andreas Volz
39bdab7762 forget to escape path 2009-04-05 21:02:12 +00:00
Andreas Volz
d134de3008 new added file 2009-04-04 12:24:45 +00:00
Dane Springmeyer
3b26f6b01a add docstring and factory method for osm plugin - closes #275 2009-04-01 00:43:08 +00:00
Artem Pavlenko
6268f4fb80 + oops, fixed 2009-04-01 00:11:14 +00:00
Artem Pavlenko
ce45f8dec3 + fix UChar to wchar_t conversion 2009-03-31 22:59:34 +00:00
Dane Springmeyer
c8340e7161 ogcserver: use PATH_INFO to contruct the request 'onlineresource' since SCRIPT_NAME will be emtpy in a WSGI app - fixes #243 for the WSGI wrapper 2009-03-31 17:18:41 +00:00
Dane Springmeyer
a7d8e7b240 fix axis ordering for epsg codes >=4000 and <5000 - based on patch from crschmidt (thanks) - closes #241 2009-03-31 17:09:36 +00:00
Lucio Asnaghi
8c775a6da3 + added "encoding" datasource parameter to occi plugin
+ added factory methods with docstrings for occi plugin (closes #274)
2009-03-31 07:53:29 +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
Dane Springmeyer
db7b0edd58 revise handling of featureset returned from GetFeatureInfo 'query_map_point' - closes #271: Todo GetFeatureInfo support still depends on addressing #272 2009-03-30 14:59:42 +00:00
Dane Springmeyer
aaf6fca823 add docstring for Datasource wrapper 2009-03-30 05:10:00 +00:00
Dane Springmeyer
7540ef409a add docstrings to top of file and factory methods in __init__.py and harmonize indentation to 4 spaces 2009-03-30 04:37:28 +00:00
Dane Springmeyer
c9b4d71b1a add docstrings to main boost python functions 2009-03-30 04:32:23 +00:00
Dane Springmeyer
a87acb13d5 ogcserver: add module level docstrings for remaining ogcserver files 2009-03-30 04:25:01 +00:00
Dane Springmeyer
a40bcc2571 ogcserver: in relation to load_XML() rename and break apart methods for copying layer and style objects and avoid attempting to register a style > 1 time if found in aggregate styles of a layer 2009-03-30 04:24:01 +00:00
Dane Springmeyer
358f087057 fix scale_denominator to be a method (not property) and shuffle alphabetically 2009-03-30 04:17:03 +00:00
Dane Springmeyer
2f04dc753c scons: normalize paths written to 'paths.py' to avoid double '//' 2009-03-30 04:15:11 +00:00
Dane Springmeyer
df7a5b8429 scons: add module docstring to 'paths.py' 2009-03-29 19:05:42 +00:00
Artem Pavlenko
2c878b52cf + reflect CoordTransform in Python (TODO: rename to ViewTransform in core lib) 2009-03-29 10:26:44 +00:00
Andreas Volz
e04a9cddda - added paths.py.in -> a template to generate paths.py with automake
- added ax_boost_program_options.m4 to detect boost library needed to utils
- print out at configure script end the build configuration
2009-03-27 00:17:52 +00:00
Andreas Volz
887518fc57 - install plugins in lib/mapnik/input
- Fix: no sqlite3 for kismet
- python files compile and install
2009-03-25 23:11:49 +00:00
Andreas Volz
7bb3354f61 - compile python binding c++ code
- check for python
2009-03-25 20:16:48 +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
24174d68e9 + reflect aspect_fix_mode in Python 2009-03-21 11:22:10 +00:00
Artem Pavlenko
9970766461 formatting 2009-03-15 23:33:46 +00:00
Dane Springmeyer
40ef82f225 ogcserver: Fix syntax errors accidentally introduced in r986 - patch from rcoup (closes #256) 2009-03-09 00:15:03 +00:00
Dane Springmeyer
4fb1eb6c0e Add missing include 2009-03-05 04:44:34 +00:00
Dane Springmeyer
37837db4c1 move the boost::python namespace back to original location 2009-03-05 03:47:15 +00:00
Dane Springmeyer
ea2e39b81b ogcserver: Add content-length to cgi, wsgi, and mod-python handlers and max_age to wsgi and mod_python - thanks tmcw, closes #251 2009-03-03 17:08:19 +00:00
Dane Springmeyer
44aa40a610 ogcserver: remove unused import 2009-03-03 17:04:58 +00:00
Dane Springmeyer
9f40e90def scons: move all configure options to 'scons configure' stage, using pickling to maintain configure options across builds 2009-02-26 23:35:09 +00:00
Dane Springmeyer
46df10d7d0 scons: add boolean option to avoid linking to Framework Python on darwin (closes #248) 2009-02-25 01:02:43 +00:00
Dane Springmeyer
90f3703505 scons: add option called 'LIB_DIR_NAME' to control the relative directory where input plugins are installed and where python looks to register them 2009-02-23 00:47:01 +00:00
Dane Springmeyer
918db0bfb8 + add string representation for Projection object in python 2009-02-22 18:22:31 +00:00
Dane Springmeyer
42be8116e1 scons: add a SYSTEM_FONTS variable to avoid installation of bundled dejavu fonts and instead point Python bindings at given value - also print SCONS_LOCAL_CONFIG values for user during configure 2009-02-20 19:31:08 +00:00
Dane Springmeyer
a8b6b0022b ogcserver: use the ordered layering from r938 and a layer named __all__ to signal a request all layers (addresses #226) 2009-02-19 18:20:14 +00:00
Dane Springmeyer
06e073c7ba ogcserver: apply patch from crschmidt to support correct layer ordering in GetCaps response (closes #226) 2009-02-19 18:02:17 +00:00
Dane Springmeyer
292056da77 remove unneeded include added in r921 2009-02-17 05:45:59 +00:00
Dane Springmeyer
98ada350ea + add pickling support for styles and rules - TODO expose symbolizer object in general(#190) and for pickling 2009-02-17 05:23:10 +00:00
Dane Springmeyer
3e51c02513 + add pickling interface to layers and datasources (closes #205) - TODO support parameters 2009-02-16 01:53:34 +00:00
Dane Springmeyer
dbdbfa4333 ogcserver: r909 added the wrong modserer.py file, reverting to correct one. 2009-02-15 23:13:17 +00:00
Dane Springmeyer
f85c0c8b68 + add modified mod_python ogcserver wrapper patch for 'modserver.py' from tmcw (closes #101) 2009-02-15 23:02:45 +00:00
Dane Springmeyer
7bc810b6b8 ogcserver: Add html exception to allowedexceptions 2009-02-15 22:51:00 +00:00
Dane Springmeyer
65bb344440 ogcserver: don't set the background color unless the get param exists 2009-02-15 22:43:03 +00:00
Dane Springmeyer
771e76f637 + add style pickling support to mapnik::Map, fix tabs, and only un-pickle background color if exists (closes 233) 2009-02-15 19:53:48 +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
Dane Springmeyer
be2c27ff86 OGCServer: add support for load_map() within WMSFactory (thanks xcacou,theosys,and tmcw for early patches) (closes #129) 2009-02-12 02:12:26 +00:00
Dane Springmeyer
577ee5ee22 + implement a layer copy method, provide a 'default' layername that will return a map with all layers rendered, and clean up PIL imports 2009-02-12 01:45:33 +00:00
Dane Springmeyer
e24b6f3654 Improve usability of ogcserver debug mode by printing to new html response when in debug mode or when the QUERY_STRING is empty, signaling testing 2009-02-12 01:28:57 +00:00
Dane Springmeyer
da9640c39d convert to unix line endings 2009-02-12 01:17:30 +00:00
Dane Springmeyer
75d5e1c9e1 Convert to unix line endings 2009-02-12 01:11:18 +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
Artem Pavlenko
c3ff9c842d + scons_python_usability_improvements2 (springmeyer) 2009-02-03 23:00:03 +00:00
Artem Pavlenko
ffef15e22e + reflect buffered_envelope method
+  fix view_transform to return ctrans (TODO)
2009-02-02 23:39:20 +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
Dane Springmeyer
f414843c4f + First implementation of OGR(vector) input plugin. Patch from kunitoki. Thanks! Closes #170 2009-01-28 20:16:31 +00:00
Artem Pavlenko
e7014c2b7e + SCons_usabilty_improvements2.patch (springmeyer)
(see #186 ticket for details)
2009-01-26 22:58:55 +00:00
Dane Springmeyer
2d47f24a7e + added ability to transform Envelopes in addition to Coords in new python ProjTransform, closes #117 2009-01-25 19:02:07 +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
7d6a21dfeb + mapnik-fix-threaded-python-exceptions.patch from jonb 2009-01-17 20:45:53 +00:00
Artem Pavlenko
391ae4c4be + mapnik-image-from-cairo-in-python.patch from jonb
adds a method to the python bindings to create an Image from a
    Cairo.ImageSurface().
2009-01-17 20:34:58 +00:00
Artem Pavlenko
cad0a839b6 + mapnik-load-map-from-string.patch (jonb) 2009-01-15 23:51:07 +00:00
Artem Pavlenko
a07767ef3d + (c++) renamed mapnik::Color to mapnik::color
+ (c++) added mapnik::color ctor from named colours (TODO: consider not to export color_factory) 
+ (Python) fixed pickling
+ (Python) added to_hex_string method
2009-01-14 12:10:24 +00:00
Dane Springmeyer
689b1eb018 Made Scale Denominator available as a property of the Map 2009-01-14 06:12:55 +00:00
Dane Springmeyer
f0d58a99f3 + expose map resize and remove_all methods as well as view_transform property in python 2009-01-14 04:52:04 +00:00
Artem Pavlenko
fd194e2ba6 + reflect mapnik::proj_transform in Python (#117) 2009-01-13 15:49:26 +00:00
Artem Pavlenko
9a75034a88 + applied python_point_datasource.patch from lwu 2009-01-13 00:56:09 +00:00
Artem Pavlenko
14fa35fb18 + enable multiple python threads with Cairo rennderer patch from jonb 2009-01-10 23:30:33 +00:00
Artem Pavlenko
bb284d0cfc + enable multiple python threads patch from jonb 2009-01-10 17:57:59 +00:00
Artem Pavlenko
d8226945d4 + improved pkg-config logic 2009-01-10 12:08:55 +00:00
Dane Springmeyer
a3e81dd344 + more complete docstrings for the boost::python Layer class 2008-12-04 23:33:18 +00:00
Artem Pavlenko
48a13f8cbc appled boost_append_osx_patch_v3 from jbronn 2008-12-04 23:20:44 +00:00
Artem Pavlenko
190f8e5cb9 + return boost::optional in find_style (c++)
+ return feature_type_style by value, raise KeyError otherwise (Python)
2008-11-18 21:15:46 +00:00
Dane Springmeyer
2c83877108 Added python docstrings to mapnik Map class 2008-11-17 23:44:50 +00:00
Dane Springmeyer
86dcb79808 Minor spelling change to use more common spatial term 2008-11-17 01:32:45 +00:00
Artem Pavlenko
bf1ea518c0 + Exposed the proj forward and inverse as methods on the actual geometry (springmeyer) 2008-11-16 22:36:21 +00:00
Artem Pavlenko
d4032c217e Exposed the proj forward and inverse as methods on the actual geometry (springmeyer) 2008-11-16 22:30:44 +00:00
Artem Pavlenko
df8cfcab03 + fixed building with boost-1_36
+ corrected order of BOOST_TOOLKIT 
(create symlinks on OSX + boost-1_35)
2008-10-08 06:30:38 +00:00
Artem Pavlenko
20f3a9460d + expose buffer_size parameter (default 0)
influences envelope used by placement detector 
  ( i.e. 'avoid_edges' parameter)
2008-09-21 10:14:38 +00:00
Artem Pavlenko
565da55742 + point symbolizer opacity patch from Brian (openstreetmap@brian.quinion.co.uk) 2008-09-19 08:27:32 +00:00
Artem Pavlenko
1947a1293e removed multiple bases for now 2008-09-17 20:10:04 +00:00
Artem Pavlenko
beec0d6a03 use text_symbolizer,symbolizer_with_image as bases 2008-09-15 08:46:18 +00:00
Tom Hughes
72e21fa080 Make the python bindings for image views actually only return data
from the view and not the whole image.
2008-07-30 12:47:37 +00:00
Tom Hughes
e8935c4cf8 Fix brain fade - python cairo bindings should work again now. 2008-07-30 07:37:48 +00:00
Tom Hughes
018852148c Don't try and include cairo support in the python bindings if we
haven't built mapnik itself with cairo support.
2008-07-29 08:01:57 +00:00
Dave
b228feaa49 Fix the OGCServer (would always throw invalid image format errors) 2008-07-25 01:06:09 +00:00
Artem Pavlenko
fe31150a7b corrected boost libs names logic 2008-06-29 11:40:35 +00:00
Artem Pavlenko
3f9127b5d0 reverting back to 700 2008-06-29 10:58:29 +00:00
Artem Pavlenko
3275cf9ce6 applied font fallbacj patch from Beau Gunderson 2008-06-29 10:40:08 +00:00
Tom Hughes
4483d59797 Revert previous fix for #89 and add a new improved fix that enhances the
value class to have a proper null type and do comparisions SQL style so
that null is neither equal nor not equal to other things.
2008-04-12 15:22:27 +00:00
Tom Hughes
b0b61293b1 Link the python extension explicitly with the cairo libraries on Darwin. 2008-03-12 21:46:54 +00:00
Tom Hughes
2f67c036fe Make cairo components conditional on the relevant libaries etc existing. 2008-03-12 19:14:51 +00:00
Tom Hughes
06006d2f24 Add cairo support to the python bindings - needs Pycairo installed. 2008-03-12 00:37:53 +00:00
Artem Pavlenko
e1ea0a72db use range based 'parse' method
transcode strings in filter expressions (default to utf8 input)
  -- we can use map definition *.xml to define encoding
  -- and in case of Python from
    # -*- coding: utf-8 -*-
  
utf8 encoded filters are working now.
2008-02-26 11:43:49 +00:00
Artem Pavlenko
1625c760db implemented Image open method :
im = Image.open("map.png")
2008-02-19 11:28:20 +00:00
Artem Pavlenko
308e315432 added Unicode support based on ICU 2008-02-18 21:40:34 +00:00
Artem Pavlenko
84bd1fda6c don't prepend temp DESTDIT prefix to mapnik_pluigins_dir 2008-02-07 11:51:41 +00:00
Artem Pavlenko
2b832f5bc8 setjmp png patch from JonB 2008-02-07 10:14:14 +00:00
Artem Pavlenko
ecaf40475e fixed 2008-02-04 16:13:04 +00:00
Artem Pavlenko
af1c576593 add displacement method to set dx,dy
add allow_overlap property
2008-01-29 11:22:32 +00:00
Artem Pavlenko
3c5b7f02f3 applied freebsd patch from Beau Gunderson 2008-01-28 14:51:10 +00:00
Artem Pavlenko
651cdbe968 added support for saving images into Python String object
(NOTE: some methods have different signitures now- API changed)
2008-01-25 14:40:48 +00:00
Artem Pavlenko
78a0e6725b prepend DESTDIR to plugins path
replace multiple directory separators
2008-01-24 14:44:04 +00:00
Artem Pavlenko
0f49956a56 reflect 'allow_overlap' property in Python bindings
(patch from rcoup)
2008-01-07 10:23:02 +00:00
Artem Pavlenko
58f4431df1 support for palette based PNGs, user 'png256' as a format parameter (see updated rundemo.py) 2007-12-10 19:59:17 +00:00
Artem Pavlenko
4586586448 added convinence overloads for 'save_to_file' and 'render_to_file'
Example:
	>>> from mapnik import *
	>>> im = Image(200,200)
	>> save_to_file('test.png',im) # Guess image type from file extension
	>> save_to_file('test.png,'jpeg',im) # Explicitly save as JPEG
2007-12-06 12:14:29 +00:00
Artem Pavlenko
0e9c542d11 1.Added 'face_names' method which returns list of face names:
>>> from mapnik import *
>>> for name in FontEngine.instance().face_names():
... 	print name
...
DejaVu Sans Bold
DejaVu Sans Bold Oblique

....

2. std::vector<std::string> is reflected as mapnik_.Names object

TODO: test if there are more then one face in the file
2007-11-08 11:06:05 +00:00
Artem Pavlenko
a29f2b83c7 fixed enum wrappers issue (patch from John Leslie) 2007-11-05 09:28:26 +00:00
Artem Pavlenko
8d51cb421b 1. re-factored placement_finder to be more efficient. 'find_*' methods are templated on PathType.
2. PostGIS plug-in - optional 'multiple_geometries' parameter to control how Multi* geometries built. 
3. MarkersSymbolizer (work in progress) to render vector shapes (markers) alonh a path with collision detection.
2007-11-02 12:50:15 +00:00
Artem Pavlenko
b79b3a89ec Added 'intersect' method returning intersection envelope. 2007-10-21 09:51:03 +00:00
David
2cf8278f1d Generic python binding for mapnik::enumeration 2007-10-19 22:17:16 +00:00
David
1c5bbea587 workaround for enumeration python binding issue::
allow implicit conversion from long
2007-10-14 13:39:11 +00:00
David
b2df387a9d - merged strict-xml-branch r530:532 to trunk:
- libxml2 support
    - strict error handling while parsing XML map files
    - implemented save_map()
    - removed some duplicate defaults
    - all symbolizers with icons share a common base class now
2007-09-25 18:47:12 +00:00
Artem Pavlenko
8e071f84c7 1. Changed internal geometry representation (explicit support for multi geometries)
(FIXME : label_spacing is still, too slow!!) 
2. Re-use some agg objects.
3. placement_finder cleanups! 
4. Added support for 'building_symbolizer' - extruded polygons
2007-09-16 11:23:51 +00:00
Artem Pavlenko
76572994b5 Applied mapnik-r511.patch from David Siegel:
plugins/input/postgis/SConscript:
- added boost_thread-mt to darwin builds

demo/c++/rundemo.cpp:
- setBackground() is now set_background()

bindings/python/SConscript:
- added boost_thread-mt to darwin builds
- changed builder to LoadableModule which builds a so called "bundle"
   on darwin and a shared library on all other systems.
- LDMODULEPREFIX = '' 

SConstruct:
- freetype-config is now searched in the path.
2007-08-28 10:12:38 +00:00
Artem Pavlenko
7411a5d2f7 applied patch from JonB - use platform dependend lib prefix when installing bindings (e.g. lib64 on x86_64) 2007-08-13 09:18:07 +00:00
Artem Pavlenko
99d04bbf08 removed set_alpha 2007-08-09 20:23:09 +00:00
Artem Pavlenko
d959701d5a 1. added boost::optional<T> to/form Python converter
2. make background color optional (Map object)
3. exposed 'blend' method for Image object
2007-08-01 09:59:23 +00:00
vspader
9fe4a94c98 Added minimum_distance property to text symbolizers. This prevents the same label from appearing within N pixels (across features).
Shield symbolizer is now a subclass of text symbolizer.
Some small improvements to text rendering.
Fixed up placement finder for horizontal placement.
Cleaned up placement finder.
2007-07-02 13:39:08 +00:00
Artem Pavlenko
cc3b5bece1 applied patch from jonb - glob for all *.ttf 2007-06-20 20:20:16 +00:00
Artem Pavlenko
ab149257ad added save_to_file method that works with Image object. 2007-06-12 19:30:58 +00:00
Artem Pavlenko
8010d5433f 1. Removed srid from geometry class
2. Pass resolution to bbox query
3. Use variant<int,double,string> as parameter value e.g in Python:
	ds = Raster(file="/path/to/file",lox = 12312.4,.....)
   Added extractor facility to work with mapnik::parameter (C++):
	
	mapnik::parameters params;
	params["parameter0"] = 123.456;
	params["parameter1"] = "123.456"; // initialize with string extract double later
	
	boost::optional<double> val0 = params.get<double>("parameter0");
	if (val0) 
	{
	   std::cout << *val0;
        }
	
	
	// with default value. NOTE: there is no 'parameter2' in params
	boost::optional<double> val2 = params.get<double>("parameter2",654.321);
	std::cout << * val2;
        
	// 
4. Added Gdal factory method in __init__.py

        ds =  Gdal(file="/tmp/file.tiff")
2007-06-12 08:59:54 +00:00
Artem Pavlenko
e8d5172a64 added convertions :
std::pair<std::string,mapnik::value>  to Python tuple
mapnik::value -> PyObject
2007-06-05 09:12:30 +00:00
Artem Pavlenko
a6a31f42f6 implelmented optional 'clear' text labels cache at the layer level 2007-05-01 07:53:20 +00:00
Artem Pavlenko
8b74a301fb Be explicit about threading model
Added THREADING enum options (defaults to 'multi')
2007-03-22 10:54:44 +00:00
Artem Pavlenko
e0d243dcec 1.Added support for building on Darwin (Xcode 2.4.1, gcc4.0.1).
Mainly taming gcc4.0.1 (anonymous enum bug)

2.Input plug-ins now have .input extension on all platforms
2007-03-16 10:11:37 +00:00
Jean-Francois Doyon
2bc9ef83cc - Improve exception handling and error displaying in the ogc server. 2007-03-13 01:17:03 +00:00
Jean-Francois Doyon
737fcdd516 - Add WSGI handler
- Add a performance improvement that should make maps a little faster
2007-03-05 03:20:35 +00:00
Jean-Francois Doyon
2513da8f79 - Add first draft of getfeatureinfo support with text/plain and text/xml support.
- ignore a SCons file
- Add 'encoding' statement to the demo.
2007-02-20 00:22:04 +00:00
Artem Pavlenko
2d256166b4 Store text attributes as USC-2 encoded std::wstring 2007-02-14 19:54:39 +00:00
Artem Pavlenko
bf2859cee2 replaced Bistream Vera with DejaVu 2007-02-12 15:25:59 +00:00
Artem Pavlenko
fe313cdcd9 fixed property name 2007-02-05 11:53:00 +00:00
Artem Pavlenko
5b05ffe1a4 made text_placement a property. 2007-01-29 22:29:06 +00:00
Jean-Francois Doyon
836488a7c8 - Add support for text/plain GetFeatureInfo! 2007-01-25 01:50:11 +00:00
Artem Pavlenko
85f4bfc697 added queryable property and visible method to Layer (Python) 2007-01-09 11:23:19 +00:00
Artem Pavlenko
995980433e reflect feature's properties in Python
(see wiki for more info and usage)
2006-12-31 11:44:34 +00:00
Artem Pavlenko
b5cf9da686 1.added more accessors
2.in tiff_reader check for valid file prior opening.
2006-12-20 00:22:45 +00:00
Artem Pavlenko
659a012000 reflected Layer 'active' property in Python ( Thanks, Luiz Fernando Vital!) 2006-12-17 12:08:11 +00:00
Artem Pavlenko
31442b6bac Added DESTDIR option which is used as an additional prefix for the purposes of
installing files. It is useful for binary distributions (eg
RPM etc). Thanks to Dominic Hargreaves!
2006-12-17 12:05:47 +00:00
Artem Pavlenko
7d62c229d0 applied from patch from Krzysztof Godlewski :
reflects scale_denominator(..) into Python
2006-12-07 15:20:33 +00:00
Artem Pavlenko
05424a5f12 added query_point method that accepts lat,lon coordinates :
>>> for f in m.query_point([ layer.name for layer in m.layers ].index('world'),51,0):
...     print f
...

feature (
  f_code:FA001
  fac_id:193
  id:3147
  na2:UK
  na3:E
  nam:ENGLAND
  tile_id:10
)

>>>
2006-12-06 21:21:17 +00:00
Artem Pavlenko
af44541598 implemented query_map_point method on map object:
fs = m.query_map_point(x,y)  # Map (screen) coordinates
   for feature in fs:
       print feature

TODO: provide interface to feature in Python, at the moment only __str__ implemented which dumps attributes
2006-12-06 20:26:59 +00:00
Artem Pavlenko
258b91fad2 made width and height read-write 2006-12-05 16:32:53 +00:00
Artem Pavlenko
a4c81560fd added method 'render' with old signiture
render(...)
    C++ signature:
    render(mapnik::Map, mapnik::Image32 {lvalue}) -> void*
2006-12-05 15:43:52 +00:00
Artem Pavlenko
913b273f40 applied missing part from mapnik_tile patch 2006-12-04 20:12:58 +00:00
Artem Pavlenko
68bbcac872 Reflect featureset and feature classes in Python. Featureset follows Python iterator protocol e.g:
ds = Shapefile(file="/../..")
    for f in ds.features_at_point(Coord(-2,51)):
        print f
TODO: 
    1.access to Feature properties
    2.feature_at_point to accept screen coordinates
    3.apply hit_test for geometries.
2006-12-01 10:08:13 +00:00
Artem Pavlenko
4d4e9f5d91 Tiling patch from Toby allows for a selected pixel region within an extent
to be rendered. This allows for a large extent (larger than can be
rendered into a single image in memory) to be rendered out as tiles.
Since the full extent is used for the placement calculations text
crossing tile boundaries will be consistent.

This method is a little inefficient when a large number of labels need
placed, an improved method would be to cache these placements between
tiles, but the attached is a start.

c++ users should simple call the render method with a start X and Y
coordinate specified, 

for (int TileX = 0;TileX < 5;++TileX)
{
	for(int TileY = 0;TileY < 5; ++TileY)
	{
		int TileSize=250;
		int StartX = TileX*TileSize;
		int StartY = TileY*TileSize;
		
		Image32 buf(TileSize,TileSize);
		agg_renderer<Image32> ren(m,buf,StartX,StartY);
		
		ren.apply();
		char name[324];
		sprintf(name,"tile_%d_%d.png",TileX,TileY);
		ImageUtils::save_to_file(name,"png",buf);
	}
}

python users should call render_tile_to_file

for y in range(tile_count_y):
	for x in range(tile_count_x):
		if not os.path.exists("tiles/%d/%d/" % (map_scale, y)):
			os.makedirs("tiles/%d/%d/" % (map_scale, y))
		render_tile_to_file(m, x*tile_size, y*tile_size, tile_size, tile_size,
'tiles/%d/%d/%d.png' % (map_scale,y,x), 'png')
2006-12-01 09:37:37 +00:00
Artem Pavlenko
57ec29abf5 updated to reflect new params 2006-11-29 12:27:29 +00:00
Artem Pavlenko
f1393cc019 1. hit_test implementation for geometry objects:
bool hit_test(double x, double y, double tol);
       
2. added image_view(unsigned x, unsigned y, unsigned width, unsigned height)
   allowing to select region from image data e.g (in Python):

    im = Image(2048,2048)
    view = im.view(0,0,256,256)
    save_to_file(filename,type, view)
    
3. changed envelope method to return vy value in datasource classes

4. features_at_point impl for shape and postgis plug-ins
2006-11-25 11:02:59 +00:00
vspader
d7b94f5d8c Added avoid_edges property to shield and text symbolizers.
If this is enabled, no shield/text symbolizers will be cut off
at the edges of the image.
2006-11-17 14:07:41 +00:00
Artem Pavlenko
889ac41694 Patch from Toby: adds a maximum angle delta for text placement (if the
angle changes too much between characters it finds an alternate
placement), this is specified in the max_char_angle_delta property in
radians (feel free to change it to degrees).

It also improves the text placement around corners trying to minimise
the distance between the center of the character and the line on each
side. This is the major portion of the patch.
2006-11-04 10:38:24 +00:00
Artem Pavlenko
e924b597f4 1. patch from Toby that allows repeated labels to be placed on a line
geometry (such as roads)
2. restored text labels for point geometry.
3. process 'spacing' attribute in load_map.cpp
2006-11-01 23:17:05 +00:00
Artem Pavlenko
d7fcefc848 1. applied text-wrap patch from Robert Coup. Thanks!
2. by default use tinyxml as a property_tree parser
3. modified load_map.cpp to allow to test new features
2006-10-27 17:29:39 +00:00
vspader
118e8f0d52 Added face_name parameter to text and shield symbolizers,
which specifies the font face to be used for rendering.
New constructor is: text_symbolizer(name, face_name, size, ...)
2006-10-19 17:11:45 +00:00
Jean-Francois Doyon
85f1d27a12 - Add projection support to the WMS server and edit ogcserver readme accordingly.
NOTE: WMS 1.1.1 not tested, WMS 1.3.0 lightly tested.
2006-10-19 01:25:24 +00:00
Jean-Francois Doyon
ce1353553c Fix typo src -> srs property. 2006-10-18 23:57:44 +00:00
Artem Pavlenko
110016fe78 1. refactored proj stuff into separate files
2. added is_geographic property
3. added basic support for text_symbolizer in load_map
2006-10-17 17:26:35 +00:00
vspader
f76079f15b 1) Added line following labels. Use set_label_placement(POINT_PLACEMENT) or set_label_placement(LINE_PLACEMENT) on a text symbolizer.
2) Added placement_finder class so labels try to avoid each other.
3) Added Shield Symbolizer which is essentially a combined image/text symbolizer.
2006-10-17 14:12:53 +00:00
Jean-Francois Doyon
7c398909f4 - Apply recent changes to WMS 1.1.1 2006-10-17 01:18:54 +00:00
Jean-Francois Doyon
6e41d4cb1f - Remove the import of pyprojection
- Delete pyprojection
- Modify the WMS to use the new Projection class provided by Mapnik.
2006-10-17 01:11:00 +00:00
Jean-Francois Doyon
9170b57041 Reorder headers to prevent a warning.
See http://docs.python.org/api/includes.html for details.
2006-10-16 23:26:57 +00:00
Jean-Francois Doyon
5e9fe74999 layer.name is now a property instead of a method ... 2006-10-16 23:25:54 +00:00
Artem Pavlenko
9570a819df 1. added convinience factory methods
ds = Shapefile(file='/../../')
    ds = PostGIS(host='localhost',..)
    ds = Raster(....)

2. Modified rundemo.py accordingly
2006-10-16 22:25:11 +00:00
Artem Pavlenko
1b7e1b421e added missing header 2006-10-16 21:57:27 +00:00
Artem Pavlenko
2351cb38d0 1.added Describe() to Datasource, return list of attributes/types.
2.modified WMS to work with new Projection
2006-10-16 21:34:09 +00:00
Artem Pavlenko
bb235fa316 1.added projection transformation support based on proj4 (new dependency!!!)
Map and Layer objects both have a new parameter 'srs', initialized to "+proj=latlong +datum=WGS84" by default. 
    
  Basic usage (Python):
    p = Projection("+proj=merc +datum=WGS84")
    point = p.forward(Coord(-2,51))
    ...        
2.reflected arithmetic operators for Envelope/Coord into Python
3.altered return policies for python objects
4.modified build system to require proj4 lib and headers
2006-10-16 13:44:52 +00:00
Artem Pavlenko
78f2b64f5c check if can extract std::string from dict. 2006-10-09 22:07:39 +00:00
Artem Pavlenko
992af4747d 1. move include to mapnik/include
2. update demos,bibdibgs etc.
2006-10-04 11:22:18 +00:00
Artem Pavlenko
5a2e437e21 reflect load/save map methods in python 2006-10-03 10:02:14 +00:00
Artem Pavlenko
8328424af5 1. datasource is now a property of Layer object.
2. modified python/c++ demos to reflect the above.
3. removed large 'blobby' mapnik.hpp (compilation times!!!)
2006-10-03 08:44:04 +00:00
Artem Pavlenko
c0fa1a6004 * create_filter moved to core lib
* modified demo/c++/rundemo.cpp to reflect the above
2006-09-17 19:45:01 +00:00
Artem Pavlenko
02d95a7ba2 added write access to alpha property. 2006-09-15 08:20:09 +00:00
Artem Pavlenko
2f360a6549 1.removed map width/height from query interface
2.small cleanups
2006-09-12 14:29:22 +00:00
Artem Pavlenko
93740b5dec refactored #includes to reduce compilation times
added mapnik_query skeleton
2006-09-11 09:48:27 +00:00
Artem Pavlenko
31d04c3131 added support for building on x86_64 platform e.g. /usr/lib64 etc. 2006-09-06 09:14:41 +00:00
Artem Pavlenko
494556f0de added zoom_all method 2006-08-23 20:35:01 +00:00
Artem Pavlenko
8dd7798c1c added envelope() method to map object 2006-08-23 20:17:16 +00:00
Jean-Francois Doyon
6f7d9eab8a - Fix bug in WMS 1.1.1 re: STYLES support. 2006-07-23 19:56:13 +00:00
Jean-Francois Doyon
9d9d441239 Added support for associating multiple named styles to a layer
and specifying one using the STYLES= WMS request argument.
2006-07-23 19:50:52 +00:00
Jean-Francois Doyon
1c8aca919f - Added support for complete service metadata
- refactored some code for optimization
- cusomtized the config parser
2006-07-22 18:54:53 +00:00
Artem Pavlenko
ad79c5a4fd applied patch from Shaun Walbridge - make dl module work on x86_64 2006-06-27 19:47:20 +00:00
Artem Pavlenko
9980d406fc removed wms.py - was causing checkupt problems on win32 (WMS.py == wms.py on win32) 2006-06-07 17:02:56 +00:00
Artem Pavlenko
024f501903 1. exposed fill_opacity property in PolygonSymbolizer
2. added default ctors to {Point,Line,Polygon}Symbolizers
2006-05-31 21:25:21 +00:00
Artem Pavlenko
dfeaeaa16b converted to unix 2006-05-30 21:59:06 +00:00
Jean-Francois Doyon
799d5d9691 - Fix a bug with missing version.
- Add support for layer title and asbtract to c++ and python
- Make WMS server use above changes, edit docs
2006-05-22 17:00:35 +00:00
Jean-Francois Doyon
a3eeef77de Remove an overly restrictive bit of "checking" that did
not allow clients to feed non-WMS parameters to the server.
2006-05-22 14:45:52 +00:00
Jean-Francois Doyon
46f9b02394 - Rigidified parameter validation
- Fixed BLANK exception handling bug
- Added STYLES/LAYERS correlation check
- Finalized ogcserver readme.txt
- Got rid of a compiler warning with PyProjection
- Some coding style edits
2006-05-11 04:24:51 +00:00
Jean-Francois Doyon
1cca95add9 Remove GIF support. 2006-05-11 00:29:39 +00:00
Jean-Francois Doyon
c879591630 Make the background property of an Image available to Python. 2006-05-04 00:00:20 +00:00
Jean-Francois Doyon
30d930c709 - Updates docs/ogcserver/readme.txt
- Added GetCapabilities named style support to 1.1.1
2006-04-21 00:18:07 +00:00
Jean-Francois Doyon
ab7d66ee8c - Add support for named styles in GetCapabilities. Not yet supported by GetMap however.
- Add finalize() to BaseWMSFactory to run sanity checks.
2006-04-21 00:13:25 +00:00
Jean-Francois Doyon
bde3b7ae51 - INIMAGE text now on transparent background
- BLANK error handling support added
2006-04-16 19:23:37 +00:00
Jean-Francois Doyon
f862ef425f Added support for INIMAGE error handling. 2006-04-16 04:17:39 +00:00
Jean-Francois Doyon
b8ac9b1984 OK, final fixes to the WMS stuff, cleaned up documentation, and so on.
Things should be good to go for a first try by the wider community!
2006-04-14 03:45:46 +00:00
Jean-Francois Doyon
af55c99fa4 - Improve WMS compliance
- Remove unused code
- Rework layer and style bulding
- minor doc changes
2006-04-13 02:39:49 +00:00
Jean-Francois Doyon
d4b5171efb - Add some more error checking
- Simplify configuration
2006-04-11 00:36:08 +00:00
Jean-Francois Doyon
603c0c0fa3 - Add the CGI executable, and a sample configuration file
- Various code optimizations:
  - Remove unnecessary imports
  - Better share/re-use objects
  - Move more work to initialization, to optimize for FastCGI
2006-04-10 06:19:27 +00:00
Jean-Francois Doyon
56166790df - Improved error handling and detection
- Refactored WMS code quite a bit
- TODO: better map factory.
2006-04-08 21:53:36 +00:00
Jean-Francois Doyon
8d336dcf7d Adding the initial implementation of an OGC server in Python for Mapnik. Although it works, it needs polishing and documentation, which will follow shortly. 2006-04-08 06:18:50 +00:00
Artem Pavlenko
61fd258fd1 changing licence from GPL to LGPL 2006-03-31 10:32:02 +00:00
Artem Pavlenko
ead91700c2 small optimization 2006-03-31 08:55:35 +00:00
Artem Pavlenko
b7e96d387b fix rawdata() method to return PyString_FromStringAndSize 2006-03-29 22:26:55 +00:00
Jean-Francois Doyon
7e05522b52 - Add an ignore.
- load Projection class and DEGREES constant into mapnik module namespace so that one can "from mapnik import Projection, DEGREES"
- Clean up the build/install of the python module.
2006-03-28 01:07:01 +00:00
Jean-Francois Doyon
04dc62160e Added some docstrings. 2006-03-28 01:01:00 +00:00
Jean-Francois Doyon
2d18a3a2c0 Add python PROJ.4 module under mapnik python API.
This makes the Projection class available from mapnik:

>>> from mapnik import Projection
registered datasource : raster
registered datasource : shape
registered datasource : postgis
>>> Projection
<class mapnik.Projection.Projection at 0xb7f7250c>
>>>
2006-03-26 22:35:37 +00:00
Jean-Francois Doyon
81b694f782 - Add .sconsign to svn:ignore ...
- Create a fontscollectionpath in paths.py and use it.
2006-03-22 00:41:52 +00:00
Jean-Francois Doyon
08b80bbc64 Add docstrings, and add support for setting the
map width and height after object creation.
2006-03-22 00:13:14 +00:00
Jean-Francois Doyon
30dd43200b Add support for halo's to TextSymbolizer(). 2006-03-22 00:11:01 +00:00
Artem Pavlenko
153fbc9572 added font_engine to python bindings (TODO!) 2006-03-19 21:55:59 +00:00
Artem Pavlenko
c93e9c7d5b small correction:
1. Layer method takes named arguments
2. CreateLayer expects Python dictionary
2006-03-01 15:34:23 +00:00