public GetFeature ( string datasetNames, Geometry geometry, SpatialQueryMode spatialQueryMode, string fields ) : List |
||
datasetNames | string | 数据集名称数组(datasourceName:datasetName),如 World:Capitals,必选参数。 |
geometry | Geometry | 几何对象。 |
spatialQueryMode | SpatialQueryMode | 空间查询模式。 |
fields | string | 待返回的字段数组。当该参数为 null 时,返回全部字段。 |
return | List |
public void GetFeatureTest_BOUNDS_ATTRIBUTEFILTER() { Data data = new Data("http://" + ip + ":8090/iserver/services/data-world/rest"); string[] datasetNames = { "World:Capitals", "World:Ocean" }; Rectangle2D bound = new Rectangle2D(new Point2D(-45, -45), new Point2D(45, 45)); string[] fields = { "smid", "CAP_POP" }; List<Feature> result = data.GetFeature(datasetNames, bound, "smid<60", fields); Assert.IsNotNull(result); Assert.AreEqual(result.Count, 32); Assert.AreEqual(result[0].FieldValues.Length, 2); Assert.AreEqual(result[0].FieldNames.Length, 2); Assert.AreEqual(result[10].FieldNames.Length, 2); Assert.AreEqual(result[31].Id, 56); }
public void GetFeatureTest_SPATIAL_ATTRIBUTEFILTER() { Data data = new Data("http://" + ip + ":8090/iserver/services/data-world/rest"); string[] datasetNames = { "World:Capitals", "World:Ocean" }; Geometry geometry = new Geometry(); geometry.Parts = new int[1] { 5 }; geometry.Points = new Point2D[5]; geometry.Points[0] = new Point2D(-45, -90); geometry.Points[1] = new Point2D(-45, 90); geometry.Points[2] = new Point2D(45, 90); geometry.Points[3] = new Point2D(45, -90); geometry.Points[4] = new Point2D(-45, -90); string[] fields = { "smid", "CAP_POP" }; List<Feature> result = data.GetFeature(datasetNames, geometry, SpatialQueryMode.CONTAIN, "smid<10", fields); Assert.IsNotNull(result); Assert.AreEqual(result.Count, 11); Assert.AreEqual(result[0].FieldValues.Length, 2); Assert.AreEqual(result[0].FieldNames.Length, 2); Assert.AreEqual(result[10].FieldNames.Length, 1); Assert.AreEqual(result[10].Id, 7); }
public void GetFeatureTest_ID() { Data data = new Data("http://" + ip + ":8090/iserver/services/data-world/rest"); string[] datasetNames = { "World:Capitals", "World:Ocean" }; int[] ids = { 1, 2, 3, 5, 7 }; string[] fields = { "smid", "CAP_POP" }; List<Feature> result = data.GetFeature(datasetNames, ids, fields); Assert.IsNotNull(result); Assert.AreEqual(result.Count, 10); Assert.AreEqual(result[0].FieldNames.Length, 2); Assert.AreEqual(result[0].FieldNames[0], "smid"); Assert.AreEqual(result[0].FieldNames[1], "CAP_POP"); Assert.AreEqual(result[0].FieldValues[0], "1"); Assert.AreEqual(result[0].FieldValues[1], "582000.0"); Assert.AreEqual(result[9].FieldNames.Length, 1); Assert.AreEqual(result[9].FieldNames[0], "smid"); //Assert.AreEqual(result[9].FieldNames[1], null); //Assert.AreEqual(result[9].FieldValues[0], "7"); //Assert.AreEqual(result[9].FieldValues[1], null); //Assert.AreEqual(result[9].Id, 7); }
public void GetFeatureTest_Buffer() { Data data = new Data("http://" + ip + ":8090/iserver/services/data-world/rest"); string[] datasetNames = { "World:Capitals", "World:Ocean" }; Geometry geometry = new Geometry(); geometry.Parts = new int[1] { 5 }; geometry.Points = new Point2D[5]; geometry.Points[0] = new Point2D(-45, -90); geometry.Points[1] = new Point2D(-45, 90); geometry.Points[2] = new Point2D(45, 90); geometry.Points[3] = new Point2D(45, -90); geometry.Points[4] = new Point2D(-45, -90); double bufferDistance = 0.1; string[] fields = { "smid", "CAP_POP" }; List<Feature> result = data.GetFeature(datasetNames, geometry, bufferDistance, fields); Assert.IsNotNull(result); Assert.AreEqual(result.Count, 118); Assert.AreEqual(result[0].FieldNames.Length, 2); Assert.AreEqual(result[0].FieldNames[0], "smid"); Assert.AreEqual(result[0].FieldNames[1], "CAP_POP"); Assert.AreEqual(result[0].FieldValues[0], "1"); Assert.AreEqual(result[0].FieldValues[1], "582000.0"); Assert.AreEqual(result[0].Geometry.Id, 1); Assert.AreEqual(result[0].Id, 1); Assert.AreEqual(result[117].FieldNames.Length, 1); Assert.AreEqual(result[117].FieldNames[0], "smid"); //Assert.AreEqual(result[117].FieldNames[1], null); //Assert.AreEqual(result[117].FieldValues[0], "68"); //Assert.AreEqual(result[117].FieldValues[1], null); }
public void GetFeatureTest_SqlByMaxFeatures() { Data data = new Data("http://" + ip + ":8090/iserver/services/data-world/rest"); string[] datasetNames = { "World:Capitals", "World:Ocean" }; List<Feature> result = data.GetFeature(datasetNames, null, 1); Assert.IsNotNull(result); Assert.AreEqual(result.Count, 2); Assert.AreEqual(result[0].FieldValues.Length, 9); Assert.AreEqual(result[0].FieldValues[6], "维尔纽斯"); Assert.AreEqual(result[1].FieldValues.Length, 10); Assert.AreEqual(result[1].FieldValues[7], "120.0"); }
public void GetFeatureTestSQL() { Data data = new Data("http://" + ip + ":8090/iserver/services/data-world/rest"); string[] datasetNames = { "World:Capitals", "World:Ocean" }; List<Feature> result = data.GetFeature(datasetNames, new QueryParameter()); Assert.IsNotNull(result); Assert.AreEqual(result.Count, 235); Assert.AreEqual(result[0].FieldNames.Length, 9); Assert.AreEqual(result[0].FieldValues[6], "维尔纽斯"); Assert.AreEqual(result[234].FieldNames.Length, 10); Assert.AreEqual(result[234].FieldValues[8], "1944"); Assert.AreEqual(result[234].Id, 72); Assert.AreEqual(result[234].Geometry.Id, 72); }