2013-03-22 24 views
2

在使用下面的代碼編程創建與GeoServer的-管理器API(http://code.google.com/p/geoserver-manager/wiki/Documentation)新建一個圖層:利用Geoserver經理,加入了新的層

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

新圖層創建成功,但它是錯誤的類型(點不行)。有沒有在創建圖層之前或之後更改此圖層類型(線條)的方法?

版本: 利用Geoserver 2.3.0 Postgres的1.14 利用Geoserver經理1.3.0

謝謝!

回答

1

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

乾杯, 卡羅Cancellieri

Ref:

相關問題