首页 / 浏览问题 / WebGIS / 问题详情
getFeaturesByBounds查询出的要素和数据服务的对不上
4EXP 2023年06月08日
我用featureService.getFeaturesByBounds查询出的要素和数据服务的对不上,同一个id的要素,查出来是点,但明明在数据服务是个线

代码:

  var featureService = new L.supermap.FeatureService(DataUrl);

  var boundsParams = new L.supermap.GetFeaturesByBoundsParameters({

    bounds: map.value.getBounds(),

    datasetNames: ['weiningnewdata:WNYS_Network'],

    returnContent: true,

    // attributeFilter: "SMID = 234",

    targetEpsgCode:'4490'

  })

  featureService.getFeaturesByBounds(boundsParams, (serviceResult) => {

    console.log(" ~ featureService.getFeaturesByBounds ~ serviceResult:", serviceResult)

    if (!serviceResult.result) { return }

    var features = serviceResult.result.features.features

1个回答

您好,看您的数据集名称,您这个应该是一个网络数据集,网络数据集由弧段数据集和结点数据集组成,

网络数据既不是线数据集也不是点数据集。

如果您想精准的只查询弧段或者只查询结点,建议在iDesktop桌面端,将这个网络数据集转为点数据集和线数据集,

然后在发布数据服务,查询时具体指定您想要查的线或者点数据集。

iDesktop/iDesktopX:数据——类型转换——网络>线  /网络>点

希望可以帮助到您。
10,588EXP 2023年06月08日
这个数据名称不代表网络数据集,它里面只有有点和线
除非是cad数据集和网络数据集,

不然线数据集里只能有线对象,点数据集里只会有点对象,数据集类型是严格的,内部只能存数据类型的对象。
...