Hi List
Playing around with GTRenderer and trying to output an SVG document
with texts NOT rendered as shapes. "new SVGGraphics2D()" parameter
textAsShapes set to FALSE and also hint TEXT_RENDERING_KEY set to
TEXT_RENDERING_STRING. Vector data being outputted is SHP files with
SLD styles.
any help would be appreciated
thanks,
Udo
========= sld snip.
<sld:TextSymbolizer>
<sld:Geometry>
<ogc:PropertyName>the_geom</ogc:PropertyName>
</sld:Geometry>
<sld:Label>
<ogc:PropertyName>NUMBER</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">Arial</sld:CssParameter>
<sld:CssParameter name="font-size">6.0</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
<sld:CssParameter name="font-weight">normal</sld:CssParameter>
</sld:Font>
<sld:LabelPlacement>
<sld:PointPlacement>
<sld:AnchorPoint>
<sld:AnchorPointX>
<ogc:Literal>0.0</ogc:Literal>
</sld:AnchorPointX>
<sld:AnchorPointY>
<ogc:Literal>0.5</ogc:Literal>
</sld:AnchorPointY>
</sld:AnchorPoint>
<sld:Displacement>
<sld:DisplacementX>
<ogc:Literal>0.0</ogc:Literal>
</sld:DisplacementX>
<sld:DisplacementY>
<ogc:Literal>0.0</ogc:Literal>
</sld:DisplacementY>
</sld:Displacement>
<sld:Rotation>
<ogc:Literal>0</ogc:Literal>
</sld:Rotation>
</sld:PointPlacement>
</sld:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#FF0033</sld:CssParameter>
</sld:Fill>
</sld:TextSymbolizer>
==== java
private void exportSVG(MapContent map, ReferencedEnvelope env,
OutputStream out,
Dimension canvasSize) throws ParserConfigurationException,
IOException {
if (canvasSize == null) {
canvasSize = new Dimension(500, 500); // default of 300x300
}
System.out.println("SVG start");
Document document = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
// Create an instance of org.w3c.dom.Document
document = db.getDOMImplementation().createDocument(null, "svg",
null);
// Set up the map
SVGGeneratorContext ctx =
SVGGeneratorContext.createDefault(document);
ctx.setComment("Generated by GeoTools2 with Batik SVG Generator");
SVGGraphics2D g2d = new SVGGraphics2D(ctx, false);
ctx.setEmbeddedFontsOn(false);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_OFF);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
g2d.setSVGCanvasSize(canvasSize);
StreamingRenderer renderer = new StreamingRenderer();
renderer.setMapContent(map);
HashMap rendererParams = new HashMap();
rendererParams.put(StreamingRenderer.TEXT_RENDERING_KEY,
StreamingRenderer.TEXT_RENDERING_STRING);
renderer.setRendererHints(rendererParams);
Rectangle outputArea = new Rectangle(g2d.getSVGCanvasSize());
ReferencedEnvelope dataArea = map.getMaxBounds();
renderer.paint(g2d, outputArea, dataArea);
OutputStreamWriter osw = null;
try {
osw = new OutputStreamWriter(out, "UTF-8");
g2d.stream(osw);
} finally {
if (osw != null)
osw.close();
}
}
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable
security intelligence. It gives you real-time visual feedback on key
security issues and trends. Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users