package com.smartdot.cgt.util; import com.esri.core.geometry.Envelope; import com.esri.core.geometry.Geometry; import com.esri.core.geometry.SpatialReference; import com.esri.core.map.FeatureSet; import com.esri.core.tasks.SpatialRelationship; import com.esri.core.tasks.ags.identify.IdentifyParameters; import com.esri.core.tasks.ags.identify.IdentifyResult; import com.esri.core.tasks.ags.identify.IdentifyTask; import com.esri.core.tasks.ags.query.Query; import com.esri.core.tasks.ags.query.QueryTask; public class MapUtil { // public static FeatureSet executeQueryBySql(String queryUrl, String whereCause, Boolean returnGeometry, // String[] outFields, SpatialReference outSpatialReference) throws Exception { // FeatureSet result = null; // // Query query = new Query(); // query.setReturnGeometry(returnGeometry); // query.setWhere(whereCause); // query.setOutSpatialReference(outSpatialReference); // if (outFields != null && outFields.length > 0) { // query.setOutFields(outFields); // } // // QueryTask queryTask = new QueryTask(queryUrl); // result = queryTask.execute(query); // // return result; // } public static FeatureSet executeQueryByGeometry(String queryUrl, Geometry geometry, String whereCause, Boolean returnGeometry, String[] outFields, SpatialRelationship spatialRelationship, SpatialReference outSpatialReference) throws Exception { FeatureSet result = null; Query query = new Query(); query.setGeometry(geometry); query.setReturnGeometry(returnGeometry); query.setWhere(whereCause); query.setOutSpatialReference(outSpatialReference); query.setSpatialRelationship(spatialRelationship); if (outFields != null && outFields.length > 0) { query.setOutFields(outFields); } QueryTask queryTask = new QueryTask(queryUrl); result = queryTask.execute(query); return result; } public static IdentifyResult[] identify(String layerServiceUrl, int[] layerIds, Geometry geometry, Boolean returnGeometry, Number tolerance, Envelope mapExtent, int mapWidth, int mapHeight, int dpi, SpatialReference outSpatialReference) throws Exception { IdentifyParameters identifyParameters = new IdentifyParameters(geometry, mapExtent, outSpatialReference, layerIds, mapWidth, mapHeight, dpi, returnGeometry); identifyParameters.setLayerMode(IdentifyParameters.ALL_LAYERS); IdentifyTask identifyTask = new IdentifyTask(layerServiceUrl); IdentifyResult[] result = identifyTask.execute(identifyParameters); return result; } }