填充结果
代码
public class MyStyle3 {
static StyleFactory styleFactory = CommonFactoryFinder.getStyleFactory();
static FilterFactory filterFactory = CommonFactoryFinder.getFilterFactory();
public static StyleBuilder sb = new StyleBuilder(styleFactory, filterFactory);
public static void main(String[] args) throws Exception {
MyStyle3 myStyle1 = new MyStyle3();
myStyle1.displayShapefile();
}
private void displayShapefile() throws Exception {
File file = new File("C:\\Users\\ww\\Desktop\\全域\\clipPolygon.shp");
FileDataStore store = FileDataStoreFinder.getDataStore(file);
FeatureSource featureSource = store.getFeatureSource();
// 创建map对象并添加shp
MapContent map = new MapContent();
map.setTitle("Style");
Style style = createGraphicFillStyle();
FeatureLayer layer = new FeatureLayer(featureSource, style);
map.addLayer(layer);
JMapFrame.showMap(map);
}
/**
* 使用图案填充
* @return
*/
private Style createGraphicFillStyle() {
//Graphic graphic = sb.createGraphic(null, sb.createMark("square"), null);
Mark mark = sb.createMark("x");
mark.setFill(sb.createFill(Color.YELLOW, 0.5));
Graphic graphic = sb.createGraphic(null, mark, null);
graphic.setSize(filterFactory.literal(8));
Stroke stroke = sb.createStroke();
stroke.setColor(filterFactory.literal(Color.BLUE));
Fill fill = sb.createFill(null, null, 0.5, graphic);
PolygonSymbolizer polygonSymbolizer = sb.createPolygonSymbolizer(stroke, fill);
return sb.createStyle(polygonSymbolizer);
}
}