geotools操做WFS service

研究了好久,利用WFSClient來調用WFS服務進行增刪改查,先上段代碼,其餘後續補全吧。json

//自定義xml的格式來實現ide

Map connectionParameters = Maps.newHashMap();post

//connectionParameters.put("WFSDataStoreFactory:GET_CAPABILITIES_URL",)測試

HTTPClient httpClient =new SimpleHttpClient();ui

httpClient.setConnectTimeout(10);url

httpClient.setTryGzip(true);spa

WFSConfig wfsConfig =new WFSConfig();code

String url =orm

geoServerConfig.getUrl() +"/ows?service=wfs&version=1.0.0&request=GetCapabilities";xml

WFSClient wfsClient =new WFSClient(new URL(url), httpClient, wfsConfig);

TransactionRequest transactionRequest = wfsClient.createTransaction();

//transactionRequest.setOutputFormat("json");

QName typeName =new QName("http://www.xxxx.xxx", "postgis_rd");

transactionRequest.setTypeName(typeName);

Insert insert = transactionRequest.createInsert(typeName);

GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory(null);

LineString lineString = geometryFactory

.createLineString(new Coordinate[]{new Coordinate(0, 0), new Coordinate(1, 1)});

SimpleFeatureTypeBuilder typeBuilder =new SimpleFeatureTypeBuilder();

typeBuilder.setName("postgis_rd");

typeBuilder.setNamespaceURI("http://wwww.gis.hezhang.yunlizhihui.com/ylgis");

typeBuilder.setSRS("EPSG:4326");

typeBuilder.setCRS(CRS.decode("EPSG:4326"));

typeBuilder.add("name", String.class);

typeBuilder.add("line", LineString.class, CRS.decode("EPSG:4326"));

SimpleFeatureType simpleFeatureType = typeBuilder.buildFeatureType();

SimpleFeatureBuilder simpleFeatureBuilder =new SimpleFeatureBuilder(simpleFeatureType);

simpleFeatureBuilder.set("name", "測試");

simpleFeatureBuilder.set("line", lineString);

SimpleFeature feature = simpleFeatureBuilder.buildFeature(null);

insert.add(feature);

transactionRequest.add(insert);

TransactionResponse transactionResponse = wfsClient.issueTransaction(transactionRequest);

List fids = transactionResponse.getInsertedFids();

相關文章
相關標籤/搜索