首页 / 浏览问题 / 桌面GIS / 问题详情
没有SMSDRIW、SMSDRIN、SMSDRIE、SMSDRIS这四个属性
55EXP 2024年05月15日

无论是平面坐标系还是球面坐标系,从revit中导出的所有数据集的属性表中都没有SMSDRIW、SMSDRIN、SMSDRIE、SMSDRIS这几个属性。发布之后在数据服务的featureResults中随便查找一个数据集,得到要素资源,里面也没有这些属性。这些属性不应该是系统属性吗,就和SMID一样。

请问,1,是否有方式可以添加这些属性。2,不行的话,有没有其他方式可以根据smid获取到位置信息

然后还有个问题:官网上有一个webGL通过访问数据服务的featureResults,可以获取到geometry的方式,我按上面的方式请求了服务,但是报错500,请问是否是有什么限制吗?

参数是没什么问题的,在数据服务上,我用这些参数点击createfeature是通过了的(参数有问题会报错),但是得到的结果没有geometry。

1个回答

您好,1、这些属性在udbx数据源中是统一存放到smgeometry字段中的,您可以通过属性表选项卡中的【计算几何属性】或者工具箱中的【计算几何属性】来计算中心点坐标、质点坐标或者范围坐标,其中范围坐标的字段名虽然和 SMSDRIW、SMSDRIN、SMSDRIE、SMSDRIS这几个属性 名称不一致,但是值是一样的

2、查询的数据集类型为模型数据集,模型数据集比较复杂,返回geometry的话返回结果会很大,容易出问题,一般是不查geometry的。您设置查询时"hasGeometry":false,看看是否是查询正常。

希望可以帮助您
1,345EXP 2024年05月16日
第二种的话,因为我是需要位置信息,所以这个geometry是一定要拿的

第一种方式是可以获取到X,Y坐标,但是没有高度信息,请问有没有方式获取到高度信息
1、高度信息的可以使用模型工具中的属性提取提取模型的顶部高程和底部高程

2、获取geometry这个问题我需要确认下
1,我试过了设置"hasGeometry":false,查询正常,但data字段中的feature为null,参数【数据源:数据集】是没问题的,在直接访问iserver数据服务,使用这个参数可以获取feature。

2,”计算几何属性“是数据集的功能,需要先打开数据集才能使用,数据集过多的话,过程会很繁琐,想问下有没有批量处理功能

3,模型是在平面坐标系中的,我尝试了“计算几何属性"的时候选球面坐标系,得到的并不是经纬度信息。想问下平面坐标系的模型在“计算几何属性”的时候坐标系只能选平面坐标系。平面坐标系的坐标能直接用flyto定位吗,还是说需要先转为球面坐标的经纬度才能flyto。

希望能帮忙解答下。
1、您的代码是怎么写的呢?我这边测试是可以获取到geometry的值的,麻烦提供下详细代码

2、批量可以再idesktopx中构建自动化处理模型,迭代数据集进行修改

3、你需要确定您的模型数据是地理坐标系还是投影坐标系,地理坐标系下计算的结果才是经纬度

那有没有坐标转换的示例呢,就是平面坐标的点转为经纬度坐标。

官方api文档是在http://support.supermap.com.cn:8090/webgl/docs/Documentation/index.html这个网址的吗,这个没有大纲,找起来太麻烦了,基本都不会在这里找

请求代码就是题目里截图的内容,写在

layer.setQueryParameter({
  url: `http://10.11.229.48:8090/iserver/services/data-Model/rest/data`,
  dataSourceName: "RVT",
  isMerge: true,
});
this.dataInfo(layer);
的后面(ip就是本地ip)。

另外,直接访问数据服务,点击geometry会有出错,是不是这个原因。

您的数据服务有可能异常了,您重新发布一个数据服务在iserver中查询看看是否正常
重新发布了几次,也试过平面坐标系换成球面坐标系,换个数据集,都是这个提示。不过位置信息有其他方式获取,这个倒是不怎么需要了。

非常感谢!!!
...