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
a8a26d2a75
make params_ accessible from derived classes
2006-11-29 12:28:17 +00:00
Artem Pavlenko
8c374a22a6
Label position tolerance and text spacing patch from David Leaver. Thanks!
2006-11-29 10:44:42 +00:00
Artem Pavlenko
7a7fe3d569
opps, fixed license note
2006-11-29 00:14:25 +00:00
Artem Pavlenko
bc5f860437
don't keep bad connections around
2006-11-28 00:16:53 +00:00
Artem Pavlenko
f4502df850
1. register singleton destruction with std::atexit
...
2. allow connection pool to grow (up to max)
2006-11-27 21:13:15 +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
Artem Pavlenko
1c5eeb19af
added basic support for unicode string
2006-11-22 22:01:37 +00:00
Artem Pavlenko
ebdd0f6030
disable clog printing in release mode. Pass -DMAPNIK_DEBUG to enable.
2006-11-19 17:13:33 +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
6469c19ba7
fixed scale_denominator
2006-11-17 02:02:29 +00:00
Artem Pavlenko
81fbe706a6
fixed scale_denomitator
2006-11-17 02:01:21 +00:00
Artem Pavlenko
7b0f3d3fb9
export symbols for win32 dlls
2006-11-13 10:13:14 +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
Artem Pavlenko
90a293e952
removed extra qualifier (GCC >= 4.1 reports as an error).
2006-10-21 12:17:41 +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
Artem Pavlenko
ac155e89ba
call FT_Done_Glyph(image) in character_dimensions
2006-10-19 08:46:17 +00:00
Artem Pavlenko
ff52bdc244
ellipsoid
2006-10-18 23:02:57 +00:00
Artem Pavlenko
69bde0b206
added scale_denominator calc + great-circle distance
...
(needs checking with different projections)
2006-10-18 22:44:37 +00:00
Artem Pavlenko
1c8d7586b5
changed boost::progress_timer to output to std::clog (which defaults to std::cerr)
2006-10-18 11:42:56 +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
Artem Pavlenko
2e73fe0841
1.added features_at_point to datasource interface
2006-10-16 21:29:54 +00:00
Artem Pavlenko
2392565a4d
removed commented out code
2006-10-16 16:04:57 +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
52033ad4e8
added operators +,-,*,/
2006-10-16 13:32:45 +00:00
Artem Pavlenko
1988181bd7
added operators +,-,*,/
2006-10-16 13:31:52 +00:00
Artem Pavlenko
d349c5f0c9
just help compiler a little bit
2006-10-09 20:48:42 +00:00
Artem Pavlenko
514f500bfb
use boost::shared_ptr<datasource>
2006-10-09 10:28:48 +00:00
Artem Pavlenko
e2d645ad80
simplified coord transformation interface.
2006-10-09 09:52:15 +00:00
Artem Pavlenko
10cffb9174
added remove_all
2006-10-09 09:43:43 +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
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
88892c196b
added save/load functionality based on boost::property_tree (aka ElementTree in c++)
2006-10-03 08:39:43 +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
8a72060fad
added alpha to to_string method.
...
rgb ( R, B, G, A)
TODO: modify CSS color parser to accept alpha channel e.g
rgb (R,G,B,A)
#RRGGBBAA
#RGBA
2006-09-15 08:19:03 +00:00
Artem Pavlenko
2d04ce0360
This patch:
...
* Adds set_alpha()
* Reorders the get/set color functions to be red() green() blue() alpha() (code tidyness)
* Changes the internal color variable to be named abgr_ instead of rgba_ since that is the order the colors are stored in it.
Thanks to Dave Leaver.
2006-09-15 07:56:35 +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
26a406706e
wrap C headers with :
...
extern "C"
{
//
}
2006-08-31 21:32:07 +00:00
Artem Pavlenko
00ef5d1c96
addded missing <string>
2006-08-21 21:25:25 +00:00
Artem Pavlenko
9ee055718c
removed unused headers
2006-08-21 15:00:59 +00:00
Artem Pavlenko
72fae1daa1
1. removed dependency on boost_serialization ( we don't really need it) at this time.
...
2. coord and envelope operator<< to use 16 digit precision.
3. added 'inside polygon' method impl.
2006-08-20 18:49:22 +00:00
Artem Pavlenko
0bb121a747
formatting mostly
2006-07-24 20:08:32 +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
50416422e0
replaced tabs with spaces
2006-05-30 13:41:15 +00:00
Artem Pavlenko
ffe47e4816
1. return shared_ptr from point_symbolizer
...
2. small cleanup
2006-05-26 13:11:31 +00:00
Artem Pavlenko
53193826a8
added MAPNIK_DECL
2006-05-26 13:08:48 +00:00
Artem Pavlenko
aec33499b2
export symbols from wkb
2006-05-25 14:19:21 +00:00
Artem Pavlenko
ec92236c1f
small cleanup
2006-05-24 15:17:16 +00:00
Artem Pavlenko
ba2514398a
implemented to_hex_color() method that returns
...
#RRGGBB color representation.
2006-05-24 15:13:51 +00:00
Artem Pavlenko
b73ca350fb
added const Style iterators to Map
2006-05-23 17:23:20 +00:00
Artem Pavlenko
d99f6b4455
replace tabs with spaces
2006-05-23 16:53:38 +00:00
Artem Pavlenko
d0ddc88253
1. move parameters to datasource
...
2. general cleanup
2006-05-23 16:52:10 +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
Artem Pavlenko
ef5931d915
added default point_symbolizer 4x4px black square
2006-05-22 10:30:55 +00:00
Artem Pavlenko
0c745b9d3a
corrected ctor
2006-05-21 19:17:15 +00:00
Artem Pavlenko
453b714580
1.added default ctor in polygon_symbolizer (grey fill - RGB (128,128,128)
...
2.replaced tabs
2006-05-19 16:11:59 +00:00
Artem Pavlenko
ed4195ad5a
explicit black colour in default ctor
2006-05-19 16:08:42 +00:00
Artem Pavlenko
bf218a46b9
oops! added missing bits
2006-05-19 12:50:40 +00:00
Artem Pavlenko
1daa91e07f
added set_name method
2006-05-19 08:59:50 +00:00
Artem Pavlenko
6c9fd45234
replaced tabs with spaces
2006-05-17 16:41:28 +00:00
Artem Pavlenko
2db18565b2
reorder #include
2006-05-05 14:29:01 +00:00
Artem Pavlenko
62019e0849
small cleanup
2006-04-22 19:37:59 +00:00
Artem Pavlenko
cdc48edfd6
1. validate image reader
...
2. open files in binary mode (win32)
2006-04-05 08:27:45 +00:00
Artem Pavlenko
61fd258fd1
changing licence from GPL to LGPL
2006-03-31 10:32:02 +00:00
Artem Pavlenko
bb606d04f5
added non-const getLayer
2006-03-28 15:39:38 +00:00
Artem Pavlenko
8986108775
added set_datasource method (TODO!!!)
...
fixed pointz in shapeindex
2006-03-28 08:29:36 +00:00
Artem Pavlenko
d35e9f047e
small cleanup
2006-03-23 21:45:32 +00:00
Artem Pavlenko
fce4076ad5
refactored font engine to export symbols correctly on win32
2006-03-23 11:54:50 +00:00
Artem Pavlenko
98763057e6
added pragma to disable 4996 warning
2006-03-23 11:54:03 +00:00
Artem Pavlenko
6f1ed0029c
code cleanup
2006-03-22 20:31:02 +00:00
Artem Pavlenko
9480cbade6
re-implemented value class to compile on win32
2006-03-22 19:57:48 +00:00
Artem Pavlenko
56a8187bcb
added new line at the end of file
2006-03-22 15:59:15 +00:00
Artem Pavlenko
883e21fe0c
added __declspec(dllexport)
2006-03-22 15:52:29 +00:00
Artem Pavlenko
33ec516bd4
added platform specific configuration file
2006-03-22 15:51:06 +00:00
Artem Pavlenko
f2ac0a97f6
removed unused files
2006-03-22 15:50:05 +00:00
Artem Pavlenko
3848515e6e
removed unused files
2006-03-22 15:48:54 +00:00
Artem Pavlenko
e85db9ac69
removed unused files
2006-03-22 15:46:58 +00:00
Artem Pavlenko
2fa9d1967e
added __decl(dllexport) to exported symbols\n removed unused files
2006-03-22 15:45:52 +00:00
Artem Pavlenko
e21c3b36f6
removed save and load to text archive functionality to keep x86_64 build happy
2006-03-19 21:59:16 +00:00
Artem Pavlenko
673bd4bc19
replaced cout and cerr with clog (by default redirected to cerr)
2006-03-19 21:53:47 +00:00
Artem Pavlenko
e8d68b615e
removed unused text.{hpp,cpp}
2006-03-19 21:51:40 +00:00
Artem Pavlenko
89cad86d8e
added anchor and displacement to text_symbolizer
2006-03-10 12:08:55 +00:00
Artem Pavlenko
ce93c69fa3
minor syntax corrections to comply with ansi c++
2006-03-08 23:02:28 +00:00
Artem Pavlenko
0f3fcc7f34
updated text symboilizer
...
fixed memory leak in FT_Glyph
2006-03-01 15:16:45 +00:00
Artem Pavlenko
c3ff3084ca
1.added to_string method to Color
...
2.added factory methods to python Color
use factory methods
2006-02-27 21:57:08 +00:00
Artem Pavlenko
3818da6bc5
added quad_tree implementaion
2006-02-27 21:25:25 +00:00
Artem Pavlenko
9de253198b
1.python bindings updated to reflect symbolizers changes
...
2.added label collision detector ( TODO - proper impl!)
2006-02-25 11:03:30 +00:00
Artem Pavlenko
1728bdbc7e
added:
...
1. start/end map/layer handlers
2. some cleanups
2006-02-21 20:17:08 +00:00
Artem Pavlenko
bd173527a0
added font_engine impl - work in progress:)
2006-02-21 19:55:24 +00:00
Artem Pavlenko
aed5516197
1. new feature model - based on boost::property_map concept
...
f = feature(id);
f["name"] = "what is my name?";
boost.put(f,"area",123123.4325);
2. simplified and corrected value class and operators
3. updated input plug-ins to work with new features
4. add text_symbolizer (getting there:)
5. template version of agg_renderer
6. attribute_collector how accepts rules
(to collect attribute names for text labels)
2006-02-10 17:13:02 +00:00
Artem Pavlenko
034298f7dd
make agg_renderer non-copyable
2006-02-08 10:44:46 +00:00
Artem Pavlenko
a181d78403
Of course,we can use one templated member functions
...
to handle all symbolizers.
2006-02-07 20:51:08 +00:00
Artem Pavlenko
6a4070a32a
added raster_symbolizer
2006-02-07 16:16:54 +00:00
Artem Pavlenko
af2601eea0
1. new style/feature processor abstraction allowing plugable backends.
...
(to construct custom 'Output' derive from feature_style_processor (CRTP) e.g
class MyOutput : public feature_style_processor<MyOutput>
and implement:
process(***_symbolizer const&, Feature const&)
methods
At the moment only AGG renderer is implemented
2006-02-07 14:41:41 +00:00
Artem Pavlenko
2d4ea20560
added set_capacity method to geometry classes.
...
(now we can use std::vector<boost::tuple<value_type,value_type,char> >
as an alternative vertex storage).
2006-02-05 12:31:24 +00:00
Artem Pavlenko
2a858bcd19
1.removed named_style_cache
...
2.styles moved to Map object
2006-02-05 09:45:51 +00:00
Artem Pavlenko
6b7d874ff3
1.corrected set_rectangle and set_rectangle_alpha to use envelope intersection for proper clipping
...
2. clean up render.cpp
2006-01-28 16:05:51 +00:00
Artem Pavlenko
27a880fe99
midpoint calc for line strings
2006-01-26 23:52:22 +00:00
Artem Pavlenko
b89195f9e6
added label_position method for geometry objects (todo line_string)
2006-01-26 16:43:10 +00:00
Artem Pavlenko
4ed7158908
better interface for clip_line
2006-01-26 16:41:15 +00:00
Artem Pavlenko
a6f96ea5c1
changed symbolizer interface to accept 'feature' and CoordTransform, instead of
...
geometry (feature centric OGC model:).
2006-01-23 22:33:37 +00:00
Artem Pavlenko
245be985e2
1.symbolizers refactored - split into hpp/cpp
...
(all AGG is private to libmapnik and not exposed to client code)
2.removed unused files (more todo)
3.added line pattern symbolizer to python bindings
2006-01-23 13:24:41 +00:00
Artem Pavlenko
390b9c4655
1.added line pattern symbolizer
...
2.added layer envelope check in main rendering loop
2006-01-23 10:33:32 +00:00
Artem Pavlenko
a7c154f223
fixed to_string() method for filter expressions
2006-01-23 10:31:10 +00:00
Artem Pavlenko
150f9dc99a
fixed to_string() method for filter expressions
2006-01-23 10:29:28 +00:00
Artem Pavlenko
0ea95e8b11
fixed pattern fill symbolizer
2006-01-23 10:26:43 +00:00
Artem Pavlenko
55ae073ba2
added alternative vertex storage impl
2006-01-23 10:25:38 +00:00
Artem Pavlenko
6a0cc48b0a
added missing header for boost_1_32_0 serialization lib
2006-01-19 16:40:24 +00:00
Artem Pavlenko
119c352fe7
added alpha blending for image copying
2006-01-01 17:41:55 +00:00
Artem Pavlenko
b3330fc49b
corrected return value
2006-01-01 17:40:26 +00:00
Artem Pavlenko
fa2045d998
revert back to scale calc
2005-12-23 12:45:25 +00:00
Artem Pavlenko
36e5e7238e
1. removed #include <iostream>
2005-12-23 12:34:09 +00:00
Artem Pavlenko
955ff4c4f5
1. fixed shape datasource bug - attributes were ignored for point/pointz/pointm types
...
2. use boost::thread for mutex/lock
3 use boost::noncopyable
4 build agg as a shared lib for now
5. corrected panning code in map.cpp
6. improved coord_transform
2005-12-23 12:31:54 +00:00
Artem Pavlenko
81ace03173
1. use boost::noncopyable
...
2. use boost:🧵 :mutex
2005-12-23 12:24:24 +00:00
Artem Pavlenko
5e2aa3fc60
use boost::noncopyable
2005-12-23 12:23:15 +00:00
Artem Pavlenko
30c713d639
moved vertex_vector to classes that needed it
2005-12-23 12:22:09 +00:00
Artem Pavlenko
ec9b301364
removed unused headers
2005-12-16 16:08:41 +00:00
Artem Pavlenko
6f9528c2e3
1.added serialization support
...
2.some class names changes
2005-12-14 17:01:09 +00:00
Artem Pavlenko
a6191fade0
1. corrected LIBS in SConsctipt files
...
2. use boost::shared_ptr instead of ref_ptr
2005-12-12 13:15:33 +00:00
Artem Pavlenko
2d08614042
return object in envelope()
2005-12-01 10:06:40 +00:00
Artem Pavlenko
7f4df91371
check for valid datasource in the main loop
2005-11-30 00:21:07 +00:00
Artem Pavlenko
64427961d7
added qualifier
2005-11-30 00:19:33 +00:00
Artem Pavlenko
01f9df9b43
added feature factory
2005-11-24 15:51:29 +00:00
Artem Pavlenko
d9973561ad
use delete instead of destroy_ds for now
2005-10-17 19:39:41 +00:00
Artem Pavlenko
007398725f
fixed rounding error
2005-09-19 22:15:43 +00:00
Artem Pavlenko
17c368af52
removed to_string()
2005-09-19 22:14:32 +00:00
Artem Pavlenko
f5dda2f207
1. more pythonic feel:)
...
2. added CSS color string parser and color factory
3. added docs dir
2005-09-08 13:20:37 +00:00
Artem Pavlenko
820b6bb23a
return ref_ptr<Feature> from datasource next() method
...
should play better with python
2005-09-08 13:09:04 +00:00
Artem Pavlenko
e01a831850
1.removed debug printing from filter_parser
...
2.to_string method in Envelope
3.filter_factory - static method
4.mapnik_envelope.cpp - more bindings
TODO - fix __str__ , .def(str(self)) - doesn't compile at the moment
2005-08-31 19:43:37 +00:00
Artem Pavlenko
eb7890cfe8
added alpha() method
2005-08-31 19:36:08 +00:00
Artem Pavlenko
04f86c3dc7
unused class clean-up
2005-08-31 19:34:51 +00:00
Artem Pavlenko
48775a5cd9
1.renamed null_filter -> all_filter
...
2.added none_filter
3.fixed some warnings in shapeindex util
2005-07-06 20:52:06 +00:00
Artem Pavlenko
c7f9d1e568
1.polygon_symbolizer + using agg rasterrizer
...
2.render.cpp - exit rules loop (mastermap styles-?? not sure)
3.pre-allocate space for attributes
2005-06-24 08:39:47 +00:00
Artem Pavlenko
32c76d5a5f
1.added copyright notice to SConstruct/SConscript files
...
2.fixed include/libs in datasources
3.revived shapeindex utility (+ boost::program_options)
2005-06-17 12:40:51 +00:00
Artem Pavlenko
84bd684f87
revived shape support + removed unsed header from postgis.cpp
2005-06-16 20:56:31 +00:00
Artem Pavlenko
41d8341547
some useful macros
2005-06-15 22:17:12 +00:00
Artem Pavlenko
ae86b29d7f
1. added installation instructions
...
2. support for more types in postgis datasource
2005-06-15 20:50:02 +00:00
Artem Pavlenko
cb9059326e
removed : Jamfiles,config.hpp
2005-06-14 18:43:31 +00:00
Artem Pavlenko
a8ec856a15
initial import
2005-06-14 15:06:59 +00:00