Commit graph

420 commits

Author SHA1 Message Date
Artem Pavlenko
e016bd61f8 Added transcoder based on iconv. Internally we use UCS-2 at the moment.
* Postgis plug-in determines encoding by querying 'client_encoding' parameter (libpq). 
 * Shapfiles (dbf!) don't store character encoding information. Users can apply 'encoding' parameter at datasource creation stage (defaults to Latin1 (ISO-8859-1))
 * Raster plug-in utf-8
2007-02-06 14:27:21 +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
Artem Pavlenko
59f940b090 append namespace to 'transform' to support buiding with STLport. 2007-01-29 12:50:26 +00:00
Artem Pavlenko
1e710ceab3 to_string() : added specialization for double values with increased precision. 2007-01-26 15:50:39 +00:00
Jean-Francois Doyon
560a875a88 - Edit ogcserver docs to mention GetFeatureInfo support. 2007-01-25 02:07:00 +00:00
Jean-Francois Doyon
836488a7c8 - Add support for text/plain GetFeatureInfo! 2007-01-25 01:50:11 +00:00
Jean-Francois Doyon
0b86373457 - Use the multithreaded versions of boost libs by default. 2007-01-25 00:44:05 +00:00
Artem Pavlenko
50e612417b fixed to work with boost-1_33_1 2007-01-23 22:49:09 +00:00
Artem Pavlenko
c08a4eb221 corrected cut&paste error 2007-01-17 20:05:23 +00:00
Artem Pavlenko
097397f422 vc-8_0 needs template functions instantiated/defined?? in header file for proper export. gcc on the other hand , chokes with error : can not instantiate undefined function. Added #ifdef/#endif _MSC_VER. 2007-01-17 20:04:21 +00:00
Artem Pavlenko
7c18308d32 Added BOOST_TOOLKIT option (defaults to env['CC']).
Specify BOOST_TOOLKIT=gcc41 for libboost_***-gcc41-mt.so
2007-01-17 11:59:41 +00:00
Artem Pavlenko
ed5bbe25fe improved win32 support from Valery Moiseev. 2007-01-17 11:43:11 +00:00
Artem Pavlenko
5549045aaa use all parameters to calculate connection id 2007-01-16 15:22:49 +00:00
Artem Pavlenko
085f832a77 in query_point method expect (x,y) in Map coordinate system 2007-01-16 15:18:25 +00:00
Artem Pavlenko
199f3f6c12 include Layer instead of forward declaration 2007-01-11 17:19:51 +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
bb035bdc54 don't project query point if host projection is geographic 2006-12-31 11:42:57 +00:00
Artem Pavlenko
4772a16eb6 boost/filesystem.hpp is not in boost 1.33.1
reverted to <boost/filesystem/operations.hpp>
2006-12-30 21:48:15 +00:00
Artem Pavlenko
6aa5401151 Added connect_timeout parameter to postgis connection (set to 4 sec). 2006-12-22 11:57:02 +00:00
Artem Pavlenko
37ebe481c9 1. is_regular is not supported in boost 1.33.*
2. cleanups
2006-12-21 22:51:53 +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
77854e7d76 use PNG_MMX_CODE_SUPPORTED instead of PNG_ASSEMBLER_CODE_SUPPORTED (mmx.patch from Dominic Hargreaves) 2006-12-18 10:27:09 +00:00
Artem Pavlenko
14f98509b9 added 'transparent' named colour = Color(0,0,0,0) (from Luiz Vital)
TODO: support transparency for any background colour.
2006-12-17 12:10:28 +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
dee8851b26 added support for right to left languages by using
the fribidi library (patch from Ehud Shabtai, thanks!)
2006-12-17 11:56:57 +00:00
Jean-Francois Doyon
cf1542da7e Update the link to the data license. 2006-12-16 17:49:30 +00:00
Artem Pavlenko
447b63b1c1 updated to latest mapnik 2006-12-07 23:43:31 +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
c7c4659e30 check if featureset is valid before passing to filter_featureset 2006-12-07 15:02:08 +00:00
Jean-Francois Doyon
e0ed71ff6a - Ignore some build-only files. 2006-12-07 03:15:12 +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
dcfe5d3fad oops, fixed 2006-12-05 13:15:43 +00:00
Artem Pavlenko
00fd2a9f00 1. placement_finder.cpp
fixed 'for' loops to work correctly when geom->num_points() < 2
    always use prefix increment even for built-in types (good practice!)
    e.g ++i 

2. agg_renderer.cpp 
    check for number points in geometries when 
    applying text/shield_symbolizer.
2006-12-05 00:16:05 +00:00
Artem Pavlenko
913b273f40 applied missing part from mapnik_tile patch 2006-12-04 20:12:58 +00:00
Artem Pavlenko
a688c06035 added support for PolygonPatternSymbolizer 2006-12-04 11:36:39 +00:00
Artem Pavlenko
bbab2d90bf fixed png reader bug :
fill alpha channel with 0xff on expansion
2006-12-01 15:23:19 +00:00
Artem Pavlenko
f4786fe76a features at point impl 2006-12-01 11:45:08 +00:00
Artem Pavlenko
c6ee7ce438 trim strings at data source level 2006-12-01 10:37:15 +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
623a750ba4 fixed indefinite loop conditions when len=1
-   while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
+   while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
    {
        sx = (lp.x1 + sx) >> 1;
        sy = (lp.y1 + sy) >> 1;
    }
2006-12-01 10:00:04 +00:00
Artem Pavlenko
7534217a8f 1.added missing float4 (pg_type OID 700)
2.removed printing "..unknown type_oid .."
2006-12-01 09:42:04 +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
a8a26d2a75 make params_ accessible from derived classes 2006-11-29 12:28:17 +00:00
Artem Pavlenko
57ec29abf5 updated to reflect new params 2006-11-29 12:27:29 +00:00