public VectorLayer(String name, String path, org.matsim.contrib.analysis.vsp.qgis.QGisConstants.geometryType geometryType){ super(name, path); this.geometryType = geometryType; this.useHeader = false; this.vectorJoins = new HashSet<VectorJoin>(); this.setType(QGisConstants.layerType.vector); if(!this.getInputType().equals(QGisConstants.inputType.xml)){ if(this.getGeometryType().equals(QGisConstants.geometryType.Line)){ this.setLayerClass(QGisConstants.layerClass.SimpleLine); } else if(this.getGeometryType().equals(QGisConstants.geometryType.Point)){ this.setLayerClass(QGisConstants.layerClass.SimpleMarker); } } }
public GraduatedSymbolRenderer(VectorLayer layer, Double lowerBound, Double upperBound, Integer range, int symbolSize, ColorRangeUtils.ColorRange colorRange) { super(QGisConstants.renderingType.graduatedSymbol, layer); this.fileHeader = layer.getHeader(); this.useHeader = fileHeader != null; this.lowerBound = lowerBound; this.upperBound = upperBound; this.range = range; this.symbolSize = symbolSize; this.colorRange = colorRange; init(); }
private void setHeader(){ File file = new File(this.getPath()); if(this.getInputType().equals(QGisConstants.inputType.csv)){ BufferedReader reader = IOUtils.getBufferedReader(this.getPath()); throw new RuntimeException("File " + this.getPath() + " cannot be found! Please check input path!");
private boolean isCsvDataLayer(VectorLayer vlayer) { return(vlayer.getInputType().equals(QGisConstants.inputType.csv) && !vlayer.getGeometryType().equals(QGisConstants.geometryType.No_geometry)); }
if(vlayer.getGeometryType().equals(QGisConstants.geometryType.No_geometry)){ out.write("\t\t<maplayer minimumScale=\"0\" maximumScale=\"1e+08\" geometry=\"" + vlayer.getGeometryType().toString().replace("_", " ") + "\" type=\"" + vlayer.getType() + "\" hasScaleBasedVisibilityFlag=\"0\">\n"); out.write("\t\t<maplayer minimumScale=\"0\" maximumScale=\"1e+08\" simplifyDrawingHints=\"1\" minLabelScale=\"0\" maxLabelScale=\"1e+08\" simplifyDrawingTol=\"1\" geometry=\"" + vlayer.getGeometryType().toString() + "\" simplifyMaxScale=\"1\" type=\"vector\" hasScaleBasedVisibilityFlag=\"0\" simplifyLocal=\"1\" scaleBasedLabelVisibilityFlag=\"0\">\n"); out.write("\t\t\t<id>" + vlayer.getId().toString() + "</id>\n"); String datasource = relP + "?type=csv&useHeader=" + vlayer.headerUsed() + "&"; if(vlayer.getDelimiter() != null){ datasource += "delimiter=" + vlayer.getDelimiter() + "&"; datasource += "quote='&escape='&skipEmptyField=Yes&xField=" + vlayer.getXField() + "&yField=" + vlayer.getYField() + "&spatialIndex=no&subsetIndex=no&watchFile=no\n"; out.write("\t\t\t<layername>" + vlayer.getName() + "</layername>\n"); out.write("\t\t\t<srs>\n"); SRS srs = vlayer.getSrs(); if(vlayer.getInputType().equals(QGisConstants.inputType.csv)&&vlayer.getRenderer() != null){ if(vlayer.getVectorJoins().isEmpty()){ for(VectorJoin vj : vlayer.getVectorJoins()){ if(vlayer.getRenderer() != null){
VectorLayer densityLayer = new VectorLayer( "density", actSpecificWorkingDirectory + "accessibilities.csv", QGisConstants.geometryType.Point, true); densityLayer.setXField(Labels.X_COORDINATE); densityLayer.setYField(Labels.Y_COORDINATE); GraduatedSymbolRenderer dRenderer = RendererFactory.createDensitiesRenderer(densityLayer, populationThreshold, symbolSize); dRenderer.setRenderingAttribute(Labels.DENSITIY); VectorLayer accessibilityLayer = new VectorLayer( "accessibility", actSpecificWorkingDirectory + "accessibilities.csv", QGisConstants.geometryType.Point, true); accessibilityLayer.setXField(Labels.X_COORDINATE); accessibilityLayer.setYField(Labels.Y_COORDINATE);
writer.setEnvelope(envelope); VectorLayer noiseLayer = new VectorLayer("noise", outputFile, QGisConstants.geometryType.Point, true); noiseLayer.setDelimiter(";"); noiseLayer.setXField("x"); noiseLayer.setYField("y");
VectorLayer accessibilityLayer = new VectorLayer( "accessibility", actSpecificWorkingDirectory + "/result.shp", QGisConstants.geometryType.Polygon, false); renderer.setRenderingAttribute(mode); accessibilityLayer.setLayerClass(QGisConstants.layerClass.SimpleFill); accessibilityLayer.setSrs("EPSG:4326"); accessibilityLayer.setLayerTransparency(50); writer.addLayer(0,accessibilityLayer);
private void writeGeometryLayer(BufferedWriter out, VectorLayer layer) throws IOException { QGisRenderer qRenderer = layer.getRenderer(); if(layer.getGeometryType().equals(QGisConstants.geometryType.Line)){ } else if(layer.getGeometryType().equals(QGisConstants.geometryType.Point)){ } else if(layer.getGeometryType().equals(QGisConstants.geometryType.Polygon)){
/** * Instantiates a renderer for drawing a simple network (e.g. links). * The specifications for the symbol layer are made in the private method {@code init()}; * * @param gType The type of geometry that is to be drawn. */ public SimpleNetworkRenderer(VectorLayer layer) { super(QGisConstants.renderingType.singleSymbol,layer); this.geometryType = layer.getGeometryType(); init(); }
writer.addLayer(mapnikLayer); VectorLayer densityLayer = new VectorLayer("density", workingDirectory + "testFiles/accessibility/accessibilities.csv", QGisConstants.geometryType.Point); densityLayer.setXField(1); densityLayer.setYField(2); GraduatedSymbolRenderer dRenderer = RendererFactory.createDensitiesRenderer(densityLayer, populationThreshold, symbolSize); dRenderer.setRenderingAttribute(8); writer.addLayer(densityLayer); VectorLayer accessibilityLayer = new VectorLayer("accessibility", workingDirectory + "testFiles/accessibility/accessibilities.csv", QGisConstants.geometryType.Point); accessibilityLayer.setXField(1); accessibilityLayer.setYField(2);
this.useHeader = useHeader; this.vectorJoins = new HashSet<VectorJoin>(); this.setType(QGisConstants.layerType.vector); if(!this.getInputType().equals(QGisConstants.inputType.xml)){ if(this.getGeometryType().equals(QGisConstants.geometryType.Line)){ this.setLayerClass(QGisConstants.layerClass.SimpleLine); } else if(this.getGeometryType().equals(QGisConstants.geometryType.Point)){ this.setLayerClass(QGisConstants.layerClass.SimpleMarker); this.setHeader();
public RuleBasedRenderer(VectorLayer layer, double lowerBound, double upperBound, int range, int symbolSize, ColorRangeUtils.ColorRange colorRange, String nameOfAccessibilityLayer, String nameOfDensityLayer, double minimumDensity) { super(QGisConstants.renderingType.RuleRenderer, layer); this.fileHeader = layer.getHeader(); this.useHeader = fileHeader != null; this.lowerBound = lowerBound; this.upperBound = upperBound; this.range = range; this.symbolSize = symbolSize; this.colorRange = colorRange; this.nameOfAccessibilityLayer = nameOfAccessibilityLayer; this.nameOfDensityLayer = nameOfDensityLayer; this.minimumDensity = minimumDensity; init(); }