138 lines
6.1 KiB
Java
138 lines
6.1 KiB
Java
/**
|
|
*
|
|
*/
|
|
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<String> propertyName = new ArrayList<String>();
|
|
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<FeatureRow> 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<String>();
|
|
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();
|
|
}
|
|
|
|
}
|
|
}
|