use of org.geotools.data.wfs.WFSDataStore in project polymap4-core by Polymap4.
the class WfsServiceResolver method createParams.
@Override
public Map<String, String> createParams(Object service) {
assert service instanceof WFSDataStore : "Service has to be an instanceof WFSDataStore.";
WFSDataStore ds = (WFSDataStore) service;
Map<String, String> result = new HashMap();
result.put(CONNECTION_PARAM_TYPE, CONNECTION_TYPE);
result.put(CONNECTION_PARAM_URL, ds.getInfo().getSource().toString());
return result;
}
use of org.geotools.data.wfs.WFSDataStore in project coastal-hazards by USGS-CIDA.
the class FeatureCollectionExportTest method testWriteSolo.
@Test
@Ignore
public void testWriteSolo() throws Exception {
WFSDataStoreFactory datastore = new WFSDataStoreFactory();
Map params = new HashMap<>();
params.put(WFSDataStoreFactory.URL.key, new URL("http://coastalmap.marine.usgs.gov/cmgp/National/cvi_WFS/MapServer/WFSServer?service=WFS&request=GetCapabilities&version=1.0.0"));
params.put(WFSDataStoreFactory.WFS_STRATEGY.key, "arcgis");
params.put(WFSDataStoreFactory.TIMEOUT.key, 15000);
params.put(WFSDataStoreFactory.TRY_GZIP.key, "true");
WFSDataStore wfs = datastore.createDataStore(params);
String[] typeNames = wfs.getTypeNames();
SimpleFeatureSource featureSource = wfs.getFeatureSource(typeNames[2]);
SimpleFeatureType schema = featureSource.getSchema();
FileDataStoreFactorySpi factory = FileDataStoreFinder.getDataStoreFactory("shp");
Map datastoreConfig = new HashMap<>();
datastoreConfig.put("url", FileUtils.getFile(FileUtils.getTempDirectory(), "test3.shp").toURI().toURL());
ShapefileDataStore shpfileDataStore = (ShapefileDataStore) factory.createNewDataStore(datastoreConfig);
shpfileDataStore.createSchema(schema);
shpfileDataStore.forceSchemaCRS(DefaultGeographicCRS.WGS84);
SimpleFeatureStore featureStore = (SimpleFeatureStore) shpfileDataStore.getFeatureSource();
Transaction t = new DefaultTransaction();
// Copied directly from Import process
featureStore.setTransaction(t);
Query query = new Query();
query.setCoordinateSystem(DefaultGeographicCRS.WGS84);
SimpleFeatureIterator fi = featureSource.getFeatures(query).features();
SimpleFeatureBuilder fb = new SimpleFeatureBuilder(schema);
while (fi.hasNext()) {
SimpleFeature source = fi.next();
fb.reset();
for (AttributeDescriptor desc : schema.getAttributeDescriptors()) {
fb.set(desc.getName(), source.getAttribute(desc.getName()));
}
SimpleFeature target = fb.buildFeature(null);
target.setDefaultGeometry(source.getDefaultGeometry());
featureStore.addFeatures(DataUtilities.collection(target));
}
t.commit();
t.close();
}
use of org.geotools.data.wfs.WFSDataStore in project coastal-hazards by USGS-CIDA.
the class WFSIntrospector method getBbox.
public static Bbox getBbox(WFSService service) throws IOException {
WFSDataStore wfs = createDs(service);
ReferencedEnvelope env = wfs.getFeatureTypeWGS84Bounds(service.getTypeName());
Bbox bbox = new Bbox();
bbox.setBbox(env.getMinX(), env.getMinY(), env.getMaxX(), env.getMaxY());
return bbox;
}
use of org.geotools.data.wfs.WFSDataStore in project coastal-hazards by USGS-CIDA.
the class WFSIntrospector method getAttrs.
public static List<String> getAttrs(WFSService service) throws IOException {
List<String> attrs = new LinkedList<>();
WFSDataStore wfs = createDs(service);
SimpleFeatureType schema = wfs.getSchema(service.getTypeName());
List<AttributeDescriptor> attributeDescriptors = schema.getAttributeDescriptors();
for (AttributeDescriptor desc : attributeDescriptors) {
String localName = desc.getLocalName();
attrs.add(localName);
}
return attrs;
}
Aggregations