geotools style解析-使用图案填充polygon

填充结果

在这里插入图片描述
在这里插入图片描述

代码

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);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值