/** * */ package org.gcube.spatial.data.geoutility; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import org.gcube.spatial.data.geoutility.shared.wfs.FeatureRow; import org.gcube.spatial.data.geoutility.shared.wfs.WFSParameter; import org.gcube.spatial.data.geoutility.wfs.FeatureParser; import org.gcube.spatial.data.geoutility.wfs.WFSQueryBuilder; import org.gcube.spatial.data.geoutility.wms.WmsUrlValidator; import org.junit.Test; /** * The Class GeoJUnitTest. * * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it Jan 22, 2016 */ public class GeoJUnitTest { /** * Test get styles. */ //@Test public void testGetStyles() { // String wmsRequest = "http://repoigg.services.iit.cnr.it:8080/geoserver/IGG/ows?service=wms&version=1.1.0&request=GetMap&layers==IGG:area_temp_1000&width=676&height=330&srs=EPSG:4326&crs=EPSG:4326&format=application/openlayers&bbox=-85.5,-180.0,90.0,180.0"; // String wmsRequest = "http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc?service=wms&version=1.3.0&request=GetMap&layers=analyzed_field&styles=&width=640&height=480&srs=EPSG:4326&CRS=EPSG:4326&format=image/png&COLORSCALERANGE=auto&bbox=-85.0,-180.0,85.0,180.0"; // String wmsRequest = "http://www.fao.org/figis/geoserver/species?SERVICE=WMS&BBOX=-176.0,-90.0,180.0,90&styles=&layers=layerName&FORMAT=image/gif"; String wmsRequest = "http://geoserver-dev.d4science-ii.research-infrastructures.eu/geoserver/wms?CRS=EPSG:4326&BBOX=-85.5,-180.0,90.0,180.0&VERSION=1.1.0&FORMAT=application/openlayers&SERVICE=wms&HEIGHT=330&LAYERS=aquamaps:lsoleasolea20130716162322254cest&REQUEST=GetMap&STYLES=Species_prob&SRS=EPSG:4326&WIDTH=676"; GeoNcWMSMetadataUtility geo; try { geo = new GeoNcWMSMetadataUtility(wmsRequest); System.out.println("Returned styles: " + geo.loadStyles()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * Test get styles. */ // @Test public void testLoadZAxis() { // String wmsRequest = "http://repoigg.services.iit.cnr.it:8080/geoserver/IGG/ows?service=wms&version=1.1.0&request=GetMap&layers==IGG:area_temp_1000&width=676&height=330&srs=EPSG:4326&crs=EPSG:4326&format=application/openlayers&bbox=-85.5,-180.0,90.0,180.0"; String wmsRequest = "http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc?service=wms&version=1.3.0&request=GetMap&layers=analyzed_field&styles=&width=640&height=480&srs=EPSG:4326&CRS=EPSG:4326&format=image/png&COLORSCALERANGE=auto&bbox=-85.0,-180.0,85.0,180.0"; // String wmsRequest = "http://www.fao.org/figis/geoserver/species?SERVICE=WMS&BBOX=-176.0,-90.0,180.0,90&styles=&layers=layerName&FORMAT=image/gif"; GeoNcWMSMetadataUtility geo; try { geo = new GeoNcWMSMetadataUtility(wmsRequest); System.out.println("Returned Z-Axis: " + geo.loadZAxis()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * Test wms url validator. */ // @Test public void testWMSUrlValidator() { String wmsRequest = "http://geoserver-dev.d4science-ii.research-infrastructures.eu/geoserver/wms?CRS=EPSG:4326&BBOX=-85.5,-180.0,90.0,180.0&VERSION=1.1.0&FORMAT=application/openlayers&SERVICE=wms&HEIGHT=330&LAYERS=aquamaps:lsoleasolea20130716162322254cest&REQUEST=GetMap&STYLES=Species_prob&SRS=EPSG:4326&WIDTH=676"; // String wmsRequest = "http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc?service=wms&version=1.3.0&request=GetMap&layers=analyzed_field&styles=&width=640&height=480&srs=EPSG:4326&CRS=EPSG:4326&format=image/png&COLORSCALERANGE=auto&bbox=-85.0,-180.0,85.0,180.0"; WmsUrlValidator wms; try { wms = new WmsUrlValidator(wmsRequest); System.out.println("Returned wms: " + wms.toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } //@Test public void testWFSRequest() { String wfsEndPoint = "https://geoserver1.dev.d4science.org/geoserver/devvre/wfs"; try { //REGIONI String layerName = "devvre:Reg01012021_g_WGS84"; List propertyName = new ArrayList(); propertyName.add("devvre:COD_REG"); propertyName.add("devvre:DEN_REG"); //Querying list of Regioni WFSQueryBuilder queryBuilder = new WFSQueryBuilder(); queryBuilder.addParameter(WFSParameter.SERVICE, WFSParameter.SERVICE.getValue()); queryBuilder.addParameter(WFSParameter.VERSION, "2.0.0"); queryBuilder.addParameter(WFSParameter.REQUEST, "GetFeature"); queryBuilder.addParameter(WFSParameter.TYPENAME, layerName); queryBuilder.addParameter(WFSParameter.OUTPUTFORMAT, WFSParameter.OUTPUTFORMAT.getValue()); queryBuilder.addParameter(WFSParameter.PROPERTYNAME, propertyName, ","); FeatureParser fp = new FeatureParser(); List rows = fp.getWFSFeatures(wfsEndPoint, queryBuilder); System.out.println("Regioni: "); for (FeatureRow featureRow : rows) { System.out.println(featureRow); } //PROVINCE layerName = "devvre:ProvCM01012021_g_WGS84"; propertyName = new ArrayList(); propertyName.add("devvre:COD_REG"); propertyName.add("devvre:COD_PROV"); propertyName.add("devvre:DEN_PROV"); propertyName.add("devvre:DEN_CM"); //รจ pieno per i capoluoghi di provincia queryBuilder = new WFSQueryBuilder(); queryBuilder.addParameter(WFSParameter.SERVICE, WFSParameter.SERVICE.getValue()); queryBuilder.addParameter(WFSParameter.VERSION, "2.0.0"); queryBuilder.addParameter(WFSParameter.REQUEST, "GetFeature"); queryBuilder.addParameter(WFSParameter.TYPENAME, layerName); queryBuilder.addParameter(WFSParameter.OUTPUTFORMAT, WFSParameter.OUTPUTFORMAT.getValue()); queryBuilder.addParameter(WFSParameter.PROPERTYNAME, propertyName, ","); queryBuilder.addParameter(WFSParameter.CQL_FILTER, URLEncoder.encode("devvre:COD_REG=9", "UTF-8")); fp = new FeatureParser(); rows = fp.getWFSFeatures(wfsEndPoint, queryBuilder); System.out.println("PROVINCE: "); for (FeatureRow featureRow : rows) { System.out.println(featureRow); } System.out.println(queryBuilder.getQuery()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }