private void writeLayerTreeLayer(BufferedWriter out, QGisLayer layer) throws IOException{ out.write("\t\t<layer-tree-layer expanded=\"1\" checked=\"Qt::Checked\" id=\"" + layer.getId().toString() + "\" name=\"" + layer.getName() + "\">\n"); out.write("\t\t\t<customproperties/>\n"); out.write("\t\t</layer-tree-layer>\n"); }
public QGisRenderer(QGisConstants.renderingType renderingType, QGisLayer layer){ this.setRenderingType(renderingType); this.symbolLayers = new ArrayList<QGisSymbolLayer>(); layer.setRenderer(this); }
srs = layer.getSrs() != null ? layer.getSrs().getDescription() : "[project]"; log.info("name:\t\t\t\t" + layer.getName()); log.info("input type:\t\t\t" + layer.getInputType().toString()); log.info("layer type:\t\t\t" + layer.getType().toString()); if(layer.getLayerClass() != null){ log.info("layer class:\t\t\t" + layer.getLayerClass().toString()); if(layer.getRenderer() != null){ log.info("rendering type:\t\t\t" + layer.getRenderer().getRenderingType().toString()); log.info("renderer:\t\t\t\t" + layer.getRenderer().getClass().getSimpleName());
out.write("\t\t\t<id>" + rlayer.getId().toString() + "</id>\n"); String relP = Paths.get(this.writer.getWorkingDir()).relativize(Paths.get(layer.getPath())).toString(); out.write("\t\t\t<layername>" + layer.getName() + "</layername>\n"); SRS srs = layer.getSrs(); out.write("\t\t\t<pipe>\n"); QGisRasterRenderer renderer = (QGisRasterRenderer)layer.getRenderer();
private void writeLineLayer(BufferedWriter out, QGisLayer layer, int idx) throws IOException { QGisLineSymbolLayer lsl = (QGisLineSymbolLayer)layer.getRenderer().getSymbolLayers().get(0); out.write("\t\t\t\t\t\t<layer pass=\"0\" class=\"" + layer.getLayerClass().toString() + "\" locked=\"0\">\n");
private void writeItem(BufferedWriter out, QGisLayer layer) throws IOException{ out.write("\t\t\t<item>" + layer.getId().toString() + "</item>\n"); }
private void writeMapLayer(BufferedWriter out, QGisLayer layer) throws IOException{ if(layer.getType().equals(QGisConstants.layerType.vector)){ writeVectorLayer(out, layer); } else if(layer.getType().equals(QGisConstants.layerType.raster)){ writeRasterLayer(out, layer); } else { throw new RuntimeException("Cannot write map layer. Unknown format."); } out.write("\t\t</maplayer>\n"); }
String relP = Paths.get(this.writer.getWorkingDir()).relativize(Paths.get(layer.getPath())).toString();
private void writePolygonLayer(BufferedWriter out, QGisLayer layer, int idx) throws IOException { QGisPolygonSymbolLayer psl = (QGisPolygonSymbolLayer)layer.getRenderer().getSymbolLayers().get(idx); String color = Integer.toString(psl.getColor().getRed()) + "," + Integer.toString(psl.getColor().getGreen()) + "," + Integer.toString(psl.getColor().getBlue()) + "," + Integer.toString(psl.getColor().getAlpha()); String outlineColor = Integer.toString(psl.getOutlineColor().getRed()) + "," + Integer.toString(psl.getOutlineColor().getGreen()) + "," + Integer.toString(psl.getOutlineColor().getBlue()) + "," + Integer.toString(psl.getOutlineColor().getAlpha()); String offset = Double.toString(psl.getOffset()[0]) + "," + Double.toString(psl.getOffset()[1]); String offsetMapUnitScale = Double.toString(psl.getOffsetMapUnitScale()[0]) + "," + Double.toString(psl.getOffsetMapUnitScale()[1]); out.write("\t\t\t\t\t<symbol alpha=\"" + psl.getLayerTransparency() + "\" type=\"" + psl.getSymbolType().toString().toLowerCase() + "\" name=\"" + idx + "\">\n"); out.write("\t\t\t\t\t\t<layer pass=\"0\" class=\"" + layer.getLayerClass().toString() + "\" locked=\"0\">\n"); out.write("\t\t\t\t\t\t\t<prop k=\"border_width_map_unit_scale\" v=\"0,0,0,0,0,0\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"color\" v=\"" + color + "\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"joinstyle\" v=\"bevel\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"offset\" v=\"" + offset + "\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"offset_map_unit_scale\" v=\"" + offsetMapUnitScale + "\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"offset_unit\" v=\"" + psl.getSizeUnits().toString() + "\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"outline_color\" v=\"" + outlineColor + "\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"outline_style\" v=\"" + psl.getPenStyleBorder().toString() + "\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"outline_width\" v=\"" + psl.getOutlineWidth() + "\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"outline_width_unit\" v=\"" + psl.getSizeUnits().toString() + "\"/>\n"); out.write("\t\t\t\t\t\t\t<prop k=\"style\" v=\"" + psl.getPenStyle().toString() + "\"/>\n"); out.write("\t\t\t\t\t\t</layer>\n"); out.write("\t\t\t\t\t</symbol>\n"); }
private void writePointLayer(BufferedWriter out, QGisLayer layer, int idx) throws IOException { QGisPointSymbolLayer psl = (QGisPointSymbolLayer)layer.getRenderer().getSymbolLayers().get(idx); out.write("\t\t\t\t\t\t<layer pass=\"0\" class=\"" + layer.getLayerClass().toString() + "\" locked=\"0\">\n");
/** * Creates a vector join between a geometry layer (e.g. points) and a data layer (e.g. accessibility data, immissions,...). * This method must be called by the geometry layer because the vector joins are stored there. * You need to specify the name of the data layer and the field names of the geometry and the data layer so * QGis can merge objects with same field contents (e.g. same Id). The field names of the layers don't have to be equal. * * @param layer the layer that contains the data (not the geometry) * @param joinFieldName attribute name of the data layer * @param targetFieldName attribute name of the geometry layer * @param zField */ public void addVectorJoin(QGisLayer layer, String joinFieldName, String targetFieldName, String zField){ this.vectorJoins.add(new VectorJoin(layer.getId(), joinFieldName, targetFieldName)); this.header += this.delimiter + layer.getName() + "_" + zField; }