Thank you Dane, this is an excellent information, I just know about cairo.

John

On Tue, Mar 3, 2009 at 8:29 AM, Dane Springmeyer <[email protected]> wrote:

> Hi John,
>
> Envelope and Coord objects are only used to zoom or orient the map. They
> don't get rendered as shapes themselves on the map.
>
> If you want to draw shapes on a map that do not originate from a
> datasource, then take a look into Cairo. Mapnik trunk supports both cairo
> contexts and cairo surfaces, so you can use pycairo (
> http://cairographics.org/pycairo/) to draw arbitrary shapes on a context
> before/after rendering.
>
> Also there is support for plotting points manually on the map surface via
> the PointDatasource, but this has not yet been extended to lines or
> polygons, and is undocumented. However you can find a script example here:
> http://mapnik-utils.googlecode.com/svn/example_code/memory_datasource/
>
> Cheers,
> Dane
>
>
>
> On Mar 3, 2009, at 12:58 AM, John3478 John3478 wrote:
>
>  Hi,
>>
>> I am kind of stuck how to draw rectangle line based on bbox value (lower
>> bottom and upper corner).
>> There are LineSymbolizer but seems like it does not base on drawing line
>> between to point.
>> There are some example from this forum that use LineSymbolizer in Python
>> but the line represent the shape
>> not drawing line between two point.
>>
>> Thank you in advance,
>> John
>>
>>
>> ------------------------------------------------------------------------------------------------
>>    projection = '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0
>> +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgri...@... +no_defs +over'
>>    m = Map(600,300,projection)
>>    m.background = Color('steelblue')
>>    m.srs = projection
>>    s = Style()
>>    r = Rule()
>>    r.symbols.append(PolygonSymbolizer(Color('#f2eff9')))
>>    r.symbols.append(LineSymbolizer(Color('rgb(50%,50%,50%)'),2))
>>    s.rules.append(r)
>>    m.append_style('My Style',s)
>>    lyr = Layer('world')
>>    lyr.datasource = Shapefile(file=world_borders')
>>    lyr.styles.append('My Style')
>>    lyr.srs = '+proj=latlong +datum=WGS84'
>>    m.layers.append(lyr)
>>    p = Projection(projection)
>>    lower_left_xy = p.forward(Coord(-180.0, -45.0))
>>    upper_right_xy = p.forward(Coord(180.0, 80.0))
>>    bbox = Envelope(lower_left_xy,upper_right_xy)
>>    m.zoom_to_box(bbox)
>>    render_to_file(m,'test41.png', 'png')
>> _______________________________________________
>> Mapnik-users mailing list
>> [email protected]
>> https://lists.berlios.de/mailman/listinfo/mapnik-users
>>
>
>
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users

Reply via email to