Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Geoserver管理器,添加新图层_Java_Rest_Geoserver - Fatal编程技术网

Java Geoserver管理器,添加新图层

Java Geoserver管理器,添加新图层,java,rest,geoserver,Java,Rest,Geoserver,使用以下代码使用geoserver manager api()以编程方式创建新图层时: GeoServerRESTPublisher publisher = new GeoServerRESTPublisher(RESTURL, RESTUSER, RESTPW); GSFeatureTypeEncoder featureTypeEncoder = new GSFeatureTypeEncoder(); featureTypeEncoder.setSRS("EPSG:41001"); feat

使用以下代码使用geoserver manager api()以编程方式创建新图层时:

GeoServerRESTPublisher publisher = new GeoServerRESTPublisher(RESTURL, RESTUSER, RESTPW);

GSFeatureTypeEncoder featureTypeEncoder = new GSFeatureTypeEncoder();
featureTypeEncoder.setSRS("EPSG:41001");
featureTypeEncoder.setName("view1");
featureTypeEncoder.setNativeBoundingBox(10,10,100,100, "EPSG:41001");

GSLayerEncoder layerEncoder = new GSLayerEncoder();
layerEncoder.setEnabled(true);

boolean ok = publisher.publishDBLayer(WORKSPACE, "user1", featureTypeEncoder, layerEncoder);
新图层已成功创建,但类型错误(点不是线)。在创建图层之前或之后,是否有方法将此图层类型更改为“线”

版本: 地理服务器2.3.0 博士后1.14 地理服务器管理器1.3.0

谢谢

2种方式: 必须使用图层编码器来配置默认图层:

        GSLayerEncoder layerEncoder = new GSLayerEncoder();
        layerEncoder.setEnabled(true);
        layerEncoder.setQueryable(true);
        layerEncoder.setDefaultStyle("polygon");

        boolean published = publisher.publishDBLayer(WORKSPACE, STORENAME, FTENCODER, layerEncoder);
您可以尝试在发布后配置图层:

    String layerName = ...;
    String newStyleName = ...;
    GeoServerRESTPublisher publisher = ...;

    GSLayerEncoder le = new GSLayerEncoder();
    le.setDefaultStyle(newStyleName);
    publisher.configureLayer(le, layerName);
干杯, 卡洛·坎塞里里

参考: