首页 / 浏览问题 / 组件GIS / 问题详情
iobject c++获取坡度
56EXP 2023年09月12日
UGPoint2D P2D;
transBLtoGeOGraphic(32.3435,105.7396,P2D);
UGSurfaceCalculationAnalyst sad;
UGdouble dZFactor= sad.ComputePointSlope(pSlope,P2D,UGSurfaceCalculationAnalyst::Degree,1);

transBLtoGeOGraphic(30.8296,104.0831,P2D);
dZFactor= sad.ComputePointSlope(pSlope,P2D,UGSurfaceCalculationAnalyst::Degree,1);

transBLtoGeOGraphic(32.2242,103.9095,P2D);
dZFactor= sad.ComputePointSlope(pSlope,P2D,UGSurfaceCalculationAnalyst::Degree,1);

每个点获取到的坡度(dZFactor)值都为89.98357,请问一下是什么原因,在桌面端看pSlope数据集的坡度值是0~90范围内,

1个回答

建议在桌面端查询您代码中计算的3个点,看看在桌面端这3个点的坡度是多少,若方便的话可以将桌面端的查询结果截图附上

希望可以帮到您。
2,253EXP 2023年09月12日
我测试了不止这三个点,我在整个数据集按照这三个点构造一个栅格区域,按照30m的距离确定一个点去获取坡度值,但是获取的值都是89点几的值,截图的图片不知道怎么上传,

我是先在桌面端将高程数据进行坡度分析后,产生新的一个栅格数据集SlopeResult,我能看到该数据集每个颜色代表的栅格值(范围为0~89.4566),不知道怎么在桌面端查看指定点的坡度,如果是看颜色不太好区分

您好,我在本地对 UGSurfaceCalculationAnalyst 的 ComputePointSlope 接口进行测试,在 iObjects C++ 10.2.1 版本是正常的,如下图所示:

  • 桌面端查询结果

iObjects C++ 计算结果

若您本地使用 iObjects C++ 10.2.1 版本依然无法返回正确结果,建议检查您传入的点是否正确。若最终依然无法成功,建议可以准备一个简单复现问题的Demo和数据,私信我您的联系方式并发给我本地调试分析异常原因。

...