Java Geoserver管理器,添加新图层
使用以下代码使用geoserver manager api()以编程方式创建新图层时: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
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);
干杯,
卡洛·坎塞里里
参考: